Насколько защищен временный URL laravel S3? - PullRequest
0 голосов
/ 29 сентября 2019

Я хотел бы знать, обеспечивается ли предоставление временного URL-адреса для доступа к объектам корзины AWS в том смысле, что он раскрывает ключ доступа AWS.

Насколько мне известно, достаточно использовать ключ доступа пользователя IAM для доступа к корзине AWS. чем корневой ключ доступа может быть надежно защищен, если пользователю IAM разрешено только чтение / запись сервисов S3.

Есть ли какие-либо недостатки в предоставлении временного URL-адреса для общего доступа с использованием ключа доступа пользователя IAM?

С уважением.

1 Ответ

1 голос
/ 30 сентября 2019

При назначении URL-адреса не выдается ваш закрытый ключ (секретный), поэтому риска нет. Злоумышленник не может взять подписанный URL-адрес и изменить его, чтобы сделать что-то еще, так как подпись проверяет исходную полезную нагрузку.

Вы правы: считается хорошей практикой привязывать профили IAM к определенным задачам, таким какконкретная прикладная среда.

В соответствии с официальными документами AWS :

Мы настоятельно рекомендуем не использовать пользователя root для выполнения повседневных задач, дажеадминистративные. Вместо этого придерживайтесь наилучшей практики использования пользователя root только для создания своего первого пользователя IAM. Затем надежно заблокируйте учетные данные пользователя root и используйте их для выполнения только нескольких задач управления учетными записями и службами.


Ваш вопрос о недостатках мне не ясен, поэтому я отвечу на дваЯ думаю, вы могли бы это иметь в виду:

  • Индивидуальные профили IAM более root:

    Нет недостатков. Требуется немного больше времени и знаний, чтобы спланировать свои требования к политике / разрешениям, но это хорошо.

  • Предварительно подписанные URL-адреса более обычные загрузки /Загрузок

    Это зависит от вашего варианта использования. Вообще говоря, нет никаких дополнительных соображений безопасности при использовании предопределенных URL-адресов. Просто установите реалистичное время истечения и не передавайте его не тому человеку. Это очень похоже на жетон сеанса / носителя.

    С точки зрения преимуществ, они открывают двери для того, чтобы сделать ваше приложение более масштабируемым, и устраняют необходимость в том, чтобы ваше приложение теряло циклы «просмотра» авторизованной загрузки или выгрузки. Vapor (Laravel 6 на Lambda) продвигает предварительно назначенные URL-адреса как функцию для загрузки файлов.

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