Как я могу иметь политику s3, которая запрещает доступ ко всем корзинам, кроме тех, которые начинаются со строки "xyz"? - PullRequest
0 голосов
/ 20 июня 2019

Я хочу иметь политику, которая запрещает доступ ко всем сегментам, кроме той, которая начинается с определенного соглашения об именах, т.е. если они начинаются с "xyz".Как я могу написать политику, чтобы сделать это?Нижеследующее работает, но выдает различные предупреждения:

«Вы выбираете действия, для которых требуется тип ресурса корзины» или «Одно или несколько действий могут не поддерживать этот ресурс» или «Действие в вашей политике не поддерживает ресурсуровень разрешений и требует, чтобы вы выбрали все разрешения.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:GetBucketLocation",
                "s3:ListAllMyBuckets",
                "s3:CreateBucket"
            ],
            "Resource": "arn:aws:s3:::*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutBucketPublicAccessBlock",
                "s3:PutEncryptionConfiguration",
                "s3:PutObject",
                "s3:PutObjectAcl",
                "s3:GetObject",
                "s3:GetObjectAcl",
                "s3:DeleteObject"
            ],
            "Resource": [
                "arn:aws:s3:::xyz*",
                "arn:aws:s3:::xyz*/*"
            ]
        }
    ]
}

1 Ответ

0 голосов
/ 21 июня 2019

Ваша политика отлично работала для моего тестирования.

Мне пришлось исправить несколько проблем с форматированием в вашей политике (которые я применил к вашему вопросу) - в частности, некоторые фигурные кавычки и лишнюю запятую.

Я ввел политику как JSON.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...