この質問は複数回尋ねられたかもしれませんが、私はこれらの解決策を試してみました。したがって、明確な解決のために新しいスレッドでそれを尋ねる。Amazon S3エラーコード403 EMRクラスタからの禁止
S3読み取り専用アクセス権(すべてのS3リソースでGetとList)を使用してIAMユーザーを作成しましたが、HDFSコマンドを使用してEMRクラスターからS3にアクセスしようとすると、特定のフォルダーに対して "エラーコード403禁止"例外が発生します。他の投稿の人が許可の問題であると回答しました。それは "アクセスが拒否されました"の代わりに "禁止されている"ので正しい解決策を見つけられませんでした。このエラーの動作は、バケット内の特定のフォルダ(オブジェクトを含む)と特定の空のフォルダに対してのみ発生しています。それは私がネイティブAPI呼び出しを使用する場合、以下のように、それが正常に動作していることが観察された:
S3A呼び出しを使用している場合例外「禁断」:
hdfs dfs -ls s3a://<bucketname>/<folder>
S3のネイティブを使用すると、s3n
とs3
を呼び出し、エラーなし:
hdfs dfs -ls s3://<bucketname>/<folder>
hdfs dfs -ls s3n://<bucketname>/<folder>
空のフォルダでも同様の動作が確認されています.3Sだけのオブジェクトは物理ファイルですが、残りの「バケットとフォルダ」はプレースホルダです。しかし、私が新しい空のフォルダを作成した場合、s3a
呼び出しはこの例外をスローしません。
P.S. - ルートIAMアクセスキーがこの例外を超えました。
ありがとうございました。私はJIRAを開きます。 –