如何共享 DynamoDB table 以在组织的其他成员之间保持透明?
How possible to share a DynamoDB table to be transparent among other members of an organization?
我创建了一个组织,并使用新的管理帐户命名为 MA
并邀请了我的个人帐户,命名为 A
。
我想要的是与组织 的成员共享由 MA
创建的 dynamodb
table(例如与根目录下的 A
).
为此,我创建了一个策略,授予对 table 的完全访问权限,附加到加入 A
(即正式成员)的全新角色到组织 ),但不幸的是,从 A
帐户,我看不到 table.
我哪里弄错了?
政策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
帐户。
执行以下步骤:
- 在允许访问 DynamoDB table.
的“MA”帐户(DynameDB table 所有者)中创建一个角色
- 允许“A”账户中的用户承担在“MA”账户中创建的角色。
- 使用 'Switch Role' AWS 控制台功能
“MA”账户中的角色
它需要访问 DynamoDB 的权限table。在“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 用户组的权限策略中:
使用 'Swith Role' 功能
最后,账户“A”用户进入AWS控制台时,需要使用“角色切换”功能:
输入 MA 帐户 ID 和在该帐户上创建的角色名称:
然后他就可以使用table(注意角色承担'MA_Account_Dynamo'):
参考:
我创建了一个组织,并使用新的管理帐户命名为 MA
并邀请了我的个人帐户,命名为 A
。
我想要的是与组织 的成员共享由 MA
创建的 dynamodb
table(例如与根目录下的 A
).
为此,我创建了一个策略,授予对 table 的完全访问权限,附加到加入 A
(即正式成员)的全新角色到组织 ),但不幸的是,从 A
帐户,我看不到 table.
我哪里弄错了?
政策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
帐户。
执行以下步骤:
- 在允许访问 DynamoDB table. 的“MA”帐户(DynameDB table 所有者)中创建一个角色
- 允许“A”账户中的用户承担在“MA”账户中创建的角色。
- 使用 'Switch Role' AWS 控制台功能
“MA”账户中的角色
它需要访问 DynamoDB 的权限table。在“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 用户组的权限策略中:
使用 'Swith Role' 功能
最后,账户“A”用户进入AWS控制台时,需要使用“角色切换”功能:
输入 MA 帐户 ID 和在该帐户上创建的角色名称:
然后他就可以使用table(注意角色承担'MA_Account_Dynamo'):
参考: