シングルサインオンにおいて、サービスプロバイダー(SP)とは、アイデンティティプロバイダー(IdP)によるユーザーの認証を信頼し、IdPのアサーションに基づいてアクセス権を付与するシステムのことです。Versa 、Director、Concerto、およびSSEゲートウェイは、それぞれSPとして機能し、一意のSPエンティティIDとアサーションコンシューマーサービスのURLによって識別されます。
主なポイント
- SPは、認証情報を自ら検証するのではなく、IdPの主張を信頼します。
- SP主導のSSOはログインページから開始され、IdP主導のSSOはIdPから開始されます。
- Versa Director、Concerto、SSE Gatewaysは、それぞれ個別のSPとして登録されます。
- SPエンティティIDとACS URLは、Versa の各SP統合を一意に識別します。
- SAMLとOpenID ConnectはいずれもSPの役割を採用しており、4つのIdPに対してテストが行われました。
このページの内容: その重要性仕組み種類サービスプロバイダーとVersaよくある質問
サービスプロバイダーはなぜ重要なのでしょうか?
シングルサインオン(SSO)は、各アプリケーションが独自のログインシステムを運用する必要をなくすために存在します。明確なSP(サービスプロバイダー)の役割がなければ、Director、Concerto、ポータルといった各製品は、それぞれ独自のパスワードデータベース、独自の多要素認証登録、そして退職した従業員のアクセス権を無効にする独自のプロセスを必要とするでしょう。SPの役割は、認証の決定を1つの信頼できるIDプロバイダーに委任することでこの問題を解決します。これにより、アプリケーションは署名付きのアサーションを信頼するだけで済み、自ら認証情報を管理する必要がなくなります。
この分離は、セキュリティ対策の一環でもあります。IdPで認証を一元化することで、多要素認証の適用、パスワードポリシー、アカウントのライフサイクル管理が、組織が運用するすべてのSPに複製され(そして見落とされる可能性もある)、分散されることなく、一か所で行われるようになります。Director、Concerto、Titan Portalのログインを同時に管理しなければならない管理者にとって、SPの役割により、1つのIdP認証情報で、1つのポリシーのもとこれらすべてにアクセスできるようになります。
サービスプロバイダーとは何ですか?
仕組み上、SPはSSOハンドシェイクのうち、パスワードが一切関与しない側です。 SP主導のSAMLでは、SPが認証リクエストを作成し、ブラウザをIdPにリダイレクトします。IdPはユーザーを認証し、署名付きのアサーションをSPのアサーションコンシューマーサービス(ACS)のURLに送信します。SPは署名と対象者を検証した後、ユーザーをログインさせます。IdP主導のフローでは、この一連の処理はIdPから開始され、IdPがアサーションをSPに直接送信します。
SPを特定するには、2つの識別子が必要です。1つは、アサーション内でSPを識別する「SPエンティティID」(オーディエンスURIまたはSP発行者とも呼ばれる)であり、もう1つは、IdPに対してログイン応答をどこに送信すべきかを示す「ACS URL」です。
サービス提供者の種類
VersaのSSO実装では、サポートされている2つのプロトコルに合わせて、SPの役割が2通りの方法で定義されています。SAMLサービスプロバイダーは、SPエンティティIDとACS URLによって識別されるIdPと、署名付きXMLアサーションを交換し、パスワード、証明書、または多要素認証といった特定の認証コンテキストを要求することができます。 一方、OpenID Connectのサービスプロバイダー(OIDCの用語では一般に「リライイングパーティ」と呼ばれますが、Versaの画面上では依然として「サービスプロバイダー」と表示されています)は、代わりにIdPにクライアントIDとシークレットを登録し、「authorize」、「token」、「userinfo」、「revoke」のエンドポイントを通じて署名付きトークンを交換します。
どちらのバリエーションも、IdPを信頼し、その応答を検証し、ユーザーをログインさせるという同じ処理を行います。異なるのは、プロトコル、認証情報の形式、およびSPが登録する識別子のみです。
サービスプロバイダーおよびVersa
Versa Director、Concerto、SSE GatewaysはいずれもSPの役割を担い、ADFS、Azure、Okta、Ping Identityに対してテストが行われました。Versaの規約では、SPエンティティIDは次のように登録されます。 http://versa-networks.com/sp、SAMLレスポンスは次のようなACS URLに送信され、 https://<director-ip>/versa/sso/loginConsumer、および並列処理に対するOpenID Connectの応答 /versa/sso/openid/loginConsumer エンドポイント。参照: Concerto のシングルサインオンを設定する Okta を使った完全な手順については、こちらをご覧ください。
SSOはテナントごとに適用範囲を設定できます。「None」、「Default IdP Connector」、または「Single IdP Connector」のコネクタモードによって、システムユーザーおよびテナントユーザーが特定のSPを通じて認証を行うかどうかが決まり、各組織は独自のIdPコネクタにバインドされます。「ユーザーの管理」では、これらの設定を構成する担当者を規定する、プロバイダー管理者としての「サービスプロバイダー」という別の意味について解説しています。
よくある質問
SP主導型SSOとIdP主導型SSOの違いは何ですか?
SP主導型のSSOでは、フローはSP自身のログインページ(ConcertoまたはDirector上の「SSOでログイン」をクリック)から始まり、IdPへリダイレクトされます。一方、IdP主導型のSSOでは、ユーザーはIdPのダッシュボードから開始し、SPへ直接リダイレクトされます。
SPエンティティIDとは何ですか?
SPエンティティIDとは、SAMLフェデレーションにおいて、IDプロバイダーに対してサービスプロバイダーを識別するための一意のURIのことです。Versa DirectorおよびConcertoは、次のように登録されます。 http://versa-networks.com/sp. IdPは、これをアサーションコンシューマーサービスのURLと組み合わせて、ログイン応答のルーティングと検証を行います。
Versaのサービスプロバイダーロールと連携できるIDプロバイダーはどれですか?
VersaのSSO実装は、ADFS、Azure、Okta、Ping IdentityをIDプロバイダーとして、SAMLまたはOpenID Connectを介してテストされています。これらのプロトコルのいずれかをサポートする標準準拠のIDプロバイダーであれば、通常、Versa Director、Concerto、またはSSE Gatewayをサービスプロバイダー(SP)としてフェデレーション接続が可能です。
OpenID Connectは、SAMLと同じサービスプロバイダーの役割を使用していますか?
概念的にはその通りです。Versaのドキュメントでは、両方の役割を「サービスプロバイダー(service provider)」と呼んでいますが、OpenID Connectでは一般的に「リライイングパーティ(relying party)」と呼ばれています。OpenID ConnectのSPは、SPエンティティIDやACS URLの代わりに、クライアントID、シークレット、リダイレクトURIをIdPに登録します。
Concertoのユーザー管理における「サービスプロバイダー」は、SSOのサービスプロバイダーの役割と同じものですか?
いいえ。Concertoでは、テナントやインフラストラクチャを管理する管理者ロールについても「サービスプロバイダー」という用語を使用しています(サービスプロバイダー管理者、サービスプロバイダービュー)。これは、SAMLやOpenID Connectとは無関係なMSPの概念であり、ここでの「サービスプロバイダー」とは、IdPのアサーションを利用するシステムを指します。
サービスプロバイダーに関する詳細
さらに詳しく知りたい場合は、私たちが信頼している情報源を以下にご紹介します。
| IETF RFC 6749: OAuth 2.0 認証フレームワーク |
|---|
| OpenID Connectが基盤とする認証フレームワークであり、クライアント(サービスプロバイダー)がトークンを要求し、その有効性を検証する方法を定義しています。 |
関連用語
サービスプロバイダーに関する記事をお読みなら、次はこれらをチェックしてみる価値があります。
| IDプロバイダー | 顧客側設備 | 識別名 |
|---|---|---|
| カウンターパートの役割:ユーザーを認証し、サービスプロバイダーがアクセスを許可または拒否するために利用するアサーションを発行する。 | サービスプロバイダーのネットワークに接続される支店用機器――ここでは、「サービスプロバイダー」という用語を、SSO以外のより広い意味で用いています。 | ディレクトリエントリまたは証明書のサブジェクトを識別する階層的な名前。SPがフェデレーションユーザーを検証する際に、しばしば参照される。 |