Skip to main content

authorization(認可)

認可とは、権限を与えること。

認可: Authorization、AuthZと略されることも 誰には無関係 特定の条件に対してリソースアクセス権限を与えること。 しかし、結局は認証済みの主体に対して認可を与える場合が多い。

認可を理解するための手助け

理解を助けるメタファは「鍵の発行」や「チケット(切符)の発行」です。 純粋な認可は、それがあるからといって身元が明らかになる話とは関係がありません。 駅で切符を買いました。あなたは電車に乗ることを許されます。それだけです。あなたが誰かは関係ありません。 また、誰かから購入済みの切符をもらいました。これでもあなたは電車に乗ることができます。委譲されたんですね。 認可は、それを持っていることによって何か(リソースアクセス)が許されます。ドアは鍵を持っていれば開くし、持っていなければ開きません。繰り返しますが、あなたが誰かは関係ありません。

認証せずに認可することなんてあるのか

あります。上の切符の例がそれにあたりますね。 その他**iptablesの設定で特定のIPアドレスからのリクエストを許可する、**なんていうのも認証に基づかない認可です。IPアドレスによって、相手のアイデンティティが確定するとは限りませんね。

OAuth 2.0

OAuth2.0全フローの図解と動画

サードパーティーアプリケーションによるHTTPサービスへの限定的なアクセスを可能にする認可フレームワークである

認可の委譲の仕組み。 アクセストークンという鍵を利用してリソースへのアクセス許可(錠を開ける権利)を管理する。

Bearer認証につて