1

我有一个允许完全访问多个 S3 存储桶的组策略。

此策略允许读取和写入存储桶。

使用这些存储桶的团队希望其中一个文件夹对其组是只读的,而无法写入或删除其内容。

我如何提供它,同时仍然允许他们完全访问所有其他文件夹?

4

1 回答 1

3

要允许访问“除一个之外的每个文件夹”,您将需要使用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:*一个好习惯,因为这可能给了他们太多的权限。所以,把它修剪成他们真正需要的。

于 2020-05-14T09:06:16.893 回答