AWS DynamoDB调用ListTables报AccessDeniedException权限错误求助
问题排查方案
以下是按优先级排序的排查项:
- 资源配置错误(最高概率):
dynamodb:ListTables是账户级别的操作,不属于单表/表前缀级别的操作,你当前权限配置里的资源限定为arn:aws:dynamodb:ap-southeast-1:<account_number>:table/*不符合该操作的资源要求,需要把资源调整为*或者arn:aws:dynamodb:ap-southeast-1:<account_number>:*才能生效。 - 检查配置是否实际部署生效:直接登录AWS IAM控制台,找到报错日志里对应的角色
abc-ap-southeast-1-lambdaRole,核对角色附加的权限策略中是否确实包含你修改后的ListTables配置,避免配置修改后未部署、部署过程报错导致角色未更新的问题。 - 检查权限边界限制:如果你的AWS账号环境配置了IAM权限边界,就算角色本身附加了对应权限,权限边界未放开
dynamodb:ListTables操作的话也会触发权限拒绝,需要同步调整权限边界配置。 - 检查组织级策略限制:如果你使用的是AWS组织下的子账号,需要确认是否有服务控制策略(SCP)限制了对应区域的DynamoDB操作权限。
- 核对Action拼写:IAM的Action配置是大小写敏感的,确认你配置的Action为准确的
dynamodb:ListTables,无拼写错误、大小写错误。
内容的提问来源于stack exchange,提问作者Rohit Mittal
相关产品推荐
相关产品推荐

