Я пытаюсь создать политику в отношении 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?
У тебя есть home
папка в вашем ведре S3? Вы имеете в виду home
в вашей политике, но вы не упоминаете об этом в тесте с тестовым пользователем.
Глядя на политику, я ожидал бы следующую структуру S3:
arn:aws:s3:::my-policy-test
- home
- home/test-folder1 (should have the rights here)
- other_folder
Это должно работать с учетом вашей политики.