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

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

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

困っていた内容

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