アクセス制御が適切に設定されており、権限昇格リスクがないか?¶
Type: DeepDive
Category: API・権限・セキュリティ
Audience: 設計リーダー / SRE / インフラ設計者 / レビュー担当者
背景・概要¶
アクセス制御は、ユーザーが「本来できない操作」を実行できないようにするための最重要の砦
設定ミスや分岐漏れにより、一般ユーザーが管理者機能を使えるようになるなどの権限昇格は重大なセキュリティリスクになる
BOのようなSaaSでは、テナント内外の越境アクセスも設計時に考慮が必要
例¶
- テナントIDをリクエストスコープに埋め込み、アプリケーション層で越境を防止
- 「役割(ロール)ベース」のポリシーで許可可能な操作を静的に制御
- 管理者UIは別アプリに分離し、通常権限からのアクセス経路を遮断
よくある失敗例¶
- フロント側でメニューを非表示にしただけで、バックエンド側の認可チェックが抜けている
- マイナーなユースケースで制御分岐が抜けており、特定条件で権限昇格が発生
- 一部のAPIにだけロールチェックがなく、他人のデータが取得・編集できてしまう
FAQ¶
Q. フロント側だけでUI制限すればOK?
A. NG。認可は必ずバックエンドで行う。UI制限はあくまで利便性と誤操作防止のため
Q. ユーザーが越境して他テナントのデータを見れないようにするには?
A. APIの入口で認証済みユーザーの所属テナントを検証し、リクエストされたリソースのスコープと照合する