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

Amazon S3 - частный файл по-прежнему доступен для скачивания всем?

У меня есть секретные файлы, просмотр / скачивание которых я хочу ограничить анонимным пользователем. Я попытался сделать его приватным, запустив что-то вроде:

s3cmd setacl --acl-private s3://bucket/some/path/*.ext

Затем я перехожу в консоль управления S3, выбираю файл и нажимаю «Свойства», я уверен, что разрешение «Открыть / загрузить» не отмечено для всех.

Но скопируйте ссылку https://s3-us-west-2.amazonaws.com/bucket/some/path/blah.ext, и вставьте в новый браузер, его все еще можно открыть / загрузить.

Что мне не хватает?

Проверьте свою политику корзины, перейдя в корзину, затем нажмите «Свойства» и «Изменить политику корзины». Если у вас что-то вроде этого:

    {
        "Sid": "Stmt1391783519913",
        "Effect": "Allow",
        "Principal": {
            "AWS": "*"
        },
        "Action": [
            "s3:GetObject",
        ],
        "Resource": "arn:aws:s3:::bucket/*"
    },

это означает, что вы разрешаете всем скачивать все файлы в этом сегменте.

Согласно документ:

Если учетная запись имеет доступ к ресурсам, указанным в ACL или политике, они могут получить доступ к запрошенному ресурсу.

Это причина, по которой анонимный пользователь все еще может открывать / скачивать ваши файлы.

Вы можете предотвратить это, добавив новую политику, как показано ниже:

    {
        "Sid": "Stmt1395306106592",
        "Effect": "Deny",
        "Principal": {
            "AWS": "*"
        },
        "Action": "s3:*",
        "Resource": "arn:aws:s3:::bucket/some/path/*.ext"
    },

После того, как вы сделаете файл private в S3 вы все еще можете загрузить его, ваш браузер кэшировал файл. Как только вы сделаете файл закрытым, он вернет 403 в любом другом браузере (или частном окне / окне в режиме инкогнито), но может быть доступен из исходного браузера в течение определенного периода времени.

Если вы хотите подтвердить, что файл является личным, попробуйте загрузить его в другом браузере (или curl, и т.д).