You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android端访问AWS DynamoDB遭权限拒绝问题求助

解决DynamoDB CRUD操作的Cognito权限报错问题

你遇到的核心问题是Cognito未授权角色缺少DynamoDB的访问权限——哪怕你把数据库本身的读写权限全开了,IAM角色如果没被允许执行对应的DynamoDB操作,依然会触发这个权限报错。下面是具体的解决步骤:

1. 定位到对应的Cognito未授权角色

  • 登录AWS控制台,进入IAM服务
  • 在左侧导航栏选择「角色」,搜索报错里的角色名:shoppinglist_unauth_MOBILEHUB_1234567890
  • 点击进入该角色的详情页面

2. 为角色添加DynamoDB权限策略

  • 在角色详情的「权限」标签页,点击「添加权限」→「附加策略」
  • 在策略列表里,你可以选择两种方式配置权限:
    • 测试阶段推荐:直接选择AWS托管的AmazonDynamoDBFullAccess策略,给角色完全的DynamoDB访问权限
    • 生产环境推荐:创建自定义精细策略,只允许对目标表执行CRUD操作,示例策略如下:
      {
          "Version": "2012-10-17",
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "dynamodb:GetItem",
                      "dynamodb:PutItem",
                      "dynamodb:UpdateItem",
                      "dynamodb:DeleteItem",
                      "dynamodb:Scan",
                      "dynamodb:Query"
                  ],
                  "Resource": "arn:aws:dynamodb:你的AWS区域:1234567890:table/你的DynamoDB表名"
              }
          ]
      }
      
  • 选择或创建好策略后,点击「附加策略」完成配置

3. 验证权限是否生效

  • 等待1-2分钟让IAM策略生效(偶尔会有同步延迟)
  • 重新运行你的App,尝试执行CRUD操作

额外排查点

  • 确认App使用的Cognito身份池ID正确:检查raw目录下的json文件里的IdentityPoolId是否和AWS控制台里的一致
  • 确认DynamoDB表所在区域和Cognito身份池的区域匹配,跨区域访问也可能引发权限类报错

内容的提问来源于stack exchange,提问作者Redcoatwright

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:13:11