「認証(Authentication)」と「認可(Authorization)」。似ているようで全く違うこの2つの概念は、システム設計やセキュリティを考える上で避けては通れない、いわば「IT世界の関所」のような存在です。
この記事では、認証と認可それぞれの仕組みについてわかりやす例で解説します。
認証と認可の決定的な違い
認証と認可
認証と認可について「遊園地」を例に考えて解説します。
- 認証(だれ?): 入園ゲートでのチケット確認。
- 「あなたは有効なチケットを持っている本人ですね」と確認することです。
- 「あなたは有効なチケットを持っている本人ですね」と確認することです。
- 認可(なにができる?): アトラクションごとのファストパスや身長制限の確認。
- 「このジェットコースターに乗る権限(認可)はあるか?」を確認することです。
※テーマパークに入園できたからといって、全員がすべての場所に行けるわけではありません。「プレミアムパスを持っている人だけがファストパス列に並べる」「身長制限をクリアしているからジェットコースターに乗れる」といった、場所ごとの個別の許可です。
- 「このジェットコースターに乗る権限(認可)はあるか?」を確認することです。

もう少しイメージしやすく解説すると
「パークの正規チケットを持って入園した(=認証OK)」状態でも、一般チケットの人が関係者以外立ち入り禁止のバックヤードに入ろうとしたら「あなたはそこに入る権限がありません(=認可NG)」と止められますよね。
これと全く同じことがシステムでも起こります。
IdPとSPの決定的な違い
「認証・認可」というセキュリティの基礎の土台を理解したところで、認証認可と関係の深い『IdP』と『SP』について次に解説していきます。
IdPとSPについて
- IdP(Identity Provider): ユーザー情報を一括管理し、「この人は本人です」と証明書を出す役所のような存在。
- 遊園地を例にした場合は遊園地の外に存在して、あなたの身元を確認すると「入園証(パス)」を発行してくれる場所になります。
- 遊園地を例にした場合は遊園地の外に存在して、あなたの身元を確認すると「入園証(パス)」を発行してくれる場所になります。
- SP(Service Provider):ユーザーが実際に使いたいアプリ(Slack、Salesforceなど)のこと。IdPからの証明書を信じてログインを許可します。
- 遊園地そのもののことであり遊園地に入る時にIdPが発行した「パス」をチェックします。「チケット発行所(IdP)が認めたパスを持っているから、遊園地に入っても大丈夫です」と利用を許可、拒否する場所になります。

認証認可の流れ
遊園地を例に出しましたが、あなたがシステムにログインしようとしたときの、裏の流れは以下のようになっています。

※トークンとはシステムの世界における「1回使い切りのデジタル引換券」のことです。
※トークン(引換券)の中身も、「SAML」という世界共通のルールに従って、ユーザーの名前などの情報が正しく書き込まれています。

なぜIdPとSPが存在しているのか?
この「IdPとSPを分ける」という仕組みがなぜ重要なのかは「SSO(シングルサインオン)」という概念を理解するとそのメリットが鮮明になります。
もし、このSSOと呼ばれる仕組みがなければ、私たちが利用するサービス(AWS、Salesforce、Zoom、Slackなど)ごとに、それぞれ異なるIDとパスワードを設定し、ログインするたびに毎回入力しなければなりません。
これには、運用面でもセキュリティ面でも大きなリスクと無駄が潜んでいます。
そこで登場するのが、IdPでのユーザ一元管理であり、様々なメリットが存在します。
- IdPのメリット(ユーザ一元管理): あなたは「IdP」という信頼できる窓口で一度だけ本人確認を済ませれば、あとはそこから発行された「パス(トークン)」を見せるだけで、連携しているシステムに自由に入れるようになります。
- SPのメリット(サービスへの専念): システム側は、ユーザーの本人確認という面倒な業務を「信頼できるIdP」に丸投げできます。結果、システムを運営側はサービス作りだけに集中することができるようになります。
身近なところや、多くの企業で実際に使われている有名なIdP製品には、たとえば以下のようなものがあります。
- Microsoft Entra ID (旧Azure AD)
- Okta
- OneLogin
EIAMとCIAMの違いについて
さらにIdPには2種類あります。
- EIAM(Enterprise IAM)
- Enterprise:企業
- CIAM(Consumer IAM)
- Consumer:顧客
EIAM(従業員向け)は、自社の社員や組織メンバーを対象とした社内システム用の仕組みです。アカウントは管理者が作成・付与した特定の人物に限定され、組織の統制を目的としています。
一方、CIAM(顧客向け)は一般消費者を対象としており、ユーザー自身が自由に会員登録を行える「セルフサインアップ」を前提とした、サービス利用の入り口となる仕組みです。
| EIAM (従業員向け) | AWS IAM Identity Center |
| CIAM (顧客向け) | Amazon Cognito |
遊園地の例では誰でも会員登録ができるので、CIAMのサービスを利用したものになります。
まとめ
最後にもう一度、この記事で出た重要な用語について整理します。
- 認証: 「私は〇〇という本人です」と証明する行為。
- 認可: 「あなたはここに入っていいですよ」と許可される行為。
- IdP(認証プロバイダ): 「本人確認」を行うシステムでユーザー情報の管理役。
- SP(サービスプロバイダ): サービスを提供し、IdPから受け取ったトークンをもとに利用を許可するシステム。
多くのエンジニアが最初は混同してしまうこれらの概念ですが、認証認可を理解することで、クラウド環境のセキュリティ設計やAPI連携の仕組みが驚くほど明確に見えてきます。
この役割分担があるからこそ、私たちは安全かつ快適に、一つのIDで複数のサービスを利用できるのです。認証・認可の仕組みで迷ったときは、ぜひこの記事を振り返って、その「役割の境界線」を確認してみてください。

コメント