我有两个亚马逊账户 Account-A 和 Account-B。我想让 Account-B 完全控制 Account-A 中的所有 S3 相关操作,例如 Account-B 可以创建/删除/列出属于 Account-A 的存储桶。
你能指点我是怎么做的吗?到目前为止,我只能找到如何授予对单个 S3 存储桶的跨账户访问权限,而不是授予所有 S3 功能。
我有两个亚马逊账户 Account-A 和 Account-B。我想让 Account-B 完全控制 Account-A 中的所有 S3 相关操作,例如 Account-B 可以创建/删除/列出属于 Account-A 的存储桶。
你能指点我是怎么做的吗?到目前为止,我只能找到如何授予对单个 S3 存储桶的跨账户访问权限,而不是授予所有 S3 功能。
有两种方法可以为 Amazon S3 分配跨账户权限:
请注意,两个方向都需要权限。
此方法的缺点是必须将存储桶策略应用于您希望使其可用的每个存储桶。此外,这不适用于创建新的存储桶,因为没有存储桶策略来授予访问权限。
Role-A
,以及一个信任 Account-B 的信任策略AssumeRole()
调用Role-A
这不需要任何存储桶策略,但需要调用AssumeRole()
.
另请参阅:提供对 S3 存储桶中对象的跨账户访问
从AWS doc walkthrough开始,然后将存储桶策略设置为(我对文档的更改有//
评论):
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Example permissions",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::AccountB-ID:root"
},
"Action": [
"s3:*", // ALL S3 actions
],
"Resource": [
"*" // ALL resources with an 's3:' operation
]
}
]
}