我创建了以下IAM策略:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:ListAllMyBuckets",
"Resource": "arn:aws:s3:::*"
},
{
"Effect": "Allow",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::bucketname",
"arn:aws:s3:::bucketname/*"
]
}
]
}
这是因为他们唯一可以访问的bucket是正确的bucket,但我想做的是设置它,以便在进入bucket列表时显示的唯一bucket是他们可以访问的。
我尝试将listallmybuckets操作中的ARN更改为bucket本身的ARN,但这只会在转到bucket列表时出现"无访问"错误
如何将其更改为仅列出他们在存储桶列表中可以访问的存储桶?
S3存储桶由绑定到AWS的特定规范用户ID所有账户当主体在IAM策略中被赋予s3:ListAllMyBuckets
时,他们有权枚举规范用户ID拥有的所有存储桶提供其凭证的arn
(第五段的账号在承载权限的用户或角色的CCD_ 3中)。
这意味着,对于给定的帐户,所有主体都有帐户中所有存储桶的ListAllMyBuckets
,或者根本没有。
使用AWS组织,创建专用帐户和然后向一个存储桶(或一组存储桶)提供凭据(或跨帐户访问)与所有其他人隔离;这可以模拟有限的列表行为OP要求。