我有一个允许完全访问多个 S3 存储桶的组策略。
此策略允许读取和写入存储桶。
使用这些存储桶的团队希望其中一个文件夹对其组是只读的,而无法写入或删除其内容。
我如何提供它,同时仍然允许他们完全访问所有其他文件夹?
我有一个允许完全访问多个 S3 存储桶的组策略。
此策略允许读取和写入存储桶。
使用这些存储桶的团队希望其中一个文件夹对其组是只读的,而无法写入或删除其内容。
我如何提供它,同时仍然允许他们完全访问所有其他文件夹?
要允许访问“除一个之外的每个文件夹”,您将需要使用Allow
策略和Deny
策略。这是因为 aDeny
总是覆盖 a Allow
。
您应该将所需的 IAM 用户放入一个 IAM 组,然后将这样的策略添加到 IAM 组:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:*",
"Resource": "arn:aws:s3:::my-bucket/*",
},
{
"Effect": "Deny",
"Action": [
"s3:DeleteObject",
"s3:PutObject"
],
"Resource": "arn:aws:s3:::my-bucket/read-only-path/*",
}
]
}
小心一点Allow
——授予存储桶不是s3:*
一个好习惯,因为这可能给了他们太多的权限。所以,把它修剪成他们真正需要的。