Я пытаюсь создать политику на AWS , которая разрешает доступ в определенные папки в ведре s3. Согласно документации это можно сделать с помощью следующей политики
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowUserToSeeBucketListInTheConsole",
"Action": [
"s3:ListAllMyBuckets",
"s3:GetBucketLocation"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::*"
]
},
{
"Sid": "AllowRootAndHomeListingOfCompanyBucket",
"Action": [
"s3:ListBucket"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::my-policy-test"
],
"Condition": {
"StringEquals": {
"s3:prefix": [
"",
"home/",
"home/test-folder1"
],
"s3:delimiter": [
"/"
]
}
}
},
{
"Sid": "AllowListingOfUserFolder",
"Action": [
"s3:ListBucket"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::my-policy-test"
],
"Condition": {
"StringLike": {
"s3:prefix": [
"home/test-folder1/*"
]
}
}
},
{
"Sid": "AllowAllS3ActionsInUserFolder",
"Effect": "Allow",
"Action": [
"s3:*"
],
"Resource": [
"arn:aws:s3:::my-policy-test/home/test-folder1/*"
]
}
]
}
. Я создал пользователя, чтобы проверить, работает ли эта политика должным образом, но, к сожалению, это не так. Когда я вхожу в систему с помощью тестового пользователя, я могу видеть папки в корзине, но не могу получить доступ к той, которую я хочу назвать «test-folder1».
Вопрос: Как мне изменить это политика, чтобы разрешить доступ к test-folder1?
У вас есть домашняя
папка в вашем ведре S3? Вы ссылаетесь на папку home
в вашей политике, но вы не упоминаете об этом в вашем тесте с тестовым пользователем.
Глядя на политику, я бы ожидал, что следующая структура S3:
arn:aws:s3:::my-policy-test
- home
- home/test-folder1 (should have the rights here)
- other_folder
Это должно работать, учитывая вашу политику.
.