GLOSSA

認可

にんか

Authorization

一言でいうと

認証された人が「何をしてよいか」を判定する仕組みのこと。

詳しい意味

認可(Authorization)は、すでに認証(Authentication)されたユーザーが「どのリソースに、どの操作をしてよいか」を判定する仕組みです。たとえば「自分の投稿は編集できるが、他人の投稿は読み取り専用」「管理者だけが削除できる」といったルールを定義・適用します。認証(あなたは誰か)と認可(その人に何が許されているか)はセットで語られますが、別の概念です。実装としては「ロール(admin / user / guest)」「権限のリスト(ABAC)」「リソースオーナー判定」などが使われます。

何に使うか

ログイン後の画面で「自分のデータだけ表示・編集できる」状態を作るとき。管理者と一般ユーザーで使える機能を分けるとき。APIで他人のリソースへの不正アクセスを防ぐとき。

どんな時に出るか

「認可漏れで他人のデータが見えてしまう」「認可ロジックを共通化」「認可は認証と別物」といった場面で登場します。

具体例

  • 認可漏れで、他のユーザーの個人情報が取得できてしまう脆弱性を修正した。
  • 認可ロジックは共通モジュールに集約して、ハンドラ毎に再実装しないようにした。

別名・略称

authorization(おーそらいぜーしょん)authz(おーすぜっと)

関連語

認証

間違えやすい語

認証

初心者向けメモ

ホテルでのチェックイン(認証)の後、ルームキー(認可情報)でアクセスできる部屋が決まるイメージです。「この人は誰か」確認した後、「この人は何をしてよいか」を判断するのが認可です。

この説明に改善点はありますか?

この説明を修正提案する新しい用語を提案する

提案は管理者が確認した後に反映されます