ysa*_*lmi 2 amazon-s3 amazon-web-services amazon-iam
有没有办法指定存储桶创建策略,以便具有指定角色的用户只能创建具有指定名称模式的存储桶,而company-dbbackup-*不能创建其他名称模式?
例如,用户将被允许创建名称为company-dbbackup-March2017和 的存储桶company-dbbackup-fullarchive,但不允许创建存储桶test-bucketname-invalid。
我现在拥有的:
{
"Sid": "Stmt1493212897117",
"Action": [
"s3:CreateBucket",
"s3:ListAllMyBuckets"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::*"
}
Run Code Online (Sandbox Code Playgroud)
但这允许我创建具有任何名称的存储桶。
事实证明它相对简单(除非我忽略了一些事情)。我只是将权限拆分如下:
{
"Sid": "RestrictCreationToNamePolicy",
"Action": [
"s3:CreateBucket"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::company-dbbackup-*"
}
{
"Sid": "AllowListingOfBuckets",
"Action": [
"s3:ListAllMyBuckets"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::*"
}
Run Code Online (Sandbox Code Playgroud)
我还没有找到一种方法来限制仅列出具有命名策略的存储桶。如果我将第二条语句限制为资源arn:aws:s3:::company-dbbackup-*,则在尝试列出存储桶时会收到拒绝访问的消息。
编辑:显然限制列表是不可能的,这里有一个很好的 Stack Overflow 答案以及可能的解决方法。这还有另一个很好的讨论。
| 归档时间: |
|
| 查看次数: |
2141 次 |
| 最近记录: |