メインコンテンツへスキップ
認証と認可は混同されがちですが、実際には本質的に異なる機能です。この記事では、この2つの違いを比較しながら、それぞれがどのように補完し合ってアプリケーションを保護するのかを説明します。

認証と認可とは何ですか?

簡単に言うと、認証はユーザーが誰であるかを確認するプロセスであり、認可はそのユーザーが何にアクセスできるかを確認するプロセスです。 これらのプロセスを実際の例にたとえると、空港で保安検査を通る際には、本人確認のために身分証明書を提示します。次に、搭乗口に着いたら、客室乗務員に搭乗券を提示します。すると、客室乗務員はあなたが搭乗できることを確認し、飛行機へのアクセスを許可します。

認証と認可

以下に、認証と認可の違いを簡単に示します。
認証認可
ユーザーが本人であることを確認するユーザーがアクセスできるものとできないものを判断する
ユーザーに資格情報の検証を求める (たとえば、パスワード、秘密の質問への回答、顔認証など)ポリシーやルールに基づいてアクセスが許可されるかどうかを検証する
通常は認可の前に行われる通常は認証が成功した後に行われる
一般に、情報はIDトークンを通じて伝達される一般に、情報はアクセストークンを通じて伝達される
一般に、OpenID Connect (OIDC) プロトコルによって規定される一般に、OAuth 2.0 フレームワークによって規定される
例: 会社の従業員は、社用メールにアクセスする前にネットワークで認証を行う必要がある例: 従業員が正常に認証されると、その従業員がどの情報へのアクセスを許可されているかをシステムが判断する
要するに、リソースへのアクセスは認証と認可の両方によって保護されます。身元を証明できなければ、リソースへのアクセスは許可されません。身元を証明できたとしても、そのリソースに対する認可がなければ、やはりアクセスは拒否されます。 Auth0 では、パスワードレス多要素認証 () 、シングルサインオン (SSO) などの認証向け製品とサービスを提供しており、これらは または を使用して設定できます。認可については、Auth0 は ロールベースアクセス制御 (RBAC) や きめ細かな認可 を提供しています。