Flex Gateway新着情報
Governance新着情報
Monitoring API Managerこのユースケースには、Anypoint Platform 用にすでに設定されている ID プロバイダーを使用してポータルの SSO を設定する手順が含まれています。このユースケースでは、ポータルと Anypoint Platform のユーザー名が一致しない場合にユーザー名の割り当て戦略を調整する手順も提供されます。
このユースケースの手順では、ID プロバイダーの例として Okta を使用していますが、任意の ID プロバイダーを使用して SSO をセットアップできます。
次のセットアップとコンテキストがあることを確認してください。
Anypoint Platform の ID プロバイダーがすでに設定されている。
アプリケーションにアクセスできるユーザーまたはユーザーのグループの ID が ID プロバイダーで作成されている。
ID プロバイダーのカスタムユーザー属性とクレームを設定するために API Experience Hub に必要なロール、権限、情報を理解する。
「始める前に」を参照してください。
このステップでは、API Experience Hub ポータルの ID プロバイダーでアプリケーションを作成および設定し、アプリケーション設定でグループ情報を送信する機能を有効にし、グループを設定し、アプリケーションを Anypoint Platform の ID プロバイダーにマップします。これらの手順を実行するには、アプリケーションと ID プロバイダーアプリケーション間を行き来して情報をコピーまたは追加する必要があります。
ID プロバイダーで API Experience Hub ポータル用の新しいアプリケーションを作成します。
Okta で、OpenID Connect Web アプリケーションを作成します。詳細は、 「Create OIDC app integrations (OIDC アプリケーションインテグレーションの作成)」を参照してください。
[Connection (一般設定)] セクションで、次の項目に入力します。
項目 | 値 |
---|---|
App integration name (アプリケーションインテグレーション名) |
アプリケーションの名前を入力します。 |
Grant tpe (許可種別) |
[Authorization Code (認証コード)] を選択します。 |
Assignments (割り当て) |
[Limit access to selected groups (選択済みのグループへのアクセスを制限)] を選択します。 |
Selected group(s) (選択済みのグループ) |
API Experience Hub および Anypoint Platform のアプリケーションにアクセスする必要があるグループの名前を入力します。 |
ID プロバイダーが、「始める前に」セクションにリストされた予期されるクレームを送信していることを確認します。
アプリケーションが送信するクレームを設定します。
たとえば、OpenID Connect の場合、次の手順を使用してグループクレームを設定します。
[Sign On (サインオン)] タブで、[OpenID Connect ID Token (OpenID Connect ID トークン)] セクションの [Edit (編集)] をクリックします。
[Groups claim type (グループクレーム種別)] で、[Filter (検索条件)] を選択します。
[Groups claim filter (グループクレーム検索条件)] で、[groups (グループ)]
を入力します。
式で [Matches regex] を選択し、ワイルドカードに「.」*を入力します。
ID プロバイダーアプリケーション情報を使用して、Salesforce で認証プロバイダーまたは SSO 設定をセットアップします。
OpenID Connect アプリケーションから、次の設定値を取得します。
Client ID (クライアント ID)
Client Secret (クライアントシークレット)
Authorize Endpoint URL (承認エンドポイント URL)
Token Endpoint URL (トークンエンドポイント URL)
User Info Endpoint URL (ユーザー情報 エンドポイント URL)
Salesforce で [設定] に移動します。
[クイック検索] ボックスに「認証」
と入力し、[認証プロバイダー] を選択します。
[新規] をクリックします。
[プロバイダータイプ] 項目で、[OpenID Connect] を選択します。
次の項目に入力します。
項目 | 値 |
---|---|
プロバイダータイプ |
OpenID Connect |
名前 |
プロバイダーの名前を入力します。 |
コンシューマーキー |
ID プロバイダーのクライアント ID を入力します。 |
コンシューマーの秘密 |
ID プロバイダーのクライアントシークレットを入力します。 |
Authorize Endpoint URL (承認エンドポイント URL) |
|
Token Endpoint URL (トークンエンドポイント URL) |
|
User Info Endpoint URL (ユーザー情報 エンドポイント URL) |
|
デフォルトの範囲 |
profile openid email groups (プロファイルの openid メールグループ) |
登録ハンドラー |
AEHPortalRegistrationHandler |
他のアカウントで登録を実行 |
システム管理者ユーザーを選択します。 |
[保存] をクリックします。
リダイレクトを設定するには、15 桁の組織 ID と 18 桁の組織 ID を使用し、各組織 ID の URL を追加します。
Okta アプリケーションで、[General (一般)] タブを選択します。
[Sign-in redirect URIs (サインインリダイレクト URI)] に次の URL を追加します。
https://${domain}.my.site.com/aeh/services/authcallback/${authProviderURLSuffix}
URL を取得する手順は、次のとおりです。
salesforceOrganizationId の場合、[設定] > [組織情報] に移動する。
authProviderURLSuffix の場合、[設定] > [認証プロバイダー] に移動し、認証プロバイダーをクリックして [URL 接尾辞] を選択する。
domain の場合、[設定] > [私のドメイン] > [現在の [私のドメイン] の URL] に移動する。
anypoint_idp_id という新しいカスタム属性を追加して設定することで、ID プロバイダー ID を anypoint_idp_id にマップする必要があります。
ポータルと Anypoint Platform のユーザー名が一致しない場合、anypoint_username という別のカスタム属性を追加して、ポータルの ID と Anypoint Platform のユーザーが一致するように既存の ID プロバイダーユーザーを強制的に更新します。
anypoint_idp_id を Anypoint Platform ID プロバイダー ID にマップする手順は、次のとおりです。
Okta アプリケーションで、[Directory (ディレクトリ)] > [Profile Editor (プロファイルエディター)] に移動します。
設定したポータルアプリケーションを選択します。
[Add Attributes (属性を追加)] をクリックし、anypoint_idp_id という新しい属性を作成します。
次の項目に入力します。
項目 | 値 |
---|---|
Display name (表示名) |
anypoint_idp_id |
Value name (値の名前) |
anypoint_idp_id |
変更を保存します。
[Access Management (アクセス管理)] > [Identity Providers (ID プロバイダー)] に移動し、ID プロバイダーをクリックします。
ブラウザーの URL から 32 桁の ID をコピーします。
[Okta] > [Directory (ディレクトリ)] > [Profile Editor (プロファイルエディター)] に移動し、[Mappings (マッピング)] をクリックします。
新しい anypoint_idp_id 属性の空の項目に ID を貼り付けます。ID は引用符で囲む必要があります。
黄色い矢印ドロップダウンメニューから、[Apply mapping on user create and update (ユーザーの作成および更新時にマッピングを適用)] を選択します。
[Save Mappings (マッピングを保存)] をクリックします。
プロファイル内のすべてのユーザーにマッピングを適用します。
ユーザーがすでに存在し、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 に対するユーザー名の割り当てを調整する手順は、次のとおりです。
Okta アプリケーションで、[Directory (ディレクトリ)] > [Profile Editor (プロファイルエディター)] に移動します。
設定したポータルアプリケーションを選択します。
[Add Attributes (属性を追加)] をクリックし、anypoint_username という新しい属性を作成します。
次の項目に入力します。
項目 | 値 |
---|---|
Display name (表示名) |
anypoint_username |
Value name (値の名前) |
anypoint_username |
変更を保存します。
[Mappings (マッピング)] をクリックします。
新しい anypoint_username 属性の空の項目に、String.substringBefore(user.login, "@")
と入力します。Okta ユーザー名はメールベースであるため、この式ではメールドメインが削除されます。
黄色い矢印ドロップダウンメニューから、[Apply mapping on user create and update (ユーザーの作成および更新時にマッピングを適用)] を選択します。
[Save Mappings (マッピングを保存)] をクリックします。
API Experience Hub UI から Salesforce ID プロバイダーを有効にします。ID プロバイダーが有効になっている場合、ユーザーはこの ID プロバイダーを使用してポータルにログインできます。
[API Experience Hub] > [User management (ユーザー管理)] に移動します。
[User management (ユーザー管理)] ページで、[Login settings (ログイン設定)] タブを選択します。
[Single sign-on (SSO) (シングルサインオン (SSO))] セクションから、[Add Salesforce identity providers (Salesforce ID プロバイダーを追加)] セクションまでスクロールダウンします。
Okta で設定した Salesforce ID プロバイダーで、スライダーを [Enabled (有効)] に移動します。
ポータルの SSO を設定する場合、ユーザーは Salesforce と Anypoint Platform の両方で ID を持っている必要があります。SSO ユーザーは、グループ名を使用してチームにマップされます。アクセス管理を使用して、ユーザーをチームにマップする必要があります。API Experience Hub には、[AEH Portal (AEH ポータル) - ${salesforceOrganizationId}_${salesforceCommunityId}] という標準のチームが用意されており、アクセス管理のチームとして自動的に追加されています。
API Experience Hub で対応するプロファイルにユーザーを追加することで、グループマッピングを追加します。
[Access Management (アクセス管理)] > [Teams (チーム)] に移動します。
[AEH Portal Guests (AEH ポータルゲスト)] をクリックし、[AEH Portal Members (AEH ポータルメンバー)] をクリックします。
[External IdP Groups (外部 IdP グループ)] をクリックします。
[Group Name (グループ名)] 項目に「AEH Members」 (AEH メンバー) と入力します。
[Provider Name (プロバイダー名)] 項目で、対応する Salesforce ID プロバイダーの名前を選択します。
[Type (種別)] 項目で [Member (メンバー)] を選択し、[Add (追加)] をクリックします。
[Save Changes (変更を保存)] をクリックします。
指定したグループに関連付けられている SSO ユーザーがチームに割り当てられます。
ポータルの SSO が正しく設定されていることを確認します。
ブラウザーでシークレットウィンドウを開きます。
API Experience Hub ポータルに移動します。
設定した SSO オプションを選択します。
ポータルの ID プロバイダーで設定したグループに属するユーザーでログインします。
ポータルでのユーザーの API の表示を確認します。
[Access Management (アクセス管理)] に移動し、[Users (ユーザー)] を選択します。
ユーザー名を使用して検索し、ユーザーが目的の ID プロバイダーにマップされていることを確認します。
グループマッピングが設定されているチームに移動します。
[Members (メンバー)] タブで、ユーザーが表示されていることを確認します。