【发布时间】:2015-08-15 03:19:56
【问题描述】:
我正在使用“standard-prefix-{variable}”的程序中创建 S3 存储桶。在尝试创建 IAM 策略以便用户可以更新、创建、删除账户中的存储桶时,但前提是存储桶名称包含“标准前缀”。 IE,我不想允许修改帐户中的其他存储桶。在给定特定存储桶名称的情况下,我找到了许多方法来限制对存储桶内资源的访问,但在存储桶名称更改时无法限制访问。
类似的东西(似乎不起作用):
"Resource": "arn:aws:s3:::standard-prefix-*"
来自AWS Docs的示例:
基于用户名的动态名称是我找到的最接近的名称。但我需要一个通配符作为存储桶名称的可变部分:
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": "sqs:*",
"Resource": "arn:aws:sqs:us-west-2:*:${aws:username}-queue"
}]
}
具有指定存储桶名称的项目:
{
"Version": "2012-10-17",
"Statement": [
{
"Action": ["s3:ListBucket"],
"Effect": "Allow",
"Resource": ["arn:aws:s3:::mybucket"],
"Condition": {"StringLike": {"s3:prefix": ["${aws:username}/*"]}}
},
{
"Action": [
"s3:GetObject",
"s3:PutObject"
],
"Effect": "Allow",
"Resource": ["arn:aws:s3:::mybucket/${aws:username}/*"]
}
]
}
【问题讨论】:
标签: amazon-web-services amazon-s3 amazon-iam