APIのオブジェクト単位認可

オブジェクト単位の認可不備(BOLA)である。リクエストされた請求書ごとに、サーバー側で現在の利用者の権限を検証する。 推測しにくいIDでも漏えいや共有によって知られ得る。 画面上の非表示はAPIへの直接要求を防がない。 URLを隠すことは認可の代わりにならない。 参考資料: https://api-security.owasp.org/editions/2023/en/0xa1-broken-object-level-authorization/

利用者Aが自分の請求書を取得するAPIのURL中の請求書IDを利用者BのIDに変えると、Bの請求書を取得できた。修正として適切なものはどれか。

出典IT資格ラボ作成・2026年SC午前Ⅱ予想問題
請求書IDを連番からUUIDに変えるだけで済ませる
ブラウザ画面から他人のIDを非表示にするだけで済ませる
APIのURLを秘密にする
各請求書へのアクセス時に、認証済み利用者がその請求書を閲覧できるかサーバーで確認する