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