403 Forbiddenとは
403 Forbidden(フォー・オー・スリー・フォービドゥン)は、サーバーは要求を理解したものの、権限などの理由で処理を拒否したことを示すステータスです。
サーバーは要求のメソッド・振り分け先を理解していますが、現在の識別情報、役割、資源方針、ネットワーク条件、安全性規則などにより履行しません。理由を安全に公開できる場合は応答内容で説明できます。
同じ認証情報を再送すれば直る401とは異なります。403は認証済みでも、対象操作を許す認可方針が満たされない状態を含みます。

403を返し得る層
ファイルシステムの権限、ディレクトリー一覧表示の禁止、設定規則で拒否します。
管理者限定、所有者限定、契約状態などを判定します。
IP許可一覧、VPN必須、地域方針などにより拒否します。
CSRF、自動プログラム、攻撃の特徴、要求数上限などの判定で拒否します。
401から403への流れ
- 認証情報を検証する本人・クライアントを認証できなければ401と認証要求を返します。
- 識別情報へ役割・対象範囲を対応させるセッション、トークン、グループ所属を現在の方針で解釈します。
- 資源とメソッドを照合する読む権限があっても更新・削除は許されない場合があります。
- 拒否理由を安全に返す攻撃者へ資源構成を漏らさない範囲で修正方法を示します。
404で存在を隠す場合
サーバーは、禁止理由や資源の存在を公開したくない場合、403の代わりに404 Not Foundを返せます。アカウント名、非公開保管庫、管理画面の列挙防止などで使われます。
ただし内部ログ・監査では「存在しない」と「方針で隠した」を区別し、運用者が原因を追えるようにします。利用者向け情報を減らすことと、観測性を失うことは同じではありません。
切り分けは権限対応表で行う
誰が、どの資源へ、どのメソッドで、どのネットワーク・時刻・状態から要求し、どの方針規則が拒否したかを記録します。ファイルのアクセス権だけを変更しても直らない場合、親ディレクトリー、Webサーバー設定、アプリケーション上の役割、WAFまで上流から確認します。
一時的に全員へ許可して原因を探すとデータ露出につながります。最小権限を維持し、試験識別情報と限定資源で規則を一つずつ検証します。
403は要求を理解したサーバーが方針上履行を拒むステータスです。認証の401とは分け、ファイル・アプリケーション・ネットワーク・安全性各層の拒否規則を権限対応表で特定します。
理解した要求の履行拒否:RFC 9110「403 Forbidden」