シングルサインオン(Single Sign-On、SSO)とは、その名の通り、SSOはユーザーが1組の認証情報だけを使って、複数のウェブアプリケーションに一度にアクセスできるようにする機能です。
SSOがなぜ必要なのか?
人事、給与、コミュニケーションなど業務で利用するアプリケーションが増加することによって、従業員が管理しなければならないIDとパスワードも増大しました。また、管理者にとってもアプリケーションごとにIDやパスワードの管理を行う必要があり、悩みの種となりました。
クラウドアプリケーションをはじめとして、様々なアプリケーションを導入している企業にとって、SSOソリューションは、従業員が1回のログインで各サービスにアクセスできるようにします。これにより、ユーザーは複数のパスワードを覚える必要がなくなるため、仕事がしやすくなり、IT部門がパスワードの再設定に費やす時間も削減できます。
SSOは誰のためにあるもの?
SSOによる恩恵は従業員やIT管理者だけに留まりません。企業はSSOを利用して、顧客が1つのアカウントの企業が提供する複数のサービスにアクセスできるようにすることができる。たとえば、多くのブランドを持つ小売のケースでは、SSOによって、顧客がどれかひとつのサービスにアクセスするだけで他のブランドのサービスにもアクセスできるようになり、ユーザーエクスペリエンスを向上させることができます。これは単にサービスの統合を指すのではなく、ブランドごとのサービス間を移動する際に、自動的に再度認証を行うことで実現されます。
企業が新しいアプリケーションを導入するたびに、従業員などのエンドユーザーは覚えておくべき認証情報を新たに作成しなければなりません。エンドユーザーは平均で毎日少なくとも10個のパスワードを覚えている必要があり、毎月3個は忘れているという調査結果もあります。
従業員の40%近くが、さまざまなアカウントで同じ2~4個のパスワードを再利用しており、10%はすべてのアプリケーションで1つのパスワードしか使っていません。このようなパスワード衛生の不備を突き、ハッカーが盗んだ認証情報を使って他の重要なデータにアクセスすることがかつてないほど容易になり、個人も企業も同様に危険にさらされているのです。企業内では、統合ID管理(FIM)やSSOのようなツールを採用することで、すべてのアプリケーションにユーザーが簡単かつ安全にアクセスできるようにする必要があります。
しかしその前に、これらのソリューションの特性を理解することが重要なので、次項で統合ID管理(フェデレーションアイデンティティ管理、FIM)とSSOの違いやユースケースなどを解説します。
→シングルサインオンソリューション選定時の注意点 とは?
FIM(統合ID管理、フェデレーションアイデンティティ管理)とは?
FIMのモデルは広範であり、ツールとしてのSSOはその一部です。初期のインターネットインフラストラクチャでは、あるドメインのエンティティが他のドメインに保存されているユーザー情報にアクセスできないという制約がありました。FIMのモデルは、この課題を解決するために開発されました。さまざまなドメインで事業を展開している企業にとっては、従業員や顧客に対して合理的なエクスペリエンスを提供することが難しいという問題があったのです。
その解決策となるFIMは、企業やアプリケーションがユーザーのアイデンティティを共有するための合意/標準のセットとして開発されました。基本的には、加入者が同じ識別子を使ってさまざまなアプリケーションにアクセスできるように、複数の組織間で取り決められます。要するに、Facebookのアカウント情報を使ってSpotifyにサインインすることを可能にします。
さらに、FIMシステムでは、ユーザーの資格情報を確認して認証する責任は、アプリケーション自体ではなく、アイデンティティプロバイダー(IdP)にあります。そのため、ユーザーが特定のサービスプロバイダー(SP)やアプリケーションにログインしようとすると、SPはIdPと通信してユーザーを認証します。このユーザーアイデンティティの認可は、多くの場合、オープンソースのSecurity Assertion Markup Language(SAML)、またはOAuthやOpenID Connectのような他の関連標準によって実行されます。
FIMとSSOの違い
FIMとSSOの大きな違いは、SSOが1つの組織内のさまざまなシステムで1つの資格情報を認証するように設計されているのに対し、FIMシステムは、さまざまな企業にまたがる多数のアプリケーションへの単一のアクセスを提供します。
つまり、SSOはFIMの機能ですが、SSOを導入しても必ずしもFIMを実現したことにはなりません。しかし、この2つのツールは、データを保護し、ユーザーエクスペリエンスの障害を最小限に抑えるという点で、企業をサポートする上で非常に重要です