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

无需sts:AssumeRole,实现跨账号IAM角色访问DynamoDB表

解决方案:使用DynamoDB资源策略实现跨账号访问

完全可以实现,DynamoDB支持基于资源的策略(表级策略),逻辑和你之前用的S3桶策略一致,通过给AccountB的DynamoDB表附加策略,直接授权AccountA中的IAM角色对其进行管理操作。

具体策略示例

将以下策略附加到AccountB的目标DynamoDB表上,替换占位符为实际信息:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::AccountA-ID:role/your-accountA-iam-role-name"
            },
            "Action": [
                "dynamodb:GetItem",
                "dynamodb:PutItem",
                "dynamodb:UpdateItem",
                "dynamodb:DeleteItem",
                "dynamodb:Scan",
                "dynamodb:Query"
                // 根据实际管理需求添加或删除操作
            ],
            "Resource": [
                "arn:aws:dynamodb:region:AccountB-ID:table/your-table-name",
                "arn:aws:dynamodb:region:AccountB-ID:table/your-table-name/index/*"
                // 如果需要访问全局/本地二级索引,添加此行
            ]
        }
    ]
}

关键注意事项

  • 权限交集要求:除了表策略,AccountA中的IAM角色自身需要有允许执行上述DynamoDB操作的IAM策略(即身份策略),AWS权限遵循"身份策略允许 + 资源策略允许"的双重校验逻辑。
  • 最小权限原则:避免使用"Action": "*",根据实际需要的管理操作(如查询、写入、修改表结构等)指定具体的DynamoDB操作,降低权限风险。
  • 区域与ARN格式:确保策略中的DynamoDB表ARN包含正确的AWS区域、账号ID和表名。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 06:06:45