Полный доступ к корзине AWS S3 для всех операций, кроме 1 папки
У меня есть групповая политика, которая разрешает полный доступ к нескольким корзинам S3.
Эта политика разрешает чтение и запись в корзину.
Команда, которая использует эти сегменты, хочет, чтобы одна из папок была доступна только для чтения для их группы без возможности записи или удаления ее содержимого.
Как мне обеспечить это, но при этом предоставить им полный доступ ко всем другим папкам?
1 ответ
Чтобы разрешить доступ к "каждой папке, кроме одной", вам нужно будет использовать Allow
политика и Deny
политика. Это потому, чтоDeny
всегда отменяет Allow
.
Вы должны поместить желаемых пользователей IAM в группу IAM, а затем добавить такую политику в группу IAM:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:*",
"Resource": "arn:aws:s3:::my-bucket/*",
},
{
"Effect": "Deny",
"Action": [
"s3:DeleteObject",
"s3:PutObject"
],
"Resource": "arn:aws:s3:::my-bucket/read-only-path/*",
}
]
}
Будьте осторожны с Allow
- не рекомендуется предоставлятьs3:*
в ведро, поскольку это, вероятно, дает им слишком много разрешения. Итак, сократите его до того, что им действительно нужно.