Почему эта политика прикреплена к пользователю IAM не работает - PullRequest
0 голосов
/ 23 декабря 2018

Надеюсь, вы можете помочь!

Я создал новую тестовую учетную запись AWS.

Я создал новую корзину в S3, не выбирая ни одну из рекомендуемых общедоступных или частных настроек.Говорит: «Объекты могут быть общедоступными».

Затем я создал пользователя IAM для программного доступа, загруженного доступа и секретных ключей.

Затем я создал следующую политику для предоставления доступа к указанному сегменту какв соответствии с данной статьей AWS: https://aws.amazon.com/blogs/security/writing-iam-policies-how-to-grant-access-to-an-amazon-s3-bucket/

Вот политика (bucketName отредактирована):

{
"Version": "2012-10-17",
"Statement": [
    {
        "Effect": "Allow",
        "Action": [
            "s3:ListBucket"
        ],
        "Resource": [
            "arn:aws:s3:::test-bucket"
        ]
    },
    {
        "Effect": "Allow",
        "Action": [
            "s3:PutObject",
            "s3:GetObject",
            "s3:DeleteObject"
        ],
        "Resource": [
            "arn:aws:s3:::test-bucket/*"
        ]
    }
]
}

Затем я прикрепил эту политику к этому пользователю.

При использованииSDK или Policy Simulator, подтверждая, что я использую правильные ключи, я получаю ошибки «Отказано в доступе».

Имитатор политики говорит: «Неявно отказано (нет соответствующих операторов).

enter image description here Заранее спасибо.

1 Ответ

0 голосов
/ 23 декабря 2018

Политика, которую вы прикрепили к пользователю, в порядке.Просто убедитесь, что у вас есть правильное имя корзины и правильные ключи доступа при тестировании действий.

Я проверил с той же политикой, просто изменив имя корзины.Ниже приведены выходные данные

  1. Я установил профиль на локальном компьютере с правыми ключами доступа
  2. Ниже приведены выходные данные до и после добавления политики

enter image description here

В качестве альтернативы, вы можете использовать ниже политику bucket.

Добавить политику ниже в вашу политику Bucket.Измените номер учетной записи, имя пользователя и имя корзины соответственно

    {
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "statement1",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::01234567890:user/test-user"
            },
            "Action": [
                "s3:GetBucketLocation",
                "s3:ListBucket"
            ],
            "Resource": "arn:aws:s3:::bucketname"
        },
        {
            "Sid": "statement2",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::01234567890:user/test-user"
            },
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:DeleteObject"
            ],
            "Resource": "arn:aws:s3:::bucketname/*"
        }
    ]
}
...