IdPとは
IdP(Identity Provider)とは、SAML認証における認証情報の提供者のことである。組織内で利用しているLDAPやActive Directoryなどの認証サーバとIdPを連携することで、普段利用しているログインIDとパスワードを使ってクラウドサービスなどへログインすることができる。
一般的なクラウドサービスでは、それぞれのサービスごとにID・パスワード等の個別の認証情報を持つことができる。しかし、個々のクラウドサービス毎に別々のパスワードを設定したり管理したりするのは、非常に煩雑で手間がかかり、ユーザーにとって利便性が低い。そのため、最近の各種クラウドサービスでは、SAMLのような共通の認証プロトコルを使うことが増えている。こうしたSAML認証をサポートするクラウドサービスでは、利用者側でIdPを用意することで、様々なサービスの認証情報を一元管理することができる。
なお、IDP(Intruder Detection & Protection)など、他の用語との誤用を防ぐためか、IdPは「d」を小文字で表記するのが普通である。
IdPとSPの違い
IdPと同じく、SAML認証において重要な役割を持つものにSPがある。SPとは、Service Provider(サービスプロバイダ)の略で、SAML認証でユーザがログインするクラウドサービスのことを指す。代表的なSPの例として、Google WorkspaceやMicrosoft 365などがある。IdPはユーザの認証情報を保存・管理・提供するのに対し、SPはIdPから認証情報を受け取り、ユーザをログインさせるという点で役割が異なる。
IdPのSAMLにおける役割
SAMLでは、以下のようなフローで、サービスとIdPが連携して認証が行われる。
- ユーザがサービスにアクセスする。
- SPは、認証済みかどうかを調べ、認証していなければIdPのURLを調べる。
- SPは、IdPのURLを返送する。
- ユーザのブラウザは、SPに自動的にリダイレクトされる。
- ユーザは、IdPに認証を依頼する。
- IdPは、ユーザの認証状況を調べ、まだ認証済みでなければユーザにIDやパスワードの入力を促し、認証処理を行う。
- IdPは、認証トークンをユーザに返送する。
- ユーザのブラウザは、サービスプロバイダに自動的にリダイレクトされる。
- ユーザからSPに、IdPから取得した認証トークンが送信される。
- SPは、認証トークンを検査する。
- 認証トークンが正しければ、ユーザはサービスを利用できるようになる。
以上のフローからも分るように、IdPが実施するのは認証の処理のみである。なお、認証基盤が停止するとこのようなフローを実施する事ができなくなり、サービスが使えなくなる可能性が高い。そのため、十分に冗長性を考慮してシステムを構築する必要がある。
IdPで認証を行うメリット
IdPは、ユーザ認証とID・パスワード管理においてさまざまなメリットをもたらす。以下では、主なメリットを解説する。
シングルサインオン(SSO)の実現
IdPを利用することで、一度の認証で複数のクラウドサービスやアプリケーションにアクセスする、シングルサインオン(SSO)を実現することができる。ユーザは複数のアカウントにログイン情報を入力する必要がないため、利便性が向上し、アカウント管理の煩雑さを軽減することができる。
セキュリティの強化
IdPを利用することで、ユーザ認証情報などのデータは1つの信頼できるプロバイダに集約され、セキュリティ対策を一元管理することができる。また、多要素認証を実現することもできるため、強固な認証手段や暗号化技術を用いて認証情報を安全に管理し、不正アクセスやデータ漏洩のリスクも軽減できる。複数のサービスにおける同じパスワードの使い回しや、セキュリティ強度の弱いパスワードの使用も防ぐことができ、セキュリティリスクの軽減につながる。
アカウント管理の効率化
ユーザのアカウント情報や認証データを集中管理するため、アカウント発行や管理の手間が軽減され、顧客サポートのコスト削減や管理作業の効率向上が期待できる。そのため、サービス提供者側にとっても、アカウント管理の効率化に繋がる。
IdPとシングルサインオン
シングルサインオンとは、様々なシステムの認証を統合して、一回のユーザ・パスワードの入力で認証を行えるようにする技術である。IdPはシングルサインオンの仕組みを実現するために必要な基盤としても知られている。
IDaaS
IDaaSとは、クラウド上で提供される認証サービスのことで、SAMLのIdPとしても利用することができる。ユーザ数に応じたサブスクリプション型の料金体系になっているものがほとんどであるため、利用者が少ない場合はIDaaSを利用するとコストを抑えることができる。ただし、インターネット上のWebサービスであるため、オンプレミス環境にある企業内のActive DirectoryやLDAPサーバなどと連携することができないサービスが多い。導入時には、既存の認証サーバと連携できるかどうかを確認するなど、注意が必要である。
IdPのソフトウェア
IdPの役割を果たすソフトウェアとしては、次の2つのシングルサインオンのオープンソースソフトウェアが使われている。利用者の人数が多い場合には、IDaaSよりも安価にシステムを導入することができる。また、オンプレミス環境に構築すれば、企業内のActive DirectoryやLDAPと連携することもでき、非常に便利である。
Keycloak
Keycloakは、シングルサインオンのソフトウェアの中でも比較的新しいオープンソースソフトウェアである。RedHatが開発していることから、今後利用が進んでいくことが見込まれている。後述するOpenAMと比較すると非常にシンプルなソフトウェアで、SAMLのIdPとして利用するのに適している。またSAMLの他に、OpenID Connectの認証規格にも対応している。デージーネットでは、Office 365やAWSなど、様々なサービスとの連携ができることを確認している。詳しくは、「Keycloakと連携可能なサービス/ソフトウェア」から参照可能である。
「Keycloak〜シングルサインオンを実現する注目のOSS〜」へ
OpenAM
OpenAMは、シングルサインオンのソフトウェアとしてデファクトスタンダード的な位置づけにある。もともとは製品をオープンソース化して公開されたソフトウェアであったが、現在はオープンソースとして提供されておらず、今後の先行きは不透明である。OpenAMではSAMLをサポートしており、IdPとして利用することができる。また、SAMLやOpenID Connectに対応していないアプリケーションでも認証を行えるように、代理認証やエージェント型認証など多くの認証方法をサポートしている。非常に高機能なソフトウェアであるため、SAMLのIdPとして利用するには少々オーバースペックで、導入のコストがやや高くなる傾向にある。そのため最近は、SAMLでの利用を意識したOpenAMの仮想アプライアンスなども販売されている。
これらのソフトウェアを用い、組織内外のサービス間でシングルサインオンを実現することで、インターネット上のサービスの利便性に加え、業務効率も向上する。
デージーネットの取り組み
デージーネットでは、上記のシングルサインオンを実現するソリューションとして、各種OSSとIDaaSを以下のページで比較している。それぞれの機能や特徴、選択するべきおすすめの状況を解説している。
「シングルサインオン(SSO)を構築するおすすめOSSとIDaaSの機能比較」へ
またデージーネットでは、KeycloakやOpenAMを使ったIdPの構築や、導入後の支援サービスを行っている。これまでの認証システムの構築実績を活かし、お客様の用途や利用環境に合わせた最適な認証システムを提案している。特に認証システムは停止するとその影響が大きいため、冗長構成でのシステム構築を推奨している。 サービスプロバイダーがKeycloakやOpenAMとの連携を保証していない場合には、事前の動作検証も実施している。また、導入後の支援サービスとしてOpen Smart Assistanceという保守サービスも提供している。Open Smart Assistanceでは、障害時のリモート調査やセキュリティ情報の通知など、運用におけるサポートサービスを提供している。
【カテゴリ】:認証  セキュリティ  
【Webセミナー】OSSのおすすめメーリングリストシステム紹介セミナー
日程: | 10月23日(水)Webセミナー「BigBlueButton」を使用します。 |
内容: | OSSで実現可能なメーリングリストシステムをご紹介します。 |
ご興味のあるかたはぜひご参加ください。 |