Назад | Перейти на главную страницу

AWS устанавливает доступ к каталогу корзины s3 с помощью политики

Я пытаюсь создать политику в отношении 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

Это должно работать с учетом вашей политики.