我正在制定 IAM 策略来限制对具有特定前缀的 S3 存储桶的访问。我们帐户中的 S3 存储桶有一个环境名称作为前缀,例如 dev-bucket1、dev-bucket2、dev-bucket3、test-bucket1、test-bucket2 和 test-bucket3。
开发环境中的我的 EC2 实例(开发环境和测试环境位于同一账户的单独 VPC 中)应仅访问开发存储桶。我了解了 s3:prefix 条件,但对此我不太清楚。通过查看示例策略,我认为 s3:prefix 仅适用于存储桶中的文件夹。有人可以建议一个策略来访问具有特定前缀的所有 S3 存储桶吗?
谢谢
JR
看来您的情况是:
dev-
开头的存储桶
用于 test-
开头的存储桶
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject",
"s3:ListBucket",
]
"Resource": [
"arn:aws:s3:::dev-*",
"arn:aws:s3:::dev-*/*"
]
}
]
}
此策略应授予分配给Dev
EC2 实例的 IAM 角色。