У меня есть задача создать корзину 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:
Имеет ли какая-либо из применимых политик явно разрешить доступ?
⇨ Если нет, доступ отклонено по умолчанию.
⇨ Если да, переходите к следующему шагу.
Имеет ли какая-либо из применимых политик явно запретить доступ?
⇨ Если да, доступ запрещен (даже если доступ разрешен другой политикой).
⇨ Если нет Отрицать доступ теперь предоставлен.
Это означает, что если есть нет применимой политики тогда доступ по умолчанию отказано и если любая политика запрещает доступ, тогда доступ отказано слишком.
Только если одна или несколько политик явно разрешить доступ и никто не запрещает доступ только затем доступ предоставляется.
В вашем случае политика ведра должен Отрицать доступ ко всем не в вашем VPC (с использованием условий политики). В Политика IAM будет затем даровать доступ к вашим пользователям, в то время как политика корзины запрещает доступ извне вашего VPC.
Также обратите внимание, что отдельные объекты в S3 также могут иметь свои собственные разрешения.
Лучше всего обратиться к Обзор управления доступом S3 для всех деталей.
Надеюсь, это поможет :)