403エラーの発生理由
権限設定の問題
CloudFrontからS3へアクセスする際、S3側のバケットポリシーやオブジェクトのアクセス権限が正しく設定されていないと、S3はリクエストを拒否し、403(Forbidden)エラーを返します。
S3の仕様による特性
通常、存在しないファイルなら「404 Not Found」エラーを返すと考えがちですが、S3はセキュリティ上の理由から、対象オブジェクトが存在しない場合でも403エラーを返す仕様になっています。これは、オブジェクトの存在有無を外部に知られないようにするための設計です。
■ 403エラー(Forbidden)
サーバーはリクエスト内容を理解しているが、アクセス権がないため処理を拒否するエラーです。
- 対象のリソースは存在するものの、アクセス許可がない場合に発生します。
■ 404エラー(Not Found)
サーバーはリクエストを受け取ったものの、指定されたリソースが見つからない場合に発生するエラーです。
- リソース自体が存在しない、またはURLが誤っている場合に起こります。