Политика корзины Amazon S3 только для публичных ограничений
Я хотел бы ограничить публичный доступ к некоторым объектам, которые мы сохранили в S3, но показать другие объекты в той же иерархии ключей. Например, предположим, что я хочу сделатьbucketname/*
публично читаемый. Но хочу запретить доступ кbucketname/*/hidden/*
для любых пользователей, которым явно не предоставлен доступ в IAM.
Я могу сделать это с помощью такой политики:
{
"Id": "Policy123",
"Statement": [
{
"Sid": "Stmt123",
"Action": [ "s3:GetObject" ],
"Effect": "Allow",
"Resource": "arn:aws:s3:::bucketname/*",
"Principal": {
"AWS": [ "*" ]
}
},
{
"Sid": "Stmt124",
"Action": [ "s3:GetObject" ],
"Effect": "Deny",
"Resource": "arn:aws:s3:::bucketname/*/hidden/*",
"Principal": {
"AWS": [ "*" ]
}
]
}
Но это предотвращает доступ любых пользователей / групп IAM к скрытым объектам. Есть ли настройка дляпринципал во втором утверждении, что соответствует только неаутентифицированному доступу? Или еще лучше, есть ли способ перечислить только те,Принципалы это должноНЕ быть затронутым заявлением о политике?