セルフサービスシングルサインオン

セルフサービスシングルサインオン(SSO)は、ツールを提供して、B2Bの顧客が独自のエンタープライズ顧客にSSOのセットアップを委任できるようにします。このタスクを委任することで、オンボーディングプロセスを円滑化し、顧客がより自主的に自らのサインオンエクスペリエンスを管理できるようになります。また、カスタマーベース全体でのSSO管理に関連する時間と費用を削減できます。

セルフサービスSSOは、Auth0テナントでの構成を最小限に抑える一方で、顧客には有効化プロセスをガイドするセットアップアシスタントが提供されます。顧客がセットアップを完了すると、SSO統合がエンタープライズ接続としてお客様のテナントに自動的に追加されます。

サポートされているプロバイダー

早期アクセス期間中、セルフサービスSSOは以下のIDプロバイダーをサポートします。

  • Okta Workforce Identity Cloud(OIDCを使用)

  • Entra ID

  • Google Workspace(OIDCを使用)

  • Keycloak

  • Microsoft Active Directory Federation Services (ADFS)

  • PingFederate

  • Generic OIDC

  • Generic SAML

仕組み

セルフサービスSSOは、以下のコンポーネントを使用してセットアップを顧客に委任します。

  • セルフサービスプロファイル:SSOに使用するIDプロバイダーや、メールアドレスなどの取得が必要なユーザー属性など、顧客のSSO実装の主要な要素を定義します。

  • セルフサービスアクセスチケット:SSOセットアップアシスタントへのアクセス権を顧客の管理者に付与し、結果として得られるSSO統合の具体的な詳細を設定します。

  • SSOセットアップアシスタント:SSOセットアッププロセスについて顧客の管理者をガイドします。

セルフサービスプロファイルを作成する

セルフサービスSSOワークフローには、以下のタスクが含まれます。

  1. お客様(Auth0のご利用者)が、Auth0 DashboardまたはManagement APIを使用してお客様のテナントでセルフサービスプロファイルを作成します。

  2. 次に、Management APIを使用して、顧客の管理者がSSOを構成できるようにするセルフサービスアクセスチケットを作成します。

  3. 手順2で作成したアセットからチケットURLを取得して、このリンクを顧客の管理者に送信します。

  4. 顧客の管理者はSSOセットアップアシスタントを起動して、表示される手順に従い、自身のIDプロバイダーを使ってアプリケーションを作成します。

  5. 顧客のアプリケーションをポイントする新たなエンタープライズ接続がお客様のAuth0テナントに追加されます。

セルフサービスSSO機能のワークフロー図。

図を選択すると表示が拡大されます。

セルフサービスSSOの使用

以下のセクションでは、セルフサービスプロファイルの構成および顧客の管理者と共有するセルフサービスアクセスチケットの生成の手順について詳しく説明します。

セルフサービスアクセスチケットを管理する

セルフサービスプロファイルは、Auth0 DashboardまたはManagement APIを使用して作成できます。セルフサービスプロファイルは、以下を含む顧客実装の主要な要素を決定するために使用されます。

  • 顧客の管理者がSSOに使用できるIDプロバイダー

  • メールアドレスや姓など、SSOを通して取得する必要があるユーザー属性

  • SSOセットアップアシスタントの外観をカスタマイズするブランディングオプション

異なる顧客やセグメントに対応するために、プロファイルは必要に応じて最大20まで作成できます。

Auth0 Dashboardでセルフサービスプロファイルを作成するには:

  1. [Authentication(認証)] > [Enterprise(エンタープライズ)]に移動し、 [Self-Service SSO(セルフサービスSSO)]セクションを開きます。その後、 [Create Profile(プロファイルを作成)]を選択します。

  2. 表示されるスペースで、プロファイル名と任意の説明を入力します。その後、 [Create(作成)]を選択します。

  3. [Settings(設定)]タブで、以下のセクションを完了します。これらのセクションを更新したら、[Save(保存)]を選択します。

    • [Identity Providers(IDプロバイダー)]:1つ以上のIDプロバイダーを有効化します。SSO設定アシスタントで、お客様の管理者は、有効化されたプロバイダーのリストから適したオプションを選択できます。

    • [Branding(ブランディング)]:SSO設定アシスタント用のロゴとプライマリカラーを提供します。

    • [Custom Introduction(カスタムイントロダクション)]:必要に応じて、デフォルトのメッセージを変更するか、置き換えます。この導入テキストは、SSO設定アシスタントのランディングページでお客様の管理者に表示されます。メッセージには、太字やハイパーリンクなどの基本的な書式オプションを含めることができます。2,000文字まで使用できます。

  4. [User Profile(ユーザープロファイル]タブで、メールや姓など、お客様がSSOでキャプチャするべきユーザー属性を最大20個追加できます。各属性にrequiredまたはoptionalを設定できます。

    • 設定アシスタントフローでは、必要な値がAuth0に確実に渡されるように、お客様の管理者はこれらの定義済みユーザー属性をIDプロバイダーにマッピングするように求められます。

API

セルフサービスプロファイルを少なくとも1つ作成したら、Management APIを使用してセルフサービスアクセスチケットを生成できます。セルフサービスアクセスチケットは、主に2つの役目を果たします。

  • 顧客の管理者にSSOセットアップアシスタントへのアクセス権を付与します。顧客の管理者はこれを通して新規のSSO接続を構成したり、既存の接続を修正したりできます。

  • 新規接続で有効にするアプリケーションや組織など、顧客の管理者が構成する新規SSO接続の主な詳細情報および動作を事前定義します。

アクセスチケットを生成する

セルフサービスアクセスチケットを生成するには以下を行います。

  1. セルフサービスプロファイル取得エンドポイントを通して、アクセスチケットに関連付けるセルフサービスプロファイルのIDを取得します。

  2. 適切なセルフサービスプロファイルのIDを使用して、SSOアクセスチケットエンドポイントを呼び出します:

POST  /api/v2/self-service-profiles/{id}/sso-ticket

要求本文で、以下の表で説明されているパラメーターを指定します。

パラメーター 説明
connection_id 文字列。

既存のSSO接続を更新するためのアクセスチケットを生成するときに、このオプションを提供します。

顧客の管理者がSSOセットアップアシスタントを介して更新する接続のIDです。顧客の管理者はSAML証明書、または、関連する接続のOIDC IDやシークレットを変更することができます。

接続IDは、Auth0 Dashboardの[Authentication(認証)]セクション、またはすべての接続取得エンドポイントから取得することができます。

connection_idconnection_configと同時に使用できません。
connection_config オブジェクト。

SSO接続を新規作成するためのアクセスチケットを生成するときに、このオプションを提供します。顧客の管理者は、SAML証明書、OIDC IDやシークレットなど、接続の重要な要素を変更することができます。

connection_configconnection_idは同時に使用できません。
connection_config.name 文字列。最大長は128文字です。

SSOセットアップアシスタントを介して作成された接続の名前です。

connection_configを使用する場合、このパラメーターは必須です。
connection_config.display_name 文字列。最大長は128文字です。

SSOセットアップアシスタントを介して作成された接続の分かりやすい名前です。この名前はユニバーサルログインプロンプトに表示されます。

connection_configを使用する場合、このパラメーターは任意です。
connection_config.is_domain_connection ブール値。

接続がドメインレベルにある場合は、trueに設定します。

connection_configを使用する場合、このパラメーターは任意です。
connection_config.show_as_button ブール値。

trueの場合、接続はアプリケーションのログイン画面に認証オプションとして表示されます。

connection_configを使用する場合、このパラメーターは任意です。
connection_config.metadata オブジェクト[]。

確立される接続に関連付けられたメタデータです。オブジェクトは最大10個のキーと値のペアを持つことができます。文字列の値は最大255文字まで使用できます。

connection_configを使用する場合、このパラメーターは任意です。
connection_config.options オブジェクト[]。

確立される接続のオプションで、icon_urldomain_aliases[]を含みます。

connection_configを使用する場合、このパラメーターは任意です。
enabled_clients 文字列[]。

SSO接続に関連付けるアプリケーションクライアントIDのリストです。
enabled_organizations オブジェクト[]。

SSO接続に関連付ける組織のリストです。
enabled_organizations[].organization_id SSO接続に関連付ける特定の組織のIDです。

IDは、Auth0 Dashboardの[Organizations(組織)]セクション、Organizations取得エンドポイント、または名前でのOrganization取得エンドポイントから取得することができます。

enabled_organizationsを使用する場合、このパラメーターは必須です。
enabled_organizations[].assign_membership_on_login ブール値。

trueの場合、関連付けられた接続を使ってログインするユーザーには、特定の組織へのメンバーシップが自動的に付与されます。

enabled_organizationsを使用する場合、このパラメーターは任意です。
enabled_organizations[].show_as_button ブール値。

trueの場合、関連付けられた接続はアプリケーションのOrganizationログイン画面に認証オプションとして表示されます。これは、エンタープライズ接続でのみ有効にすることができます。

enabled_organizationsを使用する場合、このパラメーターは任意です。
ttl_sec 数字。

アクセスチケットが期限切れになるまでの秒数です。この数値が指定されていない、または0に設定されている場合、値はデフォルトで432000(5日に相当)に設定されます。

要求本文の例

{
   "connection_config":{
      "name":"string",
      "display_name":"string",
      "is_domain_connection":true,
      "show_as_button":true,
      "metadata":{
         "key1":"value1",
         "key2":"value2"
      },
      "options":{
         "icon_url":"string",
         "domain_aliases":[
            "acme.corp",
            "okta.com"
         ],
         "idpinitiated": { 
            "enabled": true, 
            "client_id": "string", 
            "client_protocol": "string", 
            "client_authorizequery": "string" 
        }
      }
   },
   "enabled_clients":[
      "string"
   ],
   "enabled_organizations":[
      {
         "organization_id":"string",
         "assign_membership_on_login":true,
         "show_as_button":true
      }
   ],
   "ttl_sec":0,
   "domain_aliases_config": {
       "domain_verification": "string"
    }
}

Was this helpful?

/

応答で、セルフサービスアクセスチケットへのURLを受け取ります。

{
  "ticket": "https://{domain}/self-service/connections-flow?ticket={id}"
}

Was this helpful?

/

チケットURLを受け取ったら、顧客の管理者にそのリンクを共有して、SSOセットアップアシスタントへのアクセス権を付与します。後はセットアップアシスタントがSSO接続の構成についてガイドしてくれます。

アクセスチケット生成を独自のセルフサービスポータルにラップするか、チケットURLをメール、チャット、その他のコミュニケーションチャネルを通して直接顧客の管理者に送信することができます。

アクセスチケットを取り消す

デフォルトでは、アクセスチケットURLは5日間有効です。顧客の管理者は、URLにアクセスしたら5時間以内にセットアップを完了する必要があります。必要に応じて、この有効期限の前にアクセスチケットを取り消すことができます。たとえば、アクセスチケットが誤ったオーディエンスと共有されてしまった場合、SSOセットアップアシスタントへの不正アクセスを防ぐためにチケットを取り消すことができます。

アクセスチケットが取り消されると、そのURLは直ちに無効になり、関連セッションがすべて終了されます。URLを共有した顧客の管理者は、SSOセットアップアシスタントにアクセスできなくなります。その後、必要に応じて新しいアクセスチケットを生成して共有することができます。

アクセスチケットを取り消すには以下を行います。

  1. セルフサービスプロファイル取得エンドポイントを使用して、アクセスチケットに関連付けられているセルフサービスプロファイルのIDを取得します。

  2. 取り消すアクセスチケットのIDを見つけます。IDは、アクセスチケットURLの末尾にあります。

  3. 適切なIDを使用してアクセスチケット取り消しエンドポイントを呼び出します:

POST  /api/v2/self-service-profiles/{id}/sso-ticket/{id}/revoke

応答で、202 Acceptedが返されます。

リファレンス

API

セルフサービスSSOの管理には、以下のManagement APIエンドポイントが使用できます。

レート制限

セルフサービスSSOの使用では、以下のレート制限が適用されます。

説明 エンドポイント 制限
SSOプロファイルを管理する /api/v2/self-service-profiles Management APIのレート制限」でサブスクリプションの種類を確認してください。
アクセスチケットを作成する /api/v2/self-service-profiles/{id}/sso-ticket Management APIのレート制限」でサブスクリプションの種類を確認してください。
アクセスチケットを使用する /self-service/connection-flows?ticket={id} 6 / 分 / IP
webapp(セットアップアシスタントを含む)とwebappエンドポイントを読み込む /self-service/* 50 / 分 / IP
90 / 分 / テナント