给予S3跨帐户完全访问权限



我有两个亚马逊账户Account-A和Account-B。我想让Account-B完全控制Account-A中所有与S3相关的操作,例如,Account-B可以创建/删除/列出属于Account-A的bucket。

你能告诉我它是怎么做的吗?到目前为止,我只能找到如何授予对单个S3存储桶的跨帐户访问权限,而不能授予所有S3功能。

从AWS文档演练开始,然后将bucket策略设置为(我对文档的更改有//注释(:

{
"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
]
}
]
}

有两种方法可以为AmazonS3分配跨帐户权限:

使用Bucket策略

  • 将Bucket策略添加到每个所需的Bucket,以授予其他帐户权限
  • 向帐户B中所需的IAM用户和IAM角色添加权限,允许他们访问帐户A中的存储桶

请注意,两个方向都需要权限

此方法的缺点是,Bucket Policy必须应用于您想要使其可用的每个Bucket。此外,由于没有授予访问权限的存储桶策略,因此此将不适用于创建新存储桶

使用IAM角色

  • 在Account-A(Role-A(中创建一个IAM角色,该角色具有所有所需的S3权限,并创建一个信任Account-B的信任策略
  • 从Account-B,在Role-A上调用AssumeRole()
  • 使用返回的凭据管理Account-A中的S3资源

这不需要任何Bucket策略,但需要调用AssumeRole()

另请参阅:提供对S3存储桶中对象的跨帐户访问

相关内容

  • 没有找到相关文章

最新更新