- 新しい順
- 投票が多い順
- コメントが多い順
403エラーが発生している原因として、いくつかの可能性が考えられます。
まず、CloudFrontとS3の設定を確認しましょう。あなたの設定では、CloudFrontのオリジンとしてS3のREST APIエンドポイント(<S3バケット名>.ap-northeast-1.amazonaws.com)を使用しており、Origin Access Control (OAC)を設定されています。これは正しいアプローチです。
考えられる問題点と解決策:
-
S3バケットポリシーの確認: バケットポリシーは正しく設定されているようですが、Resource部分が正確に設定されているか確認してください。特にOrigin Pathを設定している場合、そのパスも含めたリソースへのアクセス権が必要です。
-
Origin Pathの設定: CloudFrontで設定したOrigin Path(/<パス名>)が、実際にS3バケット内に存在するパスと一致しているか確認してください。CloudFrontはこのパスを自動的にリクエストに追加するため、不正確な場合は403エラーが発生します。
-
S3バケットの静的ウェブサイトホスティング: S3の静的ウェブサイトホスティングが有効になっている場合、OACと互換性がありません。OACを使用する場合は、静的ウェブサイトホスティングを無効にする必要があります。
-
CloudFrontのキャッシュ動作設定: CloudFrontのキャッシュ動作設定で、適切なHTTPメソッド(少なくともGET、HEAD)が許可されているか確認してください。
-
OACの設定確認: CloudFrontコンソールでOACが正しく設定されているか確認し、必要に応じて再作成してください。
-
S3オブジェクトの権限: アップロードされた画像のACLが適切に設定されているか確認してください。バケット所有者が強制されている場合は、オブジェクトのACLが問題になることはありません。
これらの設定を確認しても問題が解決しない場合は、CloudFrontのエラーログを確認して、より詳細なエラー情報を取得することをお勧めします。
Sources
HTTP 403 status code (Permission Denied) - Amazon CloudFront
Cloudfront cannot access s3 bucket | AWS re:Post
Access Denied for CloudFront to S3 static site | AWS re:Post
上記を確認したましたが、いずれも問題なく設定されています。
下記がCloudFrontのエラーログです。
#Version: 1.0
#Fields: date time x-edge-location sc-bytes c-ip cs-method cs(Host) cs-uri-stem sc-status cs(Referer) cs(User-Agent) cs-uri-query cs(Cookie) x-edge-result-type x-edge-request-id x-host-header cs-protocol cs-bytes time-taken x-forwarded-for ssl-protocol ssl-cipher x-edge-response-result-type cs-protocol-version fle-status fle-encrypted-fields c-port time-to-first-byte x-edge-detailed-result-type sc-content-type sc-content-len sc-range-start sc-range-end
2025-07-13 03:18:18 NRT20-P6 484 [CLIENT_IP_ADDRESS] GET <ドメイン名> /プレフィックス1/プレフィックス2/プレフィックス3/IMG_0706.jpeg 403 - node - - Error <リクエストID> <ドメイン名> https 262 0.072 - TLSv1.3 TLS_AES_128_GCM_SHA256 Error HTTP/1.1 - - <クライアントPORT> 0.072 Error application/xml - - -
AWS WAFをCloudFrontに紐づけているということはないでしょうか?
S3のパスなどが正しい場合に403ではじかれる原因としてはS3のバケットポリシーでOACが許可されていないかAWS WAFでブロックされているということがよくあります。
https://repost.aws/ja/knowledge-center/cloudfront-troubleshoot-403-errors
関連するコンテンツ
- AWS公式更新しました 4年前
