Hello there, ('ω')ノ
✅ アクセス制御の定義
アクセス制御(Access Control)とは:
誰が、どのリソースに、どのような操作を許可されているかを制御するセキュリティ機構
🔑 関連する3つの要素
アクセス制御は、以下の3ステップによって構成されます:
| ステップ | 説明 |
|---|---|
| 🧍 認証(Authentication) | 「このユーザーは誰か?」を確認する(例:ログイン) |
| 🔑 セッション管理(Session Management) | 「その後の通信が同一ユーザーによるものか?」を識別する |
| 🚫 アクセス制御(Access Control) | 「そのユーザーが特定の操作をしてよいか?」を判断する |
🧠 例:管理者だけがユーザー削除できる場合
| 操作 | 判定内容 |
|---|---|
| ログインする | 認証:ユーザー本人か確認 |
| ユーザー一覧を表示 | アクセス制御:「閲覧可能なユーザーか?」 |
| 他人のアカウントを削除 | アクセス制御:「削除する権限があるか?」 |
💥 アクセス制御が壊れていると…?
**Broken Access Control(アクセス制御の破綻)**があると:
- 普通のユーザーが管理者用の操作を実行できたり
- 他人のデータを勝手に見たり変更できる
- APIや内部機能が保護されずに外部から実行できる
⚠️ 難しい理由
- アクセス制御の設計には技術だけでなく業務・法律・組織的な視点が必要
- 設計ミス・ロジックエラー・設定ミスなど、人間による判断が絡むためミスが起こりやすい
✅ まとめ
| ポイント | 内容 |
|---|---|
| 🔐 アクセス制御とは | 「誰が何をできるか」を制限すること |
| 🔄 認証・セッションと連携 | ユーザー識別と連携して動作 |
| 🛑 脆弱性が多い領域 | 設計・実装・運用のどこでもミスが出やすい |
Best regards, (^^ゞ