S3 のバケットポリシーで GetObject を定義した際に “Action does not apply to any resource(s) in statement” というエラーが表示された時の対処方法

テクニカルサポートノート。サービス名:S3
2020.04.02

困っていた内容

S3 に作成したバケットに対して、特定 IP アドレスからの読み取りを許可したいです。

バケットポリシーで GetObject を定義しましたが、"Action does not apply to any resource(s) in statement"というエラーが表示されて失敗します。

どう対応すればいいの?

対応する Resource にバケットが指定されている可能性があります。 Action で GetObject を定義する際には、オブジェクトの指定が必要です。

対応する Resource を以下のように修正することで、エラーが解消しないかご確認ください。

"Resource": "arn:aws:s3:::{mybucket}/*"
  • {mybucket} にご自身のバケット名を記載ください。
  • 本運用時は Resource のポリシーを見直してご利用ください

参考情報

Amazon S3 で定義されるアクション | AWS

Action does not apply to any resource(s) in statement - Action "s3:GetObjec | AWS Forums

テクニカルサポートノートとは?

クラスメソッドのカルチャー(CLP) の「情報発信を通じて、全ての人々の創造活動に貢献し続ける」という考えから、クラスメソッド メンバーズをご利用のお客様よりいただいたお問い合わせより、他の AWS ユーザーにとっても 有益な情報を一般的な TIPS としてご紹介しています。