IdP(IDプロバイダー)とは?SP(サービスプロバイダー)との役割と違いやメリットについて解説
IdP(IDプロバイダー)とは?
IdPとはIdentify Provider(IDプロバイダー)の略称で、SAML認証においてユーザーを認証し、認証情報を提供するシステムやサービスを指します。また、ユーザー情報の一元管理も行います。ユーザー認証やシングルサインオンなどの機能を提供する認証システムやIDaaS(Identity as a Service)にとってIdPとしての機能を持つということは、SAML認証を行うために欠かせないことです。
シングルサインオン(SSO)を実現するSAML認証とは?
SAML認証とは、シングルサインオン(SSO)を実現するための認証連携方式の1つです。SAMLは「Security Assertion Markup Language」の略称で、異なるドメイン間でパスワード等の情報を渡すことなく安全に認証されたユーザーの情報を連携するためのXMLベースの技術標準です。
また、SAML認証ではユーザーがIdPで認証済みと判別できる認証情報だけでなく、認証されたユーザーの属性情報の連携を行うことも可能です。例えば、各ドメインのアプリケーションは、連携された属性情報を利用してユーザーごと、部署ごとにアクセス制限することが可能です。
図:SAML認証の仕組み
IdPとSPの役割と違い
SPとは?
SPとはService Provider(サービスプロバイダー)の略称で、SAML認証でユーザーがログインするアプリケーションのことを指します。SAML認証では認証されたユーザーの情報を連携するための仕様が定められており、SAML認証を利用するにはその仕様に沿って認証連携を行うための実装がIdPとSPの双方で行われている必要があります。SAML認証のSP対応を表明しているアプリケーションの代表的な例として、Google WorkspaceやMicrosoft 365(旧 Office 365)といったクラウドサービスが挙げられます。
IdPとSP間の役割と違い
SAML認証において、IdPはユーザー情報を管理し、認証を行い、ユーザーの認証情報と属性情報を提供する役割を持ち、IdPにログインしたユーザーの情報をSPに提供します。一方SPはIdPの利用者としての役割を持ち、IdPからユーザーの認証情報を受け取り、ユーザーを自身(アプリケーション)にログインさせます。
また、SAML認証でユーザーがSPにログインするまでの処理フローには「IdP initiated」と「SP initiated」の2つのパターンが存在します。どちらのパターンもIdPとSPの役割は同じですが、ユーザーが最初にIdPにアクセスするか、SPにアクセスするかで、SAML認証の処理内容が異なります。どちらのパターンでSAML認証が動作するかは、IdPとSPの仕様や設定によって異なります。
図:IdP initiatedの処理フロー例
図:SP initiatedの処理フロー例
IdPで認証するメリット
IdPでは、IdPにログインしたユーザーの認証情報と、SAML認証のSPとなるアプリケーションにログインする際に使用するユーザーIDやアクセス権限の判定に使用されるユーザー属性といった属性情報を一元管理しています。IdPでは、これらのユーザー情報を適切に管理し、SAML認証時にSPに連携します。SPは、ユーザーIDなどのユーザーを識別するための情報を保持さえしていれば、連携されたユーザー情報を使ってユーザーを識別し、アクセス制限を行うことが可能となります。
また、社員の異動や入退社に応じて、社員用のID/パスワードを発行、修正、削除といった運用が発生しますが、IdPを利用することで一元管理できるので、修正漏れ、削除漏れなどを防ぐことができます。IdPへのユーザー情報の登録においては、別途ID管理システムを導入することでより効率的に管理することができます。
シングルサインオン(SSO)の実現によりユーザーの負荷を下げることができる
SP対応を表明しているクラウドサービスや社内システムをSAMLのライブラリ等を用いてSPとして構成することで、SAML認証によるシングルサインオン(SSO)が実現できます。
シングルサインオン(SSO)は、一度のログイン操作を行うだけで複数の業務システムに自動的にログインすることができる仕組みです。これにより、ユーザーが業務システムにログインする手間を軽減できます。
ユーザーはIdPへのログイン時に使用する1つのID/パスワードですべてのSPにログインできるようになるため、ユーザー情報の管理がIdPの1箇所で完結し、クラウドサービスや社内システムごとにID/パスワードを覚える必要がなくなります。
セキュリティを強化できる
シングルサインオン(SSO)により、ログイン時に使用するユーザー情報はSPには保存されずIdPに集約されます。ID/パスワードは、IdPへのログイン時に使用する1つのみとなるので、複数のアプリケーションで同じパスワードを使いまわすことを防止することができます。さらに、IdPではパスワードに使用できる文字種や文字数などに制限を効かせるパスワードポリシーを設定することができます。システム管理者が、IdPでパスワードポリシーを設定することで、システム環境全体から簡易なパスワードを排除することができます。これらのセキュリティ対策により、パスワードリスト攻撃やブルートフォース攻撃といった代表的な不正ログイン攻撃によるセキュリティリスクを軽減することができます。
その他にも、IdPへのログイン時にワンタイムパスワードや生体認証などの複数の認証要素を組み合わせた多要素認証を設定することで、さらにセキュリティを強化することも可能です。また、IdPにユーザー認証が集約されるため、アプリケーションなどのSPごとに多要素認証の実装対応をしなくとも、すべてのSPに対して多要素認証による高セキュリティを享受することができます。
2022年9月29日
※この記事に掲載されている内容、および製品仕様、所属情報(会社名・部署名)は公開当時のものです。予告なく変更される場合がありますので、あらかじめご了承ください。関連記事一覧
パスワードレス認証とは?認証の種類と仕組み、メリットと注意点について解説
ID管理とは? 重要性やメリット、ID管理システム導入のポイントについて解説
ID管理の業務負荷を軽減する「認証基盤」とは?4つの機能と導入時の課題について解説
多要素認証(MFA)とは?セキュリティ向上に貢献できる理由や認証方式の種類について解説
シングルサインオン(SSO)認証とは?仕組み、認証方式の種類、メリットや認証連携のパターン
パスワードレス認証を実現するFIDO2認証<不正ログインの脅威と対策(第4回)>
多要素認証に用いられる認証方式<不正ログインの脅威と対策(第3回)>
今、求められている不正ログイン対策とは<不正ログインの脅威と対策(第2回)>
Webサービスに潜む不正ログインの脅威<不正ログインの脅威と対策(第1回)>
Azure AD導入環境におけるクラウドとオンプレミスのアカウント管理の実現と課題 <テレワーク時代のアカウント管理(第4回)>
クラウド利用を見据えたアカウント管理システムの役割と重要機能 <テレワーク時代のアカウント管理(第3回)>
アカウント管理システムの導入事例と将来的に果たすべき役割 <テレワーク時代のアカウント管理(第2回)>
急拡大するテレワーク時代に不可欠なアカウント管理 <テレワーク時代のアカウント管理(第1回)>
OpenAMの注目機能「多要素/リスクベースの認証」と「OpenID Connect」 <OpenAMによるシングルサインオン(第3回)>
OpenAMのコア機能「ポリシーベースのアクセス管理」と「SAMLフェデレーション」 <OpenAMによるシングルサインオン(第2回)>
OpenAMを使ったシングルサインオン(SSO)の仕組み <OpenAMによるシングルサインオン(第1回)>
