Скрытие и / или отказ в доступе к файлам и папкам в кибер-утке через iam/s3
Я использую Cyberduck на Mac, и я пытаюсь запретить пользователю доступ к определенным каталогам через политику IAM для s3. У меня он работает до такой степени, что он блокирует доступ пользователя к пространству имен папок, к которому он не должен, но я заметил одну вещь: пользователь все еще может обращаться к файлам на уровне выше назначенной им папки (папка, в которой находится пользователь. разрешен доступ называется изображениями) изнутри кибердак. пример:
/images/
/afile1
/afile2
/afile3
/restrictedFolder1/
/restrictedFolder2/
так что мне интересно, если я могу ограничить доступ к файлам вне папки этого пользователя или если я не могу, то могу ли я скрыть эти файлы (или просто не вернуть их в запросе) через IAM?
моя политика:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowUserToSeeBucketListInTheConsole",
"Action": [
"s3:ListAllMyBuckets",
"s3:GetBucketLocation"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::*"
]
},
{
"Sid": "AllowListingOfBrandcentralPRDBucket",
"Action": [
"s3:ListBucket",
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::mybucket"
],
"Condition": {
"StringEquals": {
"s3:prefix": [
"",
"images/"
],
"s3:delimiter": [
"/"
]
}
}
},
{
"Sid": "ListObjectsForTheImagesFolder",
"Action": [
"s3:ListBucket"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::mybucket"
],
"Condition": {
"StringNotEquals": {
"s3:prefix": [
"images/initial/",
"images/REJECTED/",
"assets/"
]
}
}
},
{
"Sid": "GrantPromissionsForTheImagesFolder",
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:GetObjectAcl",
"s3:PutObject",
"s3:PutObjectAcl"
],
"Resource": [
"arn:aws:s3:::mybucket/images/*"
]
}
]
}