Политика пользователя s3 bucket/IAM «Запрет имеет приоритет над всеми остальными доступами»?

Политика пользователя s3 bucket/IAM «Запрет имеет приоритет над всеми остальными доступами»?

Две политики, получил одну "Запретить", я не должен иметь возможности выполнять какие-либо операции с контейнером, но я все еще могу перечислять и просматривать объекты контейнера. Почему? Спасибо

Политика S3-корзины

{
    "Sid": "S3DenyAccess",
    "Effect": "Deny",
    "Principal": "*",
    "Action": "*",
    "Resource": "arn:aws:s3:::<YOURBUCKETHERE>/*"
}

Политика пользователя IAM

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowConsoleAccess",
            "Action": [
                "s3:ListAllMyBuckets",
                "s3:GetBucketLocation"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:s3:::*"
            ]
        }
    ]
}

решение1

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

"Resource": [
    "arn:aws:s3:::<YOURBUCKETHERE>",
    "arn:aws:s3:::<YOURBUCKETHERE>/*"
]

Надеюсь, это поможет :)

решение2

Логика оценки политики AWSбыло бы полезно почитать. Короче говоря, явное отрицание побеждает. Хотя здесь это не актуально.

Я

Ваша политика пользователя IAM гласит: «Этот пользователь может вывести список всех контейнеров и получить их местоположения».

Политика ведра

Ваша политика для одного конкретного контейнера гласит: «явно запретить кому-либо совершать какие-либо действия, направленные на возражениевнутриконтейнера». Символ «/*» в конце ресурса означает, что политика применяется «внутри контейнера», тогда как если вы его опустите, это будет означать, что политика применяется к самому контейнеру.

Комбинированный

Итак, ваши объединенные политики говорят, что все пользователи могут перечислять бакеты и получать местоположения бакетов, но не могут ничего делать с объектами внутри бакета. Я удивлен, что вы можете перечислять объекты в бакете и просматривать объекты бакета. Я подозреваю, что здесь играет роль другая политика, потому что запрет AWS по умолчанию говорит, что он не должен вам ничего показывать.

Другие мнения

Если кто-то заметил что-то, что я упустил, пожалуйста, укажите на это :)

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