| 認証 | 認可 |
|---|---|
| ユーザーが本人であることを確認する | ユーザーがアクセスできるものとできないものを判断する |
| ユーザーに資格情報の検証を求める (たとえば、パスワード、秘密の質問への回答、顔認証など) | ポリシーやルールに基づいてアクセスが許可されるかどうかを検証する |
| 通常は認可の前に行われる | 通常は認証が成功した後に行われる |
| 一般に、情報はIDトークンを通じて伝達される | 一般に、情報はアクセストークンを通じて伝達される |
| 一般に、OpenID Connect (OIDC) プロトコルによって規定される | 一般に、OAuth 2.0 フレームワークによって規定される |
| 例: 会社の従業員は、社用メールにアクセスする前にネットワークで認証を行う必要がある | 例: 従業員が正常に認証されると、その従業員がどの情報へのアクセスを許可されているかをシステムが判断する |
認証と認可の違い
認証と認可の違いを確認します。
認証と認可は混同されがちですが、実際には本質的に異なる機能です。この記事では、この2つの違いを比較しながら、それぞれがどのように補完し合ってアプリケーションを保護するのかを説明します。
簡単に言うと、認証はユーザーが誰であるかを確認するプロセスであり、認可はそのユーザーが何にアクセスできるかを確認するプロセスです。
これらのプロセスを実際の例にたとえると、空港で保安検査を通る際には、本人確認のために身分証明書を提示します。次に、搭乗口に着いたら、客室乗務員に搭乗券を提示します。すると、客室乗務員はあなたが搭乗できることを確認し、飛行機へのアクセスを許可します。
以下に、認証と認可の違いを簡単に示します。
要するに、リソースへのアクセスは認証と認可の両方によって保護されます。身元を証明できなければ、リソースへのアクセスは許可されません。身元を証明できたとしても、そのリソースに対する認可がなければ、やはりアクセスは拒否されます。
Auth0 では、パスワードレス、多要素認証 () 、シングルサインオン (SSO) などの認証向け製品とサービスを提供しており、これらは または を使用して設定できます。認可については、Auth0 は ロールベースアクセス制御 (RBAC) や きめ細かな認可 を提供しています。