У меня есть корзина, и я хотел позволить только пользователю root (так что ни пользователи IAM, ни роли не могут получить к ней доступ, только root).В итоге я получил эту политику, которая, кажется, работает:
{
"Version": "2012-10-17",
"Id": "Policy1544958708832",
"Statement": [
{
"Sid": "Stmt1544958705029",
"Effect": "Deny",
"NotPrincipal": {
"AWS": "arn:aws:iam::<accountid>:root"
},
"Action": [
"s3:Get*",
"s3:List*"
],
"Resource": "arn:aws:s3:::<bucket>/*"
}
]
}
Я подтвердил, что не могу получить доступ к объектам в корзине от имени пользователя-администратора, но могу получить к ним доступ при входе в систему от имени пользователя root.
Но я не понимаю, почему это работает.Я думал, что :root
- это целая учетная запись, а не только пользователь root ( ref ), поэтому он должен позволять другим пользователям получать доступ к объектам.Но я вижу, что это не так.
Почему это так?