Amazon s3 除1个文件夹外,所有操作均可完全访问AWS S3存储桶

Amazon s3 除1个文件夹外,所有操作均可完全访问AWS S3存储桶,amazon-s3,amazon-iam,aws-policies,Amazon S3,Amazon Iam,Aws Policies,我有一个允许完全访问几个S3存储桶的组策略 此策略允许读取和写入存储桶 使用这些存储桶的团队希望其中一个文件夹对于他们的组是只读的,而不能写入或删除其内容 如何在允许他们完全访问所有其他文件夹的同时提供此功能?要允许访问“除一个文件夹外的所有文件夹”,您需要使用允许策略和拒绝策略。这是因为Deny总是覆盖Allow 您应该将所需的IAM用户放入IAM组,然后向IAM组中添加如下策略: { "Version": "2012-10-17", "Statement": [

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

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

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

如何在允许他们完全访问所有其他文件夹的同时提供此功能?

要允许访问“除一个文件夹外的所有文件夹”,您需要使用
允许
策略和
拒绝
策略。这是因为
Deny
总是覆盖
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:
授予bucket不是一个好的做法,因为这可能会给他们太多的权限。因此,请将其精简到他们实际需要的内容。

要允许访问“除一个以外的每个文件夹”,您需要使用
允许策略和
拒绝策略。这是因为
Deny
总是覆盖
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:
授予bucket不是一个好的做法,因为这可能会给他们太多的权限。所以,把它削减到他们真正需要的程度