Создание политики доступа AWS только для 1 корзины S3 - PullRequest
0 голосов
/ 18 апреля 2019

Я пытаюсь создать политику, которая разрешает доступ только к 1 корзине для резервных копий WordPress наших клиентов, используя BackWPUp

Это после того, как вы заметили, что стандартная политика полного доступа S3 позволяетполный доступ ко всем ведрам!

Я пытался следовать этой статье здесь: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_examples_s3_rw-bucket-console.html

Политика выглядит следующим образом (заменил имя корзины на соответствующее), и она не работает:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "ConsoleAccess",
            "Effect": "Allow",
            "Action": [
                "s3:GetAccountPublicAccessBlock",
                "s3:GetBucketAcl",
                "s3:GetBucketLocation",
                "s3:GetBucketPolicyStatus",
                "s3:GetBucketPublicAccessBlock",
                "s3:ListAllMyBuckets"
            ],
            "Resource": "*"
        },
        {
            "Sid": "ListObjectsInBucket",
            "Effect": "Allow",
            "Action": "s3:ListBucket",
            "Resource": ["arn:aws:s3:::bucket-name"]
        },
        {
            "Sid": "AllObjectActions",
            "Effect": "Allow",
            "Action": "s3:*Object",
            "Resource": ["arn:aws:s3:::bucket-name/*"]
        }
    ]
}

Ошибка получения: API службы S3: доступ запрещен

Затем я попробовал упрощенную версию:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "PolicyID",
            "Effect": "Allow",
            "Action": [
                "s3:*"
            ],
            "Resource": [
                "arn:aws:s3:::bucket-name/*"
            ]
        }
    ]
}

Все еще не повезло, с той же ошибкой.Есть идеи?Что мне не хватает?

1 Ответ

0 голосов
/ 18 апреля 2019

Оказывается, мне нужно s3: ListBucketMultipartUploads и s3: GetBucketLocation , чтобы заставить его работать должным образом.

Окончательная версия ниже:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:GetBucketLocation",
                "s3:ListBucketMultipartUploads"
            ],
            "Resource": "arn:aws:s3:::bucket-name"
        },
        {
            "Effect": "Allow",
            "Action": "s3:*"
            "Resource": "arn:aws:s3:::bucket-name/*"
        }
    ]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...