0

我创建了一个组织,有一个新的管理帐户 call itMA并邀请了我的个人帐户 call it A。我想要的是与组织成员共享一个dynamodb由组织成员创建的表(例如在根目录下)MAA

为此,我创建了一个策略,授予对该表的完全访问权限,附加到一个全新的角色加入A (即组织的正式成员),但不幸的是,从A帐户中,我看不到该表。

我在哪里做错了?

政策 JSON - dynamodb-products-table-full-access

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "dynamodb:ListContributorInsights",
                "dynamodb:DescribeReservedCapacityOfferings",
                "dynamodb:ListGlobalTables",
                "dynamodb:ListTables",
                "dynamodb:DescribeReservedCapacity",
                "dynamodb:ListBackups",
                "dynamodb:PurchaseReservedCapacityOfferings",
                "dynamodb:DescribeLimits",
                "dynamodb:ListExports",
                "dynamodb:ListStreams"
            ],
            "Resource": "*"
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": "dynamodb:*",
            "Resource": "arn:aws:dynamodb:eu-central-1:<MA ID>:table/products"
        }
    ]
}

Another AWS account键入附加到A帐户的角色。 角色

4

1 回答 1

2

请按照以下步骤操作:

  • 在允许访问 DynamoDB 表的“MA”账户(DynameDB 表所有者)中创建一个角色。
  • 允许“A”帐户中的用户担任“MA”帐户中创建的角色。
  • 使用“切换角色”AWS 控制台功能

“MA”账户中的角色

它需要访问 DynamoDB 表的权限。在“dynamodb-products-table-full-access”策略上显示的声明就足够了。此外,在创建角色时,您需要将“A”帐户定义为可信实体。

创建时受信任的实体

创建后的可信实体

允许“A”帐户中的用户担任该角色

在帐户“A”上创建一个具有适当权限的策略,以承担在上一步中创建的角色:

{
  "Version": "2012-10-17",
  "Statement": {
      "Effect": "Allow",
      "Action": "sts:AssumeRole",
      "Resource": "arn:aws:iam::<MA_Account_ID>:role/DynamoFullAccess"
    }
}

将该策略添加到相应 IAM 用户或 IAM 用户组的权限策略中:

附加策略

使用“切换角色”功能

最后,当账户“A”用户进入 AWS 控制台时,需要使用“切换角色”功能:

切换角色

输入 MA 帐户 ID 和在该帐户上创建的角色的名称:

切换角色

他将能够使用该表(注意假定角色“MA_Account_Dynamo”): 发电机表


参考:

使用 IAM 角色跨 AWS 账户委派访问权限

于 2021-12-18T06:05:50.297 回答