以下の内容はhttps://cysec148.hatenablog.com/entry/2025/07/13/121410より取得しました。


アクセス制御とは?

Hello there, ('ω')ノ

アクセス制御とは、「誰がどの操作やデータにアクセスできるか」を制限する仕組みです。特にWEBアプリケーションでは以下の3つが関係します。

  • 認証(Authentication) ユーザーが「本人である」ことを確認します。
  • セッション管理(Session Management) その後の操作が同じユーザーからのものだと認識します。
  • アクセス制御(Access Control) ユーザーが「して良い操作か」を判断し制限します。

なぜ重要?

アクセス制御が壊れていると、本来禁止されている操作ができてしまう場合があります。これは重大なセキュリティリスクです。


アクセス制御の種類

1. 垂直アクセス制御(Vertical Access Controls)

説明 特定のユーザー種別にしか許されない機能へのアクセスを制限する方法です。

  • 管理者は全ユーザーのアカウントを削除できる
  • 一般ユーザーは自分のアカウントしか編集できない

ポイント 「職務分離」や「最小権限の原則」に基づいた制御が重要です。


2. 水平アクセス制御(Horizontal Access Controls)

説明 ユーザーごとにアクセスできるデータを制限する方法です。

  • 銀行アプリで自分の口座情報しか見られない
  • 他人の取引履歴は見られない

コツ 「IDやパラメータの改ざん」で他人のデータを見られないか確認しましょう。


3. コンテキスト依存アクセス制御(Context-dependent Access Controls)

説明 アプリの状態やユーザーの操作状況に応じて制限する方法です。

  • 商品購入後はカートの中身を変更できない
  • 決済後は注文内容を変更できない

ポイント 「操作の順番」や「状態遷移」に注目して設計する必要があります。


まとめ:アクセス制御設計のコツ

  • 必ずサーバー側で制御 フロント側(JavaScript)だけでは不十分。
  • 明示的に許可する方式(デフォルト拒否) 許可しない限りアクセスできない設計が基本。
  • エラーやログで検知 不正なアクセス試行をすぐに発見できるようにしましょう。

Best regards, (^^ゞ




以上の内容はhttps://cysec148.hatenablog.com/entry/2025/07/13/121410より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14