限制对账户中 AWS 存储桶的访问,同时仍允许访问其他账户中的公有存储桶



对于给定的 IAM 用户,我只想允许该用户访问我们账户中的一个特定存储桶(称之为foo-bucket(。

但是,这似乎具有禁用对我们帐户之外的任何公共存储桶的访问的效果,这不是我想要的。我希望用户仍然可以访问另一个账户中的任何公有存储桶,例如broad-references.我当然可以明确授予对特定公共存储桶的访问权限,但世界上有无数的公共存储桶,我不想限制对其中任何一个的访问。

这是现有策略。

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "economycloud",
"Action": [
"s3:List*",
"s3:Get*",
"s3:DeleteObject*",
"s3:Abort*",
"s3:PutObject",
"s3:PutObjectAcl",
"s3:PutObjectTagging",
"s3:RestoreObject"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::foo-bucket/*",
"arn:aws:s3:::foo-bucket"
]
},
{
"Sid": "AllowListing",
"Action": [
"s3:ListAllMyBuckets"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::*"
]
}
]
}

有人可以建议执行以下操作的 IAM 策略吗:

限制访问,
  • 以便用户只能访问账户中的此特定存储桶,如上述策略所示,但
  • 可以访问任何其他账户中的任何公有存储桶。

Dan,

这是您实现此目的的方法:

  • 显式拒绝用户访问特定账户中除该特定存储桶 (foo-bucket( 之外的所有存储桶。
  • 显式允许用户访问该特定存储桶 (foo-bucket(。
  • 显式允许来自所有账户的存储桶。

相关内容

  • 没有找到相关文章

最新更新