SSOとSAMLの説明、誰にでもわかるように
SSOやSAMLはしばしば曖昧に使われ、異なる解釈が可能です。この記事では、これらの概念を明確にし、それらがどのように関連しているのかを説明し、理解しやすくするための実例を提供します。
SSOやSAMLはしばしば曖昧に使われ、異なる解釈が可能です。この記事では、これらの概念を明確にし、それらがどのように関連しているのかを説明し、理解しやすくするための実例を提供します。
SSOやSAMLはしばしば曖昧に使われ、異なる解釈が可能です。この記事では、これらの概念を明確にし、それらがどのように関連しているのかを説明し、理解しやすくするための実例を提供します。
SSO(シングルサインオン)は、ユーザーが一度ログインすると複数のアプリケーションやサービスに個別にログインすることなくアクセスできる認証プロセスです。しかし、この一般的な定義は、SSOが使用されるさまざまなシナリオに適用できます。
SSOが関与するさまざまなシナリオがあります。
時には、ソーシャルログインをソーシャルSSOと呼ぶことがあります。たとえば、ユーザーが Google サインインを使って新しいアプリにアカウントを作成し、Google に保存されたアイデンティティと情報を直接使用することができます。このシナリオでは、ユーザー自身が自分のアイデンティティを管理します。
ソーシャルSSOは、ユーザーが情報をコントロールしやすくし、アカウント作成とログインの過程での煩雑な手順を減らします。ソーシャルSSOは通常、OAuth 2.0やOIDCのようなオープンスタンダードプロトコルに依存しています。

まず、アイデンティティプロバイダーとサービスプロバイダーの概念を簡単に説明します。
簡単に言えば、アイデンティティプロバイダーはあなたが誰であるかを証明し、サービスプロバイダーはあなたのアイデンティティが確認されたらそのサービスにアクセスできるようにします。
エンタープライズSSOは、よりビジネスに焦点を当てたシナリオで使用され、上記の2つの用語で区分される、典型的なケースが2つあります:IdP発信のSSOとSP発信のSSOです。これらの用語は技術的に思えるかもしれませんが、シナリオは実際には非常に単純です。
従業員として、会社のアプリケーションやリソースにオンボーディングする時を考えてみてください。通常、HR がアカウントを作成します。次に、そのアカウントを使用して Okta や Google Workspace のようなプラットフォームにログインします。ログインすると、企業ポータルにリダイレクトされ、給与システムやコラボレーションツール、Workday などのすべての企業アプリケーションにアクセスできます。

視点を変えて、別の視点から見てみましょう。時には、特定の製品のログインページから始める必要があります。たとえば、同僚とオンライン会議を行うために Zoom を使用したい場合、「SSOでログインする」オプションが表示されます。このシナリオは、SP発信のSSOとして知られています。

エンタープライズSSOの最初の利点は、企業が従業員のアイデンティティを簡単に、柔軟に、安全に管理できることです。
たとえば、あなたが会社を経営していて、すべての従業員が購入した製品やサービスにアクセスする必要があるとしましょう。会社が生成したリソースは会社に属するため、企業所有のアイデンティティシステムが必要です。従業員が個人的なアイデンティティを使用して会社のリソースにアクセスすると、セキュリティや管理の課題が生じます。
一方、SP発信のSSOのようなシナリオにおいて、従業員は会社所有の複数のアプリケーションやサービスにアクセスします。従業員がオンボーディングまたはオフボーディングする際、HR は会社のすべての製品やサービスにおいて多くのアカウントを作成および削除する必要があり、それは面倒で時間がかかります。
エンタープライズSSOは、このプロセスをユニバーサルアイデンティティシステムを通じて簡素化し、SCIM(クロスドメインアイデンティティ管理システム)やJust-in-Timeプロビジョニングのようなツールでさらに効率的にします。
IdP発信のSSOは、「エンタープライズ対応」になりたい製品開発者にとって有益です。たとえば、最初は個々の消費者に焦点を当てたスタートアップで、後に大企業があなたの製品を使用したい場合、彼らは従業員が Microsoft Entra を使ってログインすることを要求するかもしれません。この場合、取引を成立させるためにエンタープライズSSOを製品に統合する必要があります。
SAML(セキュリティアサーションマークアップ言語)は、認証と認可のためのオープンスタンダードプロトコルです。OAuthやOIDCとともに、SAMLは特に従業員のアイデンティティ管理において、アイデンティティ管理システムで広く使用されています。OktaやMicrosoft Entraのような商業アイデンティティプロバイダーは、標準プロトコルの一つとしてSAMLを一般的にサポートしています。
いくつかの古いシステムやソーシャルサインインプロバイダーもSAMLのサポートを提供しているため、システムにSAMLを組み込むことで、幅広いアイデンティティプロバイダーとの互換性と将来のエコシステムの成長を確保することができます。
SAMLはしばしばエンタープライズSSOのシナリオで使用されます。たとえば、このような状況を考えてみてください:
あなたの営業チームが製品開発者に連絡して、「大きなクライアントがSAMLサインインを要求している。この技術をサポートする必要がある」と言います。
SAMLやIAM(アイデンティティとアクセス管理)に詳しくないエンジニアの場合、最初のステップはおそらく「SAML」または「SAMLサインイン」を検索することになるでしょう。
最終的には、エンタープライズSSOを製品に統合し、「エンタープライズ対応」とすることが目的です。SAMLのような技術を使って大規模な顧客の安全な認証ニーズを満たすことになります。
以下はその二つのタイプの簡単な分解です:
SAMLが技術的な観点からどのように機能するかを見るには、SAMLの動作原理をチェックしてください。
SAMLとSSOの定義はしばしば混同されますが、単純に以下のように説明できます:
次のことを想像してください:朝、オフィスに入り、各アプリケーションに個別にログインする代わりに、一度ログインすればすべてにアクセスできるようになります。このシームレスな体験がSSO(シングルサインオン)です。それはあなたの職場のツールのドアをすべて開ける普遍的な鍵のようなものです。
しかし、SSOはどのように機能するのでしょうか?
ここでSAML(セキュリティアサーションマークアップ言語)が登場します。SAMLは、あなたのログインシステム(アイデンティティプロバイダー、略してIdP)と使用したいアプリ(サービスプロバイダー、略してSP)の間の信頼できるメッセンジャーのようなものです。SSOを通じてログインするとき、SAMLはIdPからアプリへのあなたのアイデンティティの「証拠」を安全に送信し、あなたが自分自身であることを確認します。
したがって、要約すると:
SSOは利便性を向上させ、SAMLはすべてが安全で接続されたままであることを保証し、再度考える必要なくすべてにアクセスできるようにします。
はい、SAMLに加えて、OIDCもエンタープライズSSOシナリオで一般的に使用されるプロトコルです。たとえば、Logtoのエンタープライズコネクタでは、Microsoft Entra(OIDC)とMicrosoft Entra(SAML)の両方をサポートしています。

エンタープライズ顧客に販売している場合、できるだけ早くSAMLのサポートを考慮することが重要です。しかし、SAMLプロトコルのサポートに焦点を当てるだけでなく、全体のエンタープライズSSO認証フローを考慮してください。考慮すべき重要なシナリオをいくつか示します:
LogtoはエンドツーエンドのエンタープライズSSOフローを提供し、複数の有名なSAMLコネクタをサポートしています。多くの一般的なシナリオに統合でき、必要とされるでしょう。Logtoのすべての機能を、Logto CloudからLogto OSSまで、Logtoのウェブサイトで探ってみてください。