Как правильно настроить корзину S3 для использования Transloadit?

Я получаю следующую ошибку:

      error   S3_STORE_ACCESS_DENIED
http_code   403
step    export
previousStep    :original
worker  novate.transloadit.com
message S3 did not accept the key / secret pair you provided.

Если я ввожу неверный ключ API, я получаю другую ошибку, поэтому я предполагаю, что сообщение об ошибке является ложным отвлечением. Я проверил ключ и секрет API вручную, и они работают, поэтому я знаю, что это не мои учетные данные.

Документы Transloadit говорят следующее:

Предупреждение. Обратите внимание, что значение параметра acl по умолчанию — «public». AWS S3 недавно представила параметр корзины под названием «Блокировать новые общедоступные ACL и загрузку общедоступных объектов (рекомендуется)». Вам необходимо установить для этого параметра значение False в своей корзине, если вы намерены оставить параметр acl робота «общедоступным», в противном случае вы будете продолжать получать ошибки разрешений, возвращаемые в ваших сборках, даже если ваши учетные данные S3 настроены правильно.

Я пробовал следующее, и это не работает (я снова получаю тот же 403 S3_STORE_ACCESS_DENIED):

Как правильно настроить корзину S3 для экспорта файлов роботом Transloadit /s3/store?

1 ответ

TLDR: установите для параметра Transloadit значение .


Если вы хотите экспортировать файлы в S3 только через Transloadit, наиболее безопасным вариантом будет просто предоставить пользователю IAM доступ для записи в корзину. Если вам не нужен контроль доступа для каждого объекта, списки управления доступом больше не используются в современных AWS, и они являются устаревшей функцией, хотя и не объявлены устаревшими (пока). Пользователю IAM, имеющему доступ, будет достаточно.

Причина, по которой вы видите ошибку, заключается в том, что Transloadit пытается указатьготовый ACL в своем запросе по умолчанию. Это фактически соответствовало бы предоставлению всем ( группе All Users)READACL-разрешение.

По сути, это говорит AWS, что «я не хочу просто использовать IAM сам по себе, я хочу использовать IAM и ACL».

Это заставляет вас либо:

  1. расслабьте свой ACL, чтобы он мог сделать каждый объект, который вы загружаете в S3, доступным для всего мира ;

  2. скажите Transloadit, чтобы он придерживался политики AWS ACL по умолчанию (консервированный ACL) и не выставлял ваши файлы на всеобщее обозрение; вы можете сделать это, установив для параметра значение .

Сегменты и объекты Amazon S3 по умолчанию всегда были закрытыми в соответствии с передовыми методами безопасности AWS. Любая попытка сделать корзину или объекты общедоступными должна выполняться вручную.

Для первого варианта (не рекомендуется) в дополнение к параметрам Блокировать весь публичный доступ и Блокировать публичный доступ к корзинам и объектам, предоставленным с помощью новых списков управления доступом (ACL) , убедитесь, что вы также сняли флажок Блокировать публичный доступ к предоставленным корзинам и объектам. с помощью любых списков управления доступом (ACL) . В настоящее время это проверяется в вашей текущей конфигурации. Снятие флажка со всех трех позволит Transloadit указать значение по умолчанию. public-readЗначение ACL для S3 для любого объекта, чтобы относительные разрешения ACL были добавлены в ACL объекта.

Для второго варианта (настоятельно рекомендуется в соответствии с рекомендациями по безопасности AWS с наименьшими привилегиями) установитеaclпараметр при настройке/s3/storeк . privateстандартный ACL означает, что по умолчанию вы (владелец корзины) получаетеFULL_CONTROLи ни у кого больше нет прав доступа. Это в основном приводит Transloadit в соответствие с настройками AWS по умолчанию и является самым безопасным вариантом.

Другие вопросы по тегам