認証と認可とは
認証(Authentication)とは「あなたは誰ですか?」を確認すること、認可(Authorization)とは「あなたは何をしてよいですか?」を決定することです。似た概念ですが根本的に異なり、セキュリティ設計において両方の正確な理解が不可欠です。
認証の方式
知識情報(パスワード・PIN)・所持情報(スマートフォン・トークン)・生体情報(指紋・顔)の3要素があります。複数を組み合わせた多要素認証(MFA)は最も強力な認証方式です。シングルサインオン(SSO)は一度の認証で複数サービスを利用できる仕組みです。
認可の方式
RBAC(ロールベースアクセス制御):役職・役割に基づいて権限を付与する最も一般的な方式。ABAC(属性ベースアクセス制御):ユーザー・リソース・環境の属性を組み合わせて動的に権限を決定する柔軟な方式。
OAuth2.0とOpenID Connect
OAuth2.0は認可のための標準プロトコル(「Googleでログイン」で第三者アプリに権限を与える仕組み)です。OpenID Connectはその上に認証機能を追加したプロトコルです。現代のWebサービスで広く採用されています。