| 認証 | 認可 |
|---|---|
| ユーザーが本人かどうかを判断します | ユーザーがアクセスできるもの、できないのものを判断します |
| 資格情報を検証するためにユーザーにチャレンジします(たとえば、パスワードやセキュリティ質問への回答を通して) | ポリシーとルールを介してアクセスを許可するかどうかを検証します |
| 通常、認可の前に行われます | 通常、認証に成功した後に行われます |
| 一般的にIDトークンを介して情報を伝達します | 一般的にを介して情報を伝達します |
| 一般的にによって管理されます | 一般的にOAuth 2.0フレームワークまたは中央管理の認証プラットフォームによって管理されます |
| 例:会社の従業員は、会社のメールにアクセスする前にネットワークを介して認証する必要があります。 | 例:従業員が正常に認証したら、システムはこの従業員がアクセスできる情報を判断します。 |
認証と認可
認証と認可の違いについて説明します。
認証と認可はしばしば同じ意味で使われますが、根本的に異なる機能を表します。この記事ではこの2つを比較対照し、相互補完的にアプリケーションを保護する仕組みを説明します。
簡単に言えば、認証はユーザーが誰であるかを検証するプロセスで、認可はそのユーザーが何にアクセスできるかを検証するプロセスです。
これらのプロセスを現実世界の例を用いて比較してみましょう。空港のセキュリティチェックを通るとき、私たちは身分証明書を提示してIDを確認(認証)します。そして搭乗口に着いたら、搭乗券を係員に提示することで、予約した便への搭乗を許可(認可)してもらい、飛行機に乗ることができます。
以下は認証と認可の違いを示した簡単な概要です。
手短に言うと、リソースへのアクセスは認証と認可の両方によって保護されています。IDを証明できなければ、リソースへのアクセスは許可されません。IDを証明できたとしても、そのリソースの権限が付与(認可)されていない場合は、やはり、アクセスが拒否されます。
Auth0では、やを使って構成できるパスワードレス、多要素認証()、シングルサインオン(SSO)といった、認証用の製品やサービスを提供しています。認可用には、Role-Based Access Control(RBAC)とFine-grained Authorization()を提供しています。