Flex Gateway新着情報
Governance新着情報
Monitoring API Manager以前に異なる API 管理ソリューションを使用していた場合には、アプリケーションのクライアントログイン情報が Anypoint Platform の外部で管理されていることがあります。Anypoint Platform でログイン情報を使用するためには、これらのクライアントアプリケーションのクライアント ID とクライアントシークレットログイン情報を使用して、事前にクライアントアプリケーションを Anypoint Platform に移行する必要があります。
クライアントアプリケーションでは、組織が Anypoint Platform クライアントプロバイダーまたは外部クライアントプロバイダーに関連付けられている API をコンシュームできます。それぞれのシナリオの手順は異なります。
クライアントアプリケーションを Anypoint Platform に移行する前に、次のスコープと制限を確認してください。
アプリケーションがコンシュームする API の組織で外部クライアントプロバイダー (例: PingFederate や Okta) が登録されている場合は、「外部クライアントプロバイダーが登録されている組織」を参照してください。
アプリケーションのクライアント ID やクライアントシークレットを更新しようとしないでください。
この機能はサポートされていません。
クライアント ID は、Anypoint Platform 内では一意です。2 つの異なるアカウントで同じクライアント ID を使用しないでください。
重複を回避するため、アカウントに対しては一意のクライアント ID を指定してください。
同じユーザーを使用して 500 件を超えるアプリケーションを作成しないでください。
重複する名前のアプリケーションを作成しないでください。
クライアント ID を変更する場合は、必ず先にクライアントアプリケーションを削除してから再登録してください。
クライアントログイン情報がクライアントプロバイダー上の既存の組織 ID のログイン情報と一致する場合、アプリケーションはそのクライアントに関連付けられます。
反対に、指定したクライアントログイン情報が一致しない場合、クライアントアプリケーションは既存のクライアントには関連付けられずに作成されます。
クライアントアプリケーションを移行するには、次の手順を実行します。
テキストエディターを開いて次のコマンドを貼り付けます。
curl --location --request POST 'https://anypoint.mulesoft.com/exchange/api/v1/organizations/:orgId/applications' \ --header 'Authorization: Bearer <omitted>' \ --header 'Content-Type: application/json' \ --data-raw '{ "clientId": <myClientId>, "clientSecret": <myClientSecret>, "grantTypes": [], "name": <myApplicationName>, "redirectUri": [] }'
text
orgId
パラメーターはルート組織の ID に、本文のコンテンツは適切なアプリケーションプロパティに置き換えます。
コマンドプロンプトに対してこのコマンドを実行します。
外部クライアントプロバイダーが登録されている組織に対してアプリケーションを作成する場合は、API インスタンス ID (API Manager UI で取得可能) を使用して、コンシュームする API に直接アプリケーションを関連付けることができます。
PingFederate 外部クライアントプロバイダーまたは Anypoint Platform クライアントプロバイダーを使用している場合は、API の参照時にクライアント ID とクライアントシークレットを含めることができます。OpenID 動的クライアント登録を使用して登録される Okta や Keycloak などのプロバイダーを使用している場合は、クライアント ID とクライアントシークレットログイン情報を定義することはできません。
クライアントアプリケーションを移行するには、次の手順を実行します。
テキストエディターを開いて次のコマンドを貼り付けます。
curl --location --request POST 'https://anypoint.mulesoft.com/exchange/api/v1/organizations/:orgId/applications?apiInstanceId=:myApiInstanceId' \ --header 'Authorization: Bearer <omitted>' \ --header 'Content-Type: application/json' \ --data-raw '{ "clientId": <myIdpClientID>, "clientSecret": <myIdpClientSecret>, "grantTypes": [ <grant type item, for example: client_credentials> ], "name": <myApplicationName>, "redirectUri": [ "https://anypoint.mulesoft.com/apiplatform/:orgId/authentication/oauth2.html", "https://anypoint.mulesoft.com/apiplatform/:orgId/admin/authentication/oauth2.html", "https://api-notebook.anypoint.mulesoft.com/authenticate/oauth.html" ] }'
text
コマンドスニペットの orgId
パラメーターは組織の ID に、apiInstanceId
は API インスタンス ID に、本文のコンテンツは適切なアプリケーションプロパティに置き換えます。
コマンドプロンプトに対してこのコマンドを実行します。
移行コマンドのプロパティには、以下の推奨事項に基づいて値を指定してください。
clientId
: <クライアント ID>
clientSecret
: <クライアントシークレット>
(省略可能)description
: <アプリケーション情報の説明>
このプロパティはアプリケーションページに表示されます。
name
: <作成するアプリケーションの名前>
このプロパティは、アクセスを要求する前にアプリケーションを選択するときに表示されます。
redirectUri
: <OAuth 2.0 クライアントとして使用するアプリケーションのリダイレクト URI を含む配列>
(省略可能) url
: <クライアントアプリケーションの URL>
このプロパティはアプリケーションページに表示されます。
grantTypes
: <Anypoint Platform クライアントプロバイダーの場合は空白の配列、外部クライアントプロバイダーの場合は可能な値の配列>
Resource Owner Grant
: "password"
Implicit Grant
: "implicit"
Client Credentials Grant
"client_credentials"
Authorization Code
: "authorization_code"
Refresh Token
: "refresh_token" (この許可種別を使用するには認証コードが必要です。)
外部クライアントプロバイダーでサポートされる許可種別については、クライアントプロバイダーのドキュメントを参照してください。