Во-первых, не используйте Bucket Policy . Политика корзины обычно используется при предоставлении доступа «каждому».
Если вы хотите sh предоставить доступ определенному c пользователю, поместите политику в IAM User .
Если вы хотите sh предоставить доступ группе пользователей, поместите их в группу IAM и поместите политику в группу IAM .
Здесь это политика, которая разрешает перечисление определенного сегмента, , за исключением каталога верхнего уровня (root):
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::BUCKET-NAME",
"Condition": {
"StringLike": {
"s3:prefix": [
"*/*"
]
}
}
}
]
}
В основном это дает им разрешение на перечисление сегмента, так как До тех пор, пока Prefix
(путь) содержит sla sh (/
).
Обратите внимание, что если вы указываете ведро, вы должны включать в себя sla sh после имени каталога:
aws s3 ls s3://BUCKET-NAME/folder/
Это будет не работать, поскольку оно не содержит sla sh:
aws s3 ls s3://BUCKET-NAME/folder