ICT STUDY GUIDE情報セキュリティの用語サイバー管理士

APIのオブジェクトレベル認可|ログイン済みでも他人のデータを返さない

BOLAを、認証と対象データの権限の違いから解説。ID、テナント、一覧・更新・削除で必要な確認を独自ケースで整理します。

最終更新
読了目安
約4分
執筆
ICT模試 編集部
まず結論

この記事の要点

  • オブジェクトレベル認可は、要求された個々のデータや処理を、現在の利用者が操作できるか判断する仕組みです。
  • 利用者の所属や役割だけでなく、対象データとの関係を確認します。
  • 比較表・図解と独自ケースで、確認すべき根拠を整理します。

最初に押さえる判断の軸

オブジェクトレベル認可は、要求された個々のデータや処理を、現在の利用者が操作できるか判断する仕組みです。ログイン済みかを確認する認証とは別です。会員やテナントごとのデータを扱うAPIでは、IDが存在することだけで返すと、他の利用者の情報を扱えてしまう問題が生じます。

IDを長くしたり推測しにくくしたりしても、権限確認の代わりにはなりません。取得だけでなく一覧、更新、削除、添付ファイルのダウンロードにも対象の認可を適用します。画面にボタンを出さないことは利用者への表示であり、サーバーが不正な要求を拒否することとは別です。

混同しやすい状態を比較する

利用者の所属や役割だけでなく、対象データとの関係を確認します。認可の前提を個々の画面だけに置かず、共通の経路で検証できるようにします。

認証後に、対象データの権限を確認する

この利用者は、この注文データを操作できますか?

  • 許可を確認した

    許可された取得・更新などへ進む。

  • 許可されていない

    サーバーで拒否する。画面の非表示だけに頼らない。

  • 対象や関係が不明

    存在するIDという理由だけで返さない。

IDの推測しにくさと、対象への認可を分ける。

当サイト独自の説明図。領域の面積や並びは、被害件数・発生確率・出題比率を表していません。

APIのオブジェクトレベル認可の比較
確認する対象見落としやすい点判断に使う根拠
認証ログイン済みで全データ許可本人の識別
認可IDが分かれば取得可能対象と所属・役割の関係
UI非表示なら操作不能サーバーでの拒否

確認問題

独自ケースで判断を練習する

会員の注文APIはログインだけ確認し、要求された注文IDの存在でデータを返します。画面には自分の注文だけを表示しています。

次のうち、ケースの情報から優先する対応はどれでしょうか。

選択肢を準備しています。「正解と解説を見る」は先に開けます。

正解と解説を見る

正解:3。画面の絞り込みとAPIの認可は別です。要求ごとに対象が利用者へ許可されているか確認し、取得、更新、削除などへ一貫して適用します。IDの難しさは権限の根拠になりません。検証では自分が管理する試験データを使い、別利用者や別テナントの操作が拒否されることを確認します。

POINT

当サイト独自の確認問題です。実際の事件・公式問題・過去問を再現していません。

確認と見直しを業務へつなげる

許可の条件を業務の役割で定義し、全APIへ適用します。正常な操作と境界を越える要求の拒否を、読み書きの両方で検証してください。

利用者ごとのデータアクセス確認:利用者の札と、要求されたデータの所有・アクセス条件を照合する場面です
利用者の札と、要求されたデータの所有・アクセス条件を照合する場面です。ログインできたことだけで、ほかの利用者の情報を読める権限があるとは扱いません。
APIのオブジェクトレベル認可:確認から終了まで
  1. 1

    条件

    対象データと権限の条件を定義する

  2. 2

    認可

    サーバーで要求ごとの認可を行う

  3. 3

    全経路

    一覧・更新・削除にも適用する

  4. 4

    境界

    試験データで境界の拒否を確認する

実施したことと、結果を確認できたことを区別する。

実操作が必要な項目は管理者の承認と組織の手順に従ってください。

拒否ログへ他人の本文を保存せず、識別情報と理由を必要な範囲で残します。認証成功と操作の許可を記録上も分けます。

実務で見落としやすい条件を掘り下げる

一覧画面から選べるデータだけを操作する想定でも、APIは対象との関係を要求ごとに確認します。添付ファイルの取得、履歴の閲覧、一括更新など、主画面以外の経路も漏れなく対象へ含めます。テナントを持つサービスでは所属の境界も重要です。

権限の条件を画面ごとに別々に書くと、変更の際に差が残りやすくなります。共通の判断を使い、例外が必要なら業務上の根拠と試験を残します。認可に失敗した結果で他人の存在や本文を必要以上に返さないことも検討します。

次に読む記事と、理解の確認

サイバーセキュリティの学習ガイドで、このテーマをメール・ブラウザとWebの中に位置付けてください。関連する前提はCSRF対策とSameSite Cookie、情報の分類と取扱いルールで確認できます。

資格対策との接点は情報・サイバーセキュリティ管理士の概要へ。用語を理解した後は登録不要の無料お試し20問で、別の状況でも判断できるか確かめてください。記事のテーマを全て公式の出題項目とする説明ではありません。

よくある質問

UUIDなら認可は不要ですか?

不要にはなりません。推測のしにくさと操作する権限は別です。

ボタンを隠せば十分ですか?

サーバー側の拒否が必要です。表示の制御だけでAPIへの要求を制限できると推定しません。

出典・参考

  1. [1]OWASP:API Security 2023 Broken Object Level Authorization
  2. [2]OWASP:Authorization Cheat Sheet

本番と同じペースで腕試し

記事の次は、本番形式の問題で。

各検定の出題カテゴリをもとに作った独自の無料お試しを、登録不要・カード不要で解けます。本番と同じ出題配分とは限りません。続きの模試と章別ドリルは買い切りで、月額はかかりません。

情報・サイバーセキュリティ管理士

180問・120分の模試と章別ドリル・¥4,980(税込・買い切り)

サイバー管理士の無料お試し20問
料金と収録内容を見る →

当サイトは、MCPC・全日本情報学習振興協会・IPAとは関係のない個人が運営する非公式の学習教材です。掲載している問題はすべて当サイトのオリジナルで、実際の試験問題・過去問題・再現問題ではありません。試験の日程・受検料・出題範囲・合格基準は各試験の公式サイト(モバイル・IoT:https://www.mcpc-jp.org/license/ 、サイバー管理士:https://www.joho-gakushu.or.jp/isme/ 、情報セキュリティマネジメント(SG):https://www.ipa.go.jp/shiken/kubun/sg.html )で必ず確認してください。教材内の正答率や学習の目安は、本番の評価点や公式の合格基準とは異なります。合格を保証するものではありません。技術・制度の記述は「最終確認日」時点のものです。

← 対策記事の一覧へ