Политика S3 Bucket, чтобы сделать только определенные типы файлов общедоступными - PullRequest
0 голосов
/ 05 ноября 2018

У нас есть магазин, где можно скачать музыку.

В корзине есть папки, представляющие каждую мелодию с определенным номером, а внутри папки у нас есть различные форматы файлов.

Для предварительного прослушивания файл сохраняется в формате mp3.

В настоящее время мы вручную выбираем mp3-файлы и даем им доступ для чтения всем (Мир).

Но это должно быть возможно и с политикой сегмента, т. Е. Каждый загружаемый mp3-файл будет иметь доступ для чтения любому.

Но политика, созданная нами с помощью генератора политик, не работает ...

Есть идеи?

{
    "Id": "Policy1541353430646",
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Stmt1541353373980",
            "Action": [
                "s3:GetObject"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::examplebucket/*",
            "Condition": {
                "StringEquals": {
                    "s3:prefix": "mp3"
                }
            },
            "Principal": "*"
        }
    ]
}

1 Ответ

0 голосов
/ 05 ноября 2018

A prefix означает начало имени, поэтому оно не будет работать.

Вместо этого измените Resource в соответствии с вашим окончанием:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "s3:GetObject"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::examplebucket/*.mp3"
        }
    ]
}

Это также работает для объектов в подкаталогах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...