Я знаю, что этот вопрос, возможно, был задан несколько раз, но я пробовал эти решения и не тренировался. Поэтому, спрашивая его в новой теме для определенного решения.Код ошибки Amazon S3 403 Запрещен кластером EMR
Я создал пользователя IAM с разрешением только для чтения S3 (Get и List для всех ресурсов S3), но когда я пытаюсь получить доступ к S3 из кластера EMR с помощью команды HDFS, он генерирует исключение «Error Code 403 Forbidden» для определенных папок. Люди в другой должности ответили, что это вопрос разрешения; который я не нашел правильного решения, так как это «Запрещено» вместо «Доступ запрещен». Поведение этой ошибки появилось только для определенных папок (содержащих объекты) внутри ведра и для определенных пустых папок. Было отмечено, что, если я использую собственные вызовы API, то он работает нормально следующим образом:
Исключение «Forbidden» при использовании S3A вызовов:
hdfs dfs -ls s3a://<bucketname>/<folder>
Нет ошибок при использовании s3 выходца вызывает s3n
и s3
:
hdfs dfs -ls s3://<bucketname>/<folder>
hdfs dfs -ls s3n://<bucketname>/<folder>
Подобное поведение наблюдалось и для пустых папок, и я понимаю, что на S3 только объекты являются физическими файлами, тогда как остальные «ведра и папки» являются просто владельцем места. Однако, если я создаю новую пустую папку, то вызовы s3a
не выбрасывают это исключение.
P.S. - Ключ доступа к корневому IAM превосходит это исключение.
Благодарим вас за ответ, и я открою для него JIRA. –