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

политика корзины против политики iam, которая имеет приоритет

У меня есть задача создать корзину S3 с именем «xyz» и предоставить доступ для чтения и записи определенным пользователям. Я создал корзину, написал политику IAM, подобную приведенной ниже, и прикрепил ее к конкретным пользователям.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:GetObjectVersion",
                "s3:GetBucket"
            ],
            "Resource": [
                "arn:aws:s3:::xyz",
                "arn:aws:s3:::xyz/*"
            ]
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": "s3:ListAllMyBuckets",
            "Resource": "*"
        }
    ]
}

Теперь я должен применить другое условие, которое ограничивает доступ к этому сегменту для определенного VPC. Для этого мне нужно написать политику ведра.

При попытке сгенерировать политику корзины с помощью генератора политик он снова запрашивает действия с корзиной S3.

Если я выберу все действия, т.е. s3:* будет ли он предоставлять пользователям полный доступ?

Я хочу знать, какая политика имеет приоритет.

Ни один из них не имеет приоритета. Вот как работают разрешения в AWS:

  1. Имеет ли какая-либо из применимых политик явно разрешить доступ?

    ⇨ Если нет, доступ отклонено по умолчанию.

    ⇨ Если да, переходите к следующему шагу.

  2. Имеет ли какая-либо из применимых политик явно запретить доступ?

    ⇨ Если да, доступ запрещен (даже если доступ разрешен другой политикой).

    ⇨ Если нет Отрицать доступ теперь предоставлен.

Это означает, что если есть нет применимой политики тогда доступ по умолчанию отказано и если любая политика запрещает доступ, тогда доступ отказано слишком.

Только если одна или несколько политик явно разрешить доступ и никто не запрещает доступ только затем доступ предоставляется.

В вашем случае политика ведра должен Отрицать доступ ко всем не в вашем VPC (с использованием условий политики). В Политика IAM будет затем даровать доступ к вашим пользователям, в то время как политика корзины запрещает доступ извне вашего VPC.

Также обратите внимание, что отдельные объекты в S3 также могут иметь свои собственные разрешения.

Лучше всего обратиться к Обзор управления доступом S3 для всех деталей.

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