認可とは何が違うのか
前回は「認証とは何をしているのか」を扱いました。
その流れで、次によく出てくる言葉が「認可」です。
この2つは混同されがちですが、
役割ははっきりと分かれています。
結論から言うと、
認証は「誰かを確認すること」、認可は「何をしてよいかを決めること」です。
認証と認可は役割が違う
まず、2つの役割を整理します。
- 認証
-
アクセスしてきた相手が「誰か」を確認する
-
認可
- その相手が「何をしてよいか」を判断する
認証が通っていなければ、
認可の判断自体が行われません。
なぜ認可が必要なのか
同じ人物であっても、
できることは立場によって異なります。
たとえば、
- 閲覧だけできる人
- 登録・更新ができる人
- 管理操作ができる人
これらを区別しなければ、
システムは安全に運用できません。
この「区別」を行うのが認可です。
認可はログイン後に行われる
認可は、
認証が成功したあとに行われます。
- 認証:本人確認
- 認可:操作の可否判断
という順番です。
ログインできたからといって、
すべての操作が許されるわけではありません。
認可で見ているもの
認可では、次のような情報が使われます。
- ユーザーの役割
- 所属
- 割り当てられた権限
これらをもとに、
処理の実行可否が決まります。
処理と認可の関係
処理側では、
- この操作は許可されているか
- 実行してよいか
を、認可の結果として受け取ります。
認可そのものは、
業務処理を行いません。
あくまで、
処理を実行してよいかどうかの判断材料を提供します。
よくある誤解
よくある誤解として、
「ログインできた=何でもできる」
という考え方があります。
しかし実際には、
- ログインできる
- でも操作は制限されている
という状態は普通に存在します。
これは、
認証と認可が分かれているからです。
まとめ
認可とは、
- 認証のあとに行われる判断
- 何をしてよいかを決める仕組み
- システムの安全性を保つための制御
です。
この違いを理解しておくと、
次に学ぶ
「ユーザーとは何を指すのか」
が、より整理された形で理解できるようになります。


コメント