Anypoint で ID プロバイダーが設定されていない場合のシングルサインオンの設定

ユースケース 1 には、Anypoint Platform で他の ID プロバイダーが設定されていない場合に、ポータルの ID プロバイダーをセットアップするためのすべての手順が含まれています。ポータルのログインオプションとして ID プロバイダーを設定するとします。Anypoint Platform には ID プロバイダーが設定されていないため、デフォルトの ID プロバイダーにより、ポータルの ID プロバイダーが Anypoint Platform の ID プロバイダーに自動的にマップされます。これにより、すべての Salesforce ユーザーが Anypoint Platform で ID を持つようになります。

始める前に

任意の ID プロバイダーで、アプリケーションにアクセスできるユーザーのグループに対してユーザーまたは ID を作成する必要があります。

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

SSO を有効にするには、Anypoint Platform で Salesforce ユーザー用の ID を作成するための ID プロバイダーが必要です。

このステップでは、API Experience Hub ポータルの ID プロバイダーでアプリケーションを作成し、アプリケーション設定でグループ情報を送信する機能を有効にし、グループを設定し、デフォルトの ID プロバイダーを設定します。これらの手順を実行するには、アプリケーションと ID プロバイダーアプリケーション間を行き来して情報をコピーまたは追加する必要があります。

次のサンプル方法のいずれかを使用してアプリケーションを作成および設定

  • Okta OpenID Connect を使用してアプリケーションを作成および設定する

  • Okta SAML を使用してアプリケーションを作成および設定する

Okta OpenID Connect を使用してアプリケーションを作成および設定する

Details

OpenID Connect を使用して ID プロバイダーで API Experience Hub ポータル用の新しいアプリケーションを作成します。

  1. Okta で、OpenID Connect Web アプリケーションを作成します。詳細は、 「Create OIDC app integrations (OIDC アプリケーションインテグレーションの作成)」​を参照してください。

  2. [Connection (一般設定)]​ セクションで、次の項目に入力します。

    項目

    App integration name (アプリケーションインテグレーション名)

    アプリケーションの名前を入力します。

    Grant tpe (許可種別)

    [Authorization Code (認証コード)]​ を選択します。

    Assignments (割り当て)

    [Limit access to selected groups (選択済みのグループへのアクセスを制限)]​ を選択します。

    Selected group(s) (選択済みのグループ)

    アプリケーションにアクセスする必要があるグループの名前を入力します。

  3. アプリケーションが送信するカスタムグループクレーム検索条件を設定します。

    1. [Sign On (サインオン)]​ タブで、​[OpenID Connect ID Token (OpenID Connect ID トークン)]*​ セクションの [Edit (編集)]* をクリックします。

    2. [Groups claim type (グループクレーム種別)]​ で、​[Filter (検索条件)]​ を選択します。

    3. [Groups claim filter (グループクレーム検索条件)]​ で、​[groups (グループ)]​ を入力します。

    4. 式で ​[Matches regex]​ を選択し、ワイルドカードに​「.」*​を入力します。

      グループクレーム検索条件の例

=== OpenID Connect を使用して Salesforce の認証プロバイダーを設定する ID プロバイダーアプリケーション情報を使用して、Salesforce で認証プロバイダーまたは SSO 設定をセットアップします。

  1. OpenID Connect アプリケーションから、次の設定値を取得します。

    • Client ID (クライアント ID)

    • Client Secret (クライアントシークレット)

    • Authorize Endpoint URL (承認エンドポイント URL)

    • Token Endpoint URL (トークンエンドポイント URL)

    • User Info Endpoint URL (ユーザー情報 エンドポイントURL)

  2. Salesforce​ で ​[設定]​ に移動します。

  3. [クイック検索] ボックスに​「認証」​と入力し、​[認証プロバイダー]* を選択します。

  4. [新規]​ をクリックします。

  5. [プロバイダータイプ] 項目で、​[OpenID Connect]​ を選択します。

  6. 次の項目に入力します。

    項目

    プロバイダータイプ

    OpenID Connect

    名前

    プロバイダーの名前を入力します。

    コンシューマーキー

    ID プロバイダーのクライアント ID を入力します。

    コンシューマーの秘密

    ID プロバイダーのクライアントシークレットを入力します。

    Authorize Endpoint URL (承認エンドポイント URL)

    Token Endpoint URL (トークンエンドポイント URL)

    User Info Endpoint URL (ユーザー情報 エンドポイントURL)

    デフォルトの範囲

    profile openid email groups (プロファイルの openid メールグループ)

    登録ハンドラー

    AEHPortalRegistrationHandler

    他のアカウントで登録を実行

    システム管理者ユーザーを選択します。

    Salesforce 認証プロバイダーの例
  7. [保存]​ をクリックします。

=== ポータルのリダイレクト URI を設定する

リダイレクトを設定するには、15 桁の組織 ID と 18 桁の組織 ID を使用し、各組織 ID の URL を追加します。

  1. Okta アプリケーションで、​[General (一般)]​ タブを選択します。 [Sign-in redirect URIs (サインインリダイレクト URI)]​ に次の URL を追加します。

Okta SAML を使用してアプリケーションを作成および設定する

Details

SAML を使用して ID プロバイダーで API Experience Hub ポータル用の新しいアプリケーションを作成します。詳細は、Okta ドキュメントの 「Create SAML app integrations (SAML アプリケーションインテグレーションの作成)」​を参照してください。

  1. Okta から、SAML アプリケーションを作成します。

  2. [General Settings (一般設定)]​ に SAML アプリケーションの名前を入力します。

  3. [Do not display application icon to users (ユーザーにアプリケーションアイコンを表示しない)]​ を選択します。

  4. [Next (次へ)]​ をクリックします。

  5. [SAML Settings (SAML 設定)]​ で、次の項目に入力します。

    項目

    Single Sign-On URL (シングルサインオン URL)

    ポータルログインの URL を入力します。

    Use this for Recipient URL and Destination URL (これを受信 URL と宛先 URL に使用)

    このオプションを選択します。

    Audience URI (SP Entity ID) (オーディエンス URI (SP エンティティ ID))

    https と Salesforce ドメイン (https://{salesforcedomain}.com など) を入力します。

    Name ID format (名前 ID 形式)

    EmailAddress

    Application username (アプリケーションユーザー名)

    Okta username (Okta ユーザー名)

    Update application username on (アプリケーションユーザー名の更新タイミング)

    Create and update (作成および更新)

    SAML 設定の例
  6. [Attribute Statements (optional) (属性ステートメント (省略可能))]​ セクションで、次のカスタム属性を追加して SAML インテグレーションを設定します。

    名前 名前形式

    first_name

    Unspecified

    user.firstName

    last_name

    Unspecified

    user.lastName

    email

    Unspecified

    user.email

    groups

    Unspecified

    (",", getFilteredGroups({"00gdkat3p5RCvkQQC5d7", "00gdjgk337kYDxtE35d7"}, "group.name", 40))

    SAML 属性ステートメントの例

    この例の ID の 00gdkat3p5RCvkQQC5d7 と 00gdjgk337kYDxtE35d7 は、送信するグループに対応します。Salesforce と Anypoint Platform の両方で Okta を設定する場合は、必ずすべての Anypoint Platform グループを送信してください。そうしないと、ユーザーがアクセスできなくなる可能性があります。

  7. [Next (次へ)]​ をクリックします。

  8. [I’m an Okta customer adding an internal app (私は内部アプリケーションを追加する Okta ユーザーです)]​ を選択します。

  9. [Finish (完了)]​ をクリックします。

  10. [Assignments (割り当て)]​ タブを選択して ​[Groups (グループ)]​ を選択します。

  11. [Assign (割り当て)]​ をクリックし、​[Assign to groups (グループに割り当て)]​ を選択します。

  12. リストから、特定のグループの行で ​[Assign (割り当て)]​ をクリックし、​[Done (完了)]​ をクリックします。

  13. [Sign On (サインオン)]​ タブを選択し、​[View SAML setup instructions (SAML セットアップ手順を表示)]​ をクリックして、アプリケーションに SAML を設定する方法の手順を表示します。

    「View SAML setup instructions (SAML セットアップ手順を表示)」 ボタン
  14. Salesforce の ​[シングルサインオン設定]​ タブを設定するには、手順ページから次の情報を取得します。

    • Identity Provider Single Sign-On URL (ID プロバイダーシングルサインオン URL)

    • Identity Provider Issuer (ID プロバイダー発行者)

    • X.509 Certificate (X.509 証明書) (証明書をダウンロード)

      ページをセットアップする SAML 手順
  15. Salesforce の [設定]​ に移動し、​[シングルサインオン設定]​ を検索します。

  16. [シングルサインオン設定]​ タブの ​[SAML を使用した統合シングルサインオン]​ セクションで、​[SAML を有効化]​ を選択し、​[保存]​ をクリックします。

  17. [シングルサインオン設定]​ タブで ​[編集]​ をクリックし、次の項目に入力します

    項目

    発行者

    [View SAML setup instructions (SAML セットアップ手順を表示)] の [Identity Provider Issuer (ID プロバイダー発行者)] に合わせます。

    エンティティ ID

    アプリケーションで設定したオーディエンス制限に合わせます。

    ID プロバイダーの証明書

    [View SAML setup instructions (SAML セットアップ手順を表示)] から以前にダウンロードした証明書をアップロードします。

    SAML ID 種別

    アサーションには、ユーザーオブジェクトの統合 ID が含まれます。

    SAML ID の場所

    ID は、Subject ステートメントの NameIdentified 要素にあります。

    ID プロバイダーのログイン URL

    [View SAML setup instructions (SAML セットアップ手順を表示)] の [Identity Provider Single Sign-On URL (ID プロバイダーシングルサインオン URL)] に合わせます。

    カスタムログアウト URL

    Okta の URL

    ユーザープロビジョニング

    有効

    ユーザープロビジョニングのタイプ

    Apex ハンドラーを使用したカスタム SAML JIT

    SAML JIT ハンドラー

    AEHPortalRegistrationHandler

    他のアカウントでハンドラーを実行

    [システム管理者] を選択

    SAML シングルサインオン設定の例

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

ID プロバイダーを Salesforce 用に設定したら、API Experience Hub UI からその ID プロバイダーを追加して有効にします。ID プロバイダーが有効になっている場合、ユーザーはこの ID プロバイダーを使用してポータルにログインできます。

  1. [API Experience Hub] > [User management (ユーザー管理)]​ に移動します。

  2. [User management (ユーザー管理)]​ ページで、​[Login settings (ログイン設定)]​ タブを選択します。

  3. [Single sign-on (SSO) (シングルサインオン (SSO))]​ セクションから、ステップ 2 ​[Add Salesforce identity providers (Salesforce ID プロバイダーを追加)]​ までスクロールダウンします。

  4. [Select identity provider (ID プロバイダーを選択)]​ をクリックし、ドロップダウンメニューからオプションを選択します。

  5. [+ Add identity provider (+ ID プロバイダーを追加)]​ をクリックします。

  6. スライダーを ​[Enabled (有効)]​ に移動します。

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

ポータルの SSO を設定する場合、ユーザーは Salesforce と Anypoint Platform の両方で ID を持っている必要があります。SSO ユーザーは、グループ名を使用してチームにマップされます。アクセス管理を使用して、ユーザーをチームにマップする必要があります。API Experience Hub には、​[AEH Portal (AEH ポータルr) - ${salesforceOrganizationId}_${salesforceCommunityId}]​ という標準のチームが用意されており、アクセス管理のチームとして自動的に追加されています。

API Experience Hub で対応するプロファイルにユーザーを追加することで、グループマッピングを追加します。

  1. [Access Management (アクセス管理)]​ > ​[Teams (チーム)]​ に移動します。

  2. [AEH Portal Guests (AEH ポータルゲスト)]​ をクリックし、​[AEH Portal Members (AEH ポータルメンバー)]​ をクリックします。

  3. [External IdP Groups (外部 IdP グループ)]​ をクリックします。

  4. [Group Name (グループ名)]​ 項目に​「AEH Members」​ (AEH メンバー) と入力します。

  5. [Provider Name (プロバイダー名)]​ 項目で、対応する Salesforce ID プロバイダーの名前を選択します。

  6. [Type (種別)]​ 項目で ​[Member (メンバー)]​ を選択し、​[Add (追加)]​ をクリックします。

    アクセス管理グループマッピング
  7. [Save Changes (変更を保存)]​ をクリックします。

    指定したグループに関連付けられている SSO ユーザーがチームに割り当てられます。

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

ポータルの SSO が正しく設定されていることを確認します。

  1. ブラウザーでシークレットウィンドウを開きます。

  2. API Experience Hub ポータルに移動します。

  3. 設定した SSO オプションを選択します。

  4. ポータルの ID プロバイダーで設定したグループに属するユーザーでログインします。

  5. ポータルでのユーザーの API の表示を確認します。

  6. [Access Management (アクセス管理)]​ に移動し、​[Users (ユーザー)]​ を選択します。

  7. ユーザー名を使用して検索し、ユーザーが目的の ID プロバイダーにマップされていることを確認します。

  8. グループマッピングが設定されているチームに移動します。

    [Members (メンバー)]​ タブで、そこにユーザーが表示されていることを確認します。