メインコンテンツへスキップ
認証と認可はしばしば同じ意味で使われますが、根本的に異なる機能を表します。この記事ではこの2つを比較対照し、相互補完的にアプリケーションを保護する仕組みを説明します。

認証と認可とは何か?

簡単に言えば、認証はユーザーが誰であるかを検証するプロセスで、認可はそのユーザーが何にアクセスできるかを検証するプロセスです。 これらのプロセスを現実世界の例を用いて比較してみましょう。空港のセキュリティチェックを通るとき、私たちは身分証明書を提示してIDを確認(認証)します。そして搭乗口に着いたら、搭乗券を係員に提示することで、予約した便への搭乗を許可(認可)してもらい、飛行機に乗ることができます。

認証と認可

以下は認証と認可の違いを示した簡単な概要です。 手短に言うと、リソースへのアクセスは認証と認可の両方によって保護されています。IDを証明できなければ、リソースへのアクセスは許可されません。IDを証明できたとしても、そのリソースの権限が付与(認可)されていない場合は、やはり、アクセスが拒否されます。 Auth0では、を使って構成できるパスワードレス多要素認証)、シングルサインオン(SSO)といった、認証用の製品やサービスを提供しています。認可用には、Role-Based Access Control(RBAC)とFine-grained Authorization)を提供しています。