---
schema_version: "1"
id: e006d1a5a4f7c4122308570085aea2624046e1ec6f7f2205e8ca10388ef2185f
title: ID プロバイダーが Anypoint Platform 用にすでに設定されている場合の SSO の設定
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/api-experience-hub/sso-use-case-2.md
canonical_url: https://docs.mulesoft.com/jp/api-experience-hub/sso-use-case-2
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 226625bf5dc8f9b937954050243f8c6ee08e9d8fe37ca9a0c00dcf41f8f2b70d
description: MuleSoft Documentation Site
latest: true
---
# ID プロバイダーが Anypoint Platform 用にすでに設定されている場合の SSO の設定

このユースケースには、Anypoint Platform 用にすでに設定されている ID プロバイダーを使用してポータルの SSO を設定する手順が含まれています。このユースケースでは、ポータルと Anypoint Platform のユーザー名が一致しない場合に​[ユーザー名の割り当て戦略](https://docs.mulesoft.com/jp/api-experience-hub/enabling-sso-for-your-portal#username-strategy)​を調整する手順も提供されます。

このユースケースの手順では、ID プロバイダーの例として Okta を使用していますが、任意の ID プロバイダーを使用して SSO をセットアップできます。

## [](#始める前に)始める前に

次のセットアップとコンテキストがあることを確認してください。

- Anypoint Platform の ID プロバイダーがすでに設定されている。
- アプリケーションにアクセスできるユーザーまたはユーザーのグループの ID が ID プロバイダーで作成されている。
- ID プロバイダーのカスタムユーザー属性とクレームを設定するために API Experience Hub に必要なロール、権限、情報を理解する。
    
    [「始める前に」](https://docs.mulesoft.com/jp/api-experience-hub/enabling-sso-for-your-portal#before-you-begin)​を参照してください。

## [](#ステップ-1-ポータルの-sso-を有効にする)ステップ 1 - ポータルの SSO を有効にする

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

### [](#アプリケーションを作成および設定する)アプリケーションを作成および設定する

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

1. Okta で、OpenID Connect Web アプリケーションを作成します。詳細は、 [「Create OIDC app integrations (OIDC アプリケーションインテグレーションの作成)」](https://help.okta.com/oie/en-us/content/topics/apps/apps_app_integration_wizard_oidc.htm)​を参照してください。
2. **\[Connection (一般設定)\]**​ セクションで、次の項目に入力します。
    
    <table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">項目</th>
<th class="tableblock halign-left valign-top">値</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>App integration name (アプリケーションインテグレーション名)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">アプリケーションの名前を入力します。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Grant tpe (許可種別)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>[Authorization Code (認証コード)]</strong>​ を選択します。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Assignments (割り当て)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>[Limit access to selected groups (選択済みのグループへのアクセスを制限)]</strong>​ を選択します。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Selected group(s) (選択済みのグループ)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">API Experience Hub および Anypoint Platform のアプリケーションにアクセスする必要があるグループの名前を入力します。</p></td>
</tr>
</tbody>
</table>
3. ID プロバイダーが、​[「始める前に」](https://docs.mulesoft.com/jp/api-experience-hub/enabling-sso-for-your-portal#before-you-begin)​セクションにリストされた予期されるクレームを送信していることを確認します。
4. アプリケーションが送信するクレームを設定します。
    
    たとえば、OpenID Connect の場合、次の手順を使用してグループクレームを設定します。
    
    1. **\[Sign On (サインオン)\]**​ タブで、​**\[OpenID Connect ID Token (OpenID Connect ID トークン)\]**​ セクションの ​**\[Edit (編集)\]**​ をクリックします。
    2. **\[Groups claim type (グループクレーム種別)\]**​ で、​**\[Filter (検索条件)\]**​ を選択します。
    3. **\[Groups claim filter (グループクレーム検索条件)\]**​ で、​`[groups (グループ)]`​ を入力します。
    4. 式で ​**\[Matches regex\]**​ を選択し、ワイルドカードに​**「.」**\*​を入力します。
        
        ![グループクレーム検索条件の例](/mulesoft/current/ja-jp/api-experience-hub/_images/aeh-groups-claim-filter.png)

### [](#openid-connect-を使用して-salesforce-の認証プロバイダーを設定する)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. 次の項目に入力します。
    
    <table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">項目</th>
<th class="tableblock halign-left valign-top">値</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>プロバイダータイプ</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>OpenID Connect</strong>​</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>名前</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">プロバイダーの名前を入力します。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>コンシューマーキー</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">ID プロバイダーのクライアント ID を入力します。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>コンシューマーの秘密</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">ID プロバイダーのクライアントシークレットを入力します。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Authorize Endpoint URL (承認エンドポイント URL)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code><a href="https://{domainofOktaorg}.okta.com/oauth2/v1/authorize*" class="bare">https://{domainofOktaorg}.okta.com/oauth2/v1/authorize*</a></code>​ と入力します。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Token Endpoint URL (トークンエンドポイント URL)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code><a href="https://{domainofOktaorg}.okta.com/oauth2/v1/token" class="bare">https://{domainofOktaorg}.okta.com/oauth2/v1/token</a></code>​ と入力します。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>User Info Endpoint URL (ユーザー情報 エンドポイント URL)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code><a href="https://{domainofOktaorg}.okta.com/oauth2/v1/userinfo`" class="bare">https://{domainofOktaorg}.okta.com/oauth2/v1/userinfo`</a></code>​ と入力します。</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>デフォルトのスコープ</strong>​</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>profile openid email groups (プロファイルの openid メールグループ)</strong>​</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>登録ハンドラー</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>AEHPortalRegistrationHandler</strong>​</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>他のアカウントで登録を実行</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">システム管理者ユーザーを選択します。</p></td>
</tr>
</tbody>
</table>
    
    ![Salesforce 認証プロバイダーの例](/mulesoft/current/ja-jp/api-experience-hub/_images/aeh-salesforce-auth-provider.png)
7. **\[保存\]**​ をクリックします。

### [](#ポータルのリダイレクト-uri-を設定する)ポータルのリダイレクト URI を設定する

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

1. Okta アプリケーションで、​**\[General (一般)\]**​ タブを選択します。
2. **\[Sign-in redirect URIs (サインインリダイレクト URI)\]**​ に次の URL を追加します。
    
    - [https://login.salesforce.com/services/authcallback/${15DigitSalesforceOrganizationId}/${authProviderURLSuffix}](https://login.salesforce.com/services/authcallback/${15DigitSalesforceOrganizationId}/${authProviderURLSuffix})
    - [https://login.salesforce.com/services/authcallback/${18DigitSalesforceOrganizationId}/${authProviderURLSuffix}](https://login.salesforce.com/services/authcallback/${18DigitSalesforceOrganizationId}/${authProviderURLSuffix})
    - [https://${domain}.my.site.com/aeh/services/authcallback/${authProviderURLSuffix}](https://${domain}.my.site.com/aeh/services/authcallback/${authProviderURLSuffix})
        
        ![リダイレクト URI の例](/mulesoft/current/ja-jp/api-experience-hub/_images/aeh-sso-redirect-uris.png)
        
        URL を取得する手順は、次のとおりです。
    - salesforceOrganizationId の場合、​**\[設定\]**​ > ​**\[組織情報\]**​ に移動する。
    - authProviderURLSuffix の場合、​**\[設定\]**​ > ​**\[認証プロバイダー\]**​ に移動し、認証プロバイダーをクリックして ​**\[URL 接尾辞\]**​ を選択する。
    - domain の場合、​**\[設定\]**​ > ​**\[私のドメイン\]**​ > ​**\[現在の \[私のドメイン\] の URL\]**​ に移動する。

### [](#anypoint-platform-の-id-プロバイダーにアプリケーションをマップする)Anypoint Platform の ID プロバイダーにアプリケーションをマップする

anypoint\_idp\_id という新しいカスタム属性を追加して設定することで、ID プロバイダー ID を anypoint\_idp\_id にマップする必要があります。

ポータルと Anypoint Platform のユーザー名が一致しない場合、anypoint\_username という別のカスタム属性を追加して、ポータルの ID と Anypoint Platform のユーザーが一致するように既存の ID プロバイダーユーザーを強制的に更新します。

anypoint\_idp\_id を Anypoint Platform ID プロバイダー ID にマップする手順は、次のとおりです。

1. Okta アプリケーションで、​**\[Directory (ディレクトリ)\]**​ > ​**\[Profile Editor (プロファイルエディター)\]**​ に移動します。
2. 設定したポータルアプリケーションを選択します。
3. **\[Add Attributes (属性を追加)\]**​ をクリックし、​**anypoint\_idp\_id**​ という新しい属性を作成します。
4. 次の項目に入力します。
    
    <table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">項目</th>
<th class="tableblock halign-left valign-top">値</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Display name (表示名)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>anypoint_idp_id</strong></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Value name (値の名前)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>anypoint_idp_id</strong></p></td>
</tr>
</tbody>
</table>
5. 変更を保存します。
6. **\[Access Management (アクセス管理)\]**​ > ​**\[Identity Providers (ID プロバイダー)\]**​ に移動し、ID プロバイダーをクリックします。
7. ブラウザーの URL から 32 桁の ID をコピーします。
    
    ![ブラウザーの URL にある 32 桁の例](/mulesoft/current/ja-jp/api-experience-hub/_images/aeh-sso-32-digit-id.png)
8. **\[Okta\]**​ > ​**\[Directory (ディレクトリ)\]**​ > ​**\[Profile Editor (プロファイルエディター)\]**​ に移動し、​**\[Mappings (マッピング)\]**​ をクリックします。
9. 新しい anypoint\_idp\_id 属性の空の項目に ID を貼り付けます。ID は引用符で囲む必要があります。
10. 黄色い矢印ドロップダウンメニューから、​**\[Apply mapping on user create and update (ユーザーの作成および更新時にマッピングを適用)\]**​ を選択します。
    
    ![マップされた anypoint\_idp\_id 属性の例](/mulesoft/current/ja-jp/api-experience-hub/_images/aeh-sso-mapped-anypoint-idp-id-attribute.png)
11. **\[Save Mappings (マッピングを保存)\]**​ をクリックします。
12. プロファイル内のすべてのユーザーにマッピングを適用します。

ユーザーがすでに存在し、anypoint\_idp\_id が設定される前にポータルにログインしている場合、デフォルトの ID プロバイダー \[AEH Users (AEH ユーザー) - ${salesforceOrganizationId}\] が使用されます。ユーザーが複製されることを防ぐため、ユーザーは anypoint\_idp\_id 項目で指定された新しい ID プロバイダーには追加されません。

ユーザーが Salesforce にすでに存在し、SSO を使用してポータルにログインしている場合、「API Experience Hub Member User (API Experience Hub メンバーユーザー)」権限セットがそのユーザーに割り当てられます (権限セットがまだ割り当てられていない場合)。

ポータルと Anypoint Platform での 1 つの ID に対するユーザー名の割り当てを調整する手順は、次のとおりです。

1. Okta アプリケーションで、​**\[Directory (ディレクトリ)\]**​ > ​**\[Profile Editor (プロファイルエディター)\]**​ に移動します。
2. 設定したポータルアプリケーションを選択します。
3. **\[Add Attributes (属性を追加)\]**​ をクリックし、​**anypoint\_username**​ という新しい属性を作成します。
4. 次の項目に入力します。
    
    <table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">項目</th>
<th class="tableblock halign-left valign-top">値</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Display name (表示名)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>anypoint_username</strong></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>Value name (値の名前)</strong></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong>anypoint_username</strong></p></td>
</tr>
</tbody>
</table>
5. 変更を保存します。
6. **\[Mappings (マッピング)\]**​ をクリックします。
7. 新しい ​**anypoint\_username**​ 属性の空の項目に、​`String.substringBefore(user.login, "@")`​ と入力します。Okta ユーザー名はメールベースであるため、この式ではメールドメインが削除されます。
8. 黄色い矢印ドロップダウンメニューから、​**\[Apply mapping on user create and update (ユーザーの作成および更新時にマッピングを適用)\]**​ を選択します。
    
    ![マップされた anypoint\_username 属性の例](/mulesoft/current/ja-jp/api-experience-hub/_images/aeh-sso-mapped-anypoint-username-attribute.png)
9. **\[Save Mappings (マッピングを保存)\]**​ をクリックします。

## [](#ステップ-2-salesforce-id-プロバイダーを追加する)ステップ 2: Salesforce ID プロバイダーを追加する

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

1. **\[API Experience Hub\]**​ > ​**\[User management (ユーザー管理)\]**​ に移動します。
2. **\[User management (ユーザー管理)\]**​ ページで、​**\[Login settings (ログイン設定)\]**​ タブを選択します。
3. **\[Single sign-on (SSO) (シングルサインオン (SSO))\]**​ セクションから、​**\[Add Salesforce identity providers (Salesforce ID プロバイダーを追加)\]**​ セクションまでスクロールダウンします。
4. Okta で設定した Salesforce ID プロバイダーで、スライダーを ​**\[Enabled (有効)\]**​ に移動します。

## [](#ステップ-3-グループマッピングを追加する)ステップ 3: グループマッピングを追加する

ポータルの SSO を設定する場合、ユーザーは Salesforce と Anypoint Platform の両方で ID を持っている必要があります。SSO ユーザーは、グループ名を使用してチームにマップされます。アクセス管理を使用して、ユーザーをチームにマップする必要があります。API Experience Hub には、​**\[AEH Portal (AEH ポータル) - ${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 (追加)\]**​ をクリックします。
    
    ![アクセス管理グループマッピング](/mulesoft/current/ja-jp/api-experience-hub/_images/aeh-sso-access-mgmt-ext-idp-groups.png)
7. **\[Save Changes (変更を保存)\]**​ をクリックします。
    
    指定したグループに関連付けられている SSO ユーザーがチームに割り当てられます。

## [](#test-sso)ステップ 4: SSO 設定をテストする

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

1. ブラウザーでシークレットウィンドウを開きます。
2. API Experience Hub ポータルに移動します。
3. 設定した SSO オプションを選択します。
4. ポータルの ID プロバイダーで設定したグループに属するユーザーでログインします。
5. ポータルでのユーザーの API の表示を確認します。
6. **\[Access Management (アクセス管理)\]**​ > ​**\[Users (ユーザー)\]**​ に移動します。
7. ユーザー名を使用して検索し、ユーザーが目的の ID プロバイダーにマップされていることを確認します。
8. グループマッピングが設定されているチームに移動します。
    
    **\[Members (メンバー)\]**​ タブで、ユーザーが表示されていることを確認します。

## [](#関連情報)関連情報

- [シングルサインオンエラーのトラブルシューティング](https://docs.mulesoft.com/jp/api-experience-hub/troubleshoot-sso-errors)
- [ポータルでのシングルサインオンの有効化](https://docs.mulesoft.com/jp/api-experience-hub/enabling-sso-for-your-portal)
- [ユーザーの管理](https://docs.mulesoft.com/jp/api-experience-hub/managing-users)