ポータルでのシングルサインオンの有効化

システム管理者またはセキュリティチームは、API Experience Hub ポータルのログインオプションとして外部 ID プロバイダー (IdP) を実装できます。シングルサインオン (SSO) 認証は、組織の独自のブランドを使用して顧客にシームレスなログイン環境を提供します。ユーザーは、別のユーザー名とパスワードを覚えたり、ログイン情報を何度も入力したりすることなく、ポータルにログインできます。

ポータルのメンバーがポータルページにアクセスして SSO オプションを選択すると、認証するための ID プロバイダーログインページにリダイレクトされます。SSO 認証プロセスでは、ID プロバイダーを使用してユーザーの ID を確認します。ログインが成功すると、ユーザープロファイルと一致するユーザーがアクセス管理内に作成されます。ユーザーが API を参照および検出するための API Experience Hub ポータルホームページが表示されます。

アクセス管理により、Anypoint Platform の SSO の ID 管理が設定されます。ID プロバイダーについての詳細は、アクセス管理の 「ID 管理」​を参照してください。

ポータルの SSO の設定には、次の概要手順が含まれます。これらの手順は、ユースケースによって異なる場合があります。

  • ステップ 1 - ポータルの SSO を有効にする

    このステップでは、ID プロバイダーでアプリケーションを作成して設定します。

  • ステップ 2: Salesforce ID プロバイダーを追加する

    このステップでは、API Experience Hub UI から Salesforce ID プロバイダーを追加して有効にします。ID プロバイダーが有効になると、ユーザーはポータルのログインページからログインオプションを確認できます。

  • ステップ 3: グループマッピングを追加する

    このステップでは、追加した Salesforce ID プロバイダーで作成したグループを、ポータルの対応するチームプロファイルにマップします。

  • ステップ 4: SSO 設定をテストする

    このステップでは、ポータル用にセットアップした SSO 設定をテストします。

SSO の有効化フローチャート

ユーザー名の割り当て戦略

ポータルの SSO ログインオプションをセットアップし、Anypoint Platform 組織で ID プロバイダーがすでに設定されている場合、ポータルユーザーと Anypoint Platform ユーザーではユーザー名の割り当て戦略が異なる可能性があるため、セキュリティチームがユーザー名の割り当て戦略を検討する必要があります。ポータルと Anypoint Platform 間で 1 つの ID を設定するには、ユーザー名の割り当ての形式が同じである必要があります。ユーザー名戦略が一致しない場合、​anypoint_idp_id​ と ​anypoint_username​ の属性を追加して、ユーザー名の形式を調整する必要があります。その後、SSO に使用している Anypoint Platform ID プロバイダーにこの情報をマップする必要があります。これらのカスタム属性は、ID プロバイダーのプロファイルエディターを使用して追加されます。詳細は、​「ユースケース 2: Anypoint Platform 用にすでに設定されている ID プロバイダーを使用する SSO の設定」​を参照してください。

ユーザーロール

API Experience Hub の ID プロバイダーのセットアップには、さまざまなユーザーアクションを実行する複数のペルソナが含まれます。

組織のセットアップに応じて、次の 1 つ以上のロールをユーザーに割り当てることができます。

  • API Experience Hub Administrator (API Experience Hub 管理者)

    AEH 管理者は、API EXperience Hub UI で ID プロバイダーを有効または無効にします。 Salesforce システム管理者 Salesforce システム管理者は、Salesforce で ID プロバイダーをセットアップします。

  • Anypoint 組織のシステム管理者

    Anypoint 組織のシステム管理者は、アクセス管理チームのグループマッピング機能を使用して、ID プロバイダーグループを API Experience Hub プロファイルにマップします。

  • セキュリティチーム

    組織のセキュリティチームは、必要なユーザーグループとアプリケーションを使用して ID プロバイダーをセットアップします。組織のセキュリティチームと組織の ID プロバイダーシステムを管理する Salesforce システム管理者は、Salesforce で適切なログインオプションを設定します。メイン組織のセキュリティチームと組織のシステム管理者は、必要に応じて、Anypoint Platform で同じ ID プロバイダーオプションを設定できます。メイン組織のセキュリティチームと組織のシステム管理者は、Salesforce と Anypoint Platform 間のマッピングを設定します。アクセス管理では、チームを使用して外部 ID プロバイダーのグループマッピングを追加する機能が提供されます。グループマッピングが適切に設定されている場合、ポータルにログインするユーザーは、そのユーザーが属する標準のプロファイルに自動的に追加されます。デフォルトの ID プロバイダーは、Salesforce ユーザー向けに Anypoint Platform で ID を作成するために提供されています。

Anypoint Platform と Salesforce の ID プロバイダーは、OpenID Connect または SAML (シングルサインオン設定) を使用して設定できます。

標準の設定

API Experience Hub には、SSO を有効にするプロセスを支援する次の標準の設定が用意されています。

  • anypoint_idp_id

    カスタムクレームまたは SAML 属性は、ユーザーをマップする必要がある Anypoint Platform ID プロバイダーを決定する ID プロバイダーから受け取る情報を提供します。

  • AEH Users (AEH ユーザー) - ${salesforceOrganizationId}

    すべてのセルフ登録ユーザーをマップするために Anypoint Platform で作成されるデフォルトの Anypoint Experience Hub ID プロバイダー。この ID プロバイダーは、ID プロバイダーで aeh_portal_idp が設定されていない場合に使用されます。セルフ登録ユーザーは、デフォルトの ID プロバイダーにマップされます。

  • AEH Portal (AEH ポータル) - ${salesforceOrganizationId}_$​{salesforceCommunityId}*

    このソリューションでは、アクセス管理に AEH Portal (AEH ポータル) というチームが自動的に作成されます。このチームには、システム管理者、ゲスト、メンバーのプロファイルが含まれます。グループマッピングを追加するときにこのチームを選択します。

  • AEHPortalRegistrationHandler.cls

    API Experience Hub パッケージには、SAML および OpenID Connect と互換性のある AEHPortalRegistrationHandler.cls という 1 つの Apex クラスがあります。

    登録ハンドラーは、ユーザーが Salesforce Experience Cloud サイトにログインしたときに実行される Apex コードの一部です。Salesforce の認証プロバイダーを設定するときに、このハンドラーを選択します。ID プロバイダーが適切に設定されている場合、Salesforce はポータル ID を AEHPortalRegistrationHandler に渡します。ユーザーが存在しない場合、登録ハンドラーによって Salesforce にユーザーエンティティが作成されます。ユーザーが存在する場合、ハンドラーは ID プロバイダーから送信された情報 (ユーザーの姓名など) に基づいてユーザーのメタデータを更新します。ポータルで特定の設定を読み込むには、登録ハンドラーを Salesforce のポータル ID でコンテキスト化する必要があります。たとえば、NetworkSelfRegistration オブジェクトからポータルに関連するプロファイルとアカウントでユーザーが成されます。

基本用語

このトピックでは次の用語が参照されています。

認証プロバイダー

認証プロバイダーは、プロトコルに応じて、承認されたデータアクセス、認証、またはその両方のために Salesforce をサードパーティに接続できるようにするフレームワークです。認証プロバイダーは OAuth 2.0 を実装して、Salesforce がサードパーティデータにアクセスすることを承認できます。または、OpenID Connect やカスタム認証プロトコルを実装して、サードパーティのデータアクセスと認証の両方をサポートすることもできます。

認証プロバイダーを使用している場合、Salesforce は常に証明書利用者となります。認証プロバイダーが OpenID Connect を実装している場合、サードパーティは OpenID プロバイダーと呼ばれます。カスタム認証プロトコルを実装している場合、サードパーティは ID プロバイダーと呼ばれます。

ID プロバイダー

ID プロバイダーは、ユーザーの ID を認証する信頼できるサービスとして機能します。

OpenID Connect

OpenID Connect は、OAuth 2.0 に基づいて構築されたオープン標準の認証プロトコルです。OpenID Connect を使用すると、証明書利用者と OpenID プロバイダーはユーザーが誰であるか、ユーザーはサービスで何をできるかについての情報を交換できます。

OpenID プロバイダー

OpenID Connect では、ID プロバイダーは OpenID プロバイダーと呼ばれます。証明書利用者の要求に応じてユーザーを認証します。

証明書利用者

OpenID Connect およびカスタム認証プロトコルでは、サービスプロバイダーは証明書利用者と呼ばれますが、この 2 つの用語は言い換えて使用される場合もあります。認証は OpenID プロバイダーまたは ID プロバイダーに依存します。

Security Assertion Markup Language (SAML)

SAML は、Salesforce 組織に SSO を実装するために使用できるオープン標準の認証プロトコルです。SAML を使用すると、ID プロバイダーとサービスプロバイダーがユーザー情報を安全に交換できるようになり、サービス間のユーザー認証が可能になります。

シングルサインオン

シングルサインオン (SSO) は、ユーザーが 1 回のログインと 1 セットのログイン情報で複数のアプリケーションにアクセスできるようにする認証方法です。たとえば、ユーザーは組織にログインした後に、アプリケーションランチャーからすべてのアプリケーションに自動的にアクセスできます。サードパーティの ID プロバイダーを信頼してユーザーを認証するように Salesforce または Anypoint Platform 組織をセットアップできます。または、認証は組織に依存するようにサードパーティアプリケーションを設定することもできます。

始める前に

SSO を有効にする前に、次の権限とコンテキストがあることを確認してください。

  • Anypoint Platform メイン組織での「Organization Administrator (組織のシステム管理者)」権限またはロール。

  • Salesforce でのシステム管理者ロール。

  • ID 管理と SSO 用の ID プロバイダーのセットアップの経験。

  • Anypoint Platform の ID 管理を理解するには、アクセス管理の​「ID プロバイダー」​ドキュメントを参照してください。

ポータルのシングルサインオンのユースケース

ポータルの SSO の設定に役立つ次のユースケースが提供されています。

これらのユースケースは、SSO を有効にする方法の例として ID プロバイダーとして Okta を使用してドキュメント化されていますが、任意の ID プロバイダーを使用できます。