Отказано в доступе AWS S3 к реальному объекту, хотя симулятор сообщает, что доступ разрешен

Отказано в доступе AWS S3 к реальному объекту, хотя симулятор сообщает, что доступ разрешен

У меня есть пользователь, я назову его Альфред, с прикрепленной политикой IAM, как показано ниже.

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

В симуляторе IAM я получаю «Разрешено» для GetObject, используя эту политику и этот ARN:arn:aws:s3:::my-bucket-name/my-object.xml

В CLI я получаю AccessDenied для следующей команды:aws s3 cp s3://my-bucket-name/my-object.xml temp/my-object.xml

Произошла ошибка клиента (AccessDenied) при вызове операции GetObject: Доступ запрещен

Я посмотрел на все, что смог придумать, но не могу объяснить это несоответствие. Что я упускаю?

Что я пробовал

«creds» здесь означает «ключи доступа AWS IAM»

  • Симулятор IAM — это работает
  • Другой набор кредитов IAM — это работает
  • Использование aws s3 ls s3://my-bucket-name/-- это работает с учетными данными IAM Альфреда и с моими учетными данными
  • Сравнил политики с аналогично настроенным ведром в другом аккаунте AWS. Политики идентичны, насколько я могу судить.

решение1

Оказалось, что это разрешения на ключ(и) KMS шифруют этот бакет. Ключи принадлежат учетной записи root, и поэтому я не смог найти их с помощью обычного доступа IAM, а также не смог увидеть политику для них.

Связанный контент