Вы хотите использовать шаблон NotPrincipal Deny.Использование политики ресурсов S3
- Запретить всем, кроме пользователей, имеющих доступ
- Разрешить 2 пользователям, которым необходим доступ.Вы можете добавить доступ в политику ресурсов, как я указал ниже, или присоединить его к своей политике идентификации IAM.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DenyOthers",
"Effect": "Deny",
"NotPrincipal": {
"AWS": [
"USER_ARN"
]
},
"Action": [
"s3:*"
],
"Resource": [
"arn:aws:s3:::BUCKET",
"arn:aws:s3:::BUCKET/*"
]
},
{
"Sid": "DenyOthers",
"Effect": "Allow",
"Principal": {
"AWS": [
"USER_ARN"
]
},
"Action": [
"s3:*"
],
"Resource": [
"arn:aws:s3:::BUCKET",
"arn:aws:s3:::BUCKET/*"
]
}
]
}
Однако, поскольку вы являетесь администратором, вы просто заблокировали себя от администратора, пока не станете пользователем root.Таким образом, вы можете рассмотреть возможность предоставления себе привилегий корзины без какого-либо доступа к объектам.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DenyOthers",
"Effect": "Deny",
"NotPrincipal": {
"AWS": [
"USER_ARNs",
"ADMIN_ARNs"
]
},
"Action": [
"s3:*"
],
"Resource": [
"arn:aws:s3:::BUCKET",
"arn:aws:s3:::BUCKET/*"
]
},
{
"Sid": "DenyUsersAdminAccess",
"Effect": "Deny",
"Principal": {
"AWS": [
"USER_ARN"
]
},
"NotAction": [
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::BUCKET"
]
},
{
"Sid": "AllowUsersAccess",
"Effect": "Allow",
"Principal": {
"AWS": [
"USER_ARN"
]
},
"Action": [
"s3:AbortMultipartUpload",
"s3:ListMultipartUploadParts",
"s3:DeleteObject*",
"s3:PutObject*",
"s3:GetObject*",
"s3:RestoreObject*",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::BUCKET",
"arn:aws:s3:::BUCKET/*"
]
},
{
"Sid": "DenyAdminObjectAccess",
"Effect": "Deny",
"Principal": {
"AWS": [
"ADMIN_ARN"
]
},
"Action": [
"s3:*"
],
"Resource": [
"arn:aws:s3:::BUCKET/*",
]
},
{
"Sid": "AllowAdminAccess",
"Effect": "Allow",
"Principal": {
"AWS": [
"ADMIN_ARN"
]
},
"NotAction": [
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::BUCKET",
]
},
]
}
Я кратко остановился на доступе администратора, включив в него только ВЕДРО, а не объект (BUCKET / ).Кроме того, поскольку большинство администраторов имеют доступ S3: в политике идентификации IAM, я добавил явное запрещение администратору доступа к объектам только для того, чтобы убедиться.
ПРЕДУПРЕЖДЕНИЕ: проверьте учетную запись, у которой есть права доступа rootкак политики запрета, так и политики запрета могут легко заблокировать всех.