Назад | Перейти на главную страницу

Политика пользователя корзины s3 / 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:::*"
            ]
        }
    ]
}

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

Я

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

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

Политика вашей корзины для одной конкретной корзины гласит: «Явно запрещайте кому-либо делать что-либо, чтобы возразить внутри ведро "." / * "в конце ресурса означает, что политика применяется" внутри корзины ", тогда как если вы их опускаете, это означает, что политика применяется к самому ведру.

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

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

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

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

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

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

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