Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerAnypoint Platform を介して API Manager ユーザーインターフェースを使用する代わりに、 Anypoint Platform 開発者ポータルから API Manager API ツールを使用して、接続モードで Flex Gateway を設定できます。このツールにより、コマンドラインを使用して API Manager と通信できるようになります。このチュートリアルの手順を使用して、API インスタンスの作成、デプロイ、ポリシーの適用、および削除を行います。
API Manager API についての詳細は、 API Manager API ドキュメントを参照してください。
Jenkins パイプラインを使用してこれらのコマンドを自動化するには、「Jenkins Pipeline を使用した接続モードでの Flex Gateway の自動化」を参照してください。 |
API Manager API を使用して Flex Gateway を設定する前に、次のタスクを完了します。
[App acts on its behalf (client credentials) (アプリケーションが自身のために行動する (クライアントログイン情報))] 種別を使用し、以下のスコープを含めます。
API Manager: [Manage API Configuration (API 設定の管理)]、[Manage Policies (ポリシーの管理)]、[View Policies (ポリシーの参照)]、[Deploy API Proxies (API プロキシのデプロイ)]
Runtime Manager: [Read Servers (サーバーの参照)]
Exchange: [Exchange Viewer (Exchange 閲覧者)]
API Manager API を使用するために接続アプリケーションで Flex Gateway を登録して実行する必要はありませんが、適切なスコープを含めれば同じ接続アプリケーションを使用できます。
設定する接続アプリケーションの ID とシークレットを保存します。
作成または適用する Exchange アセットのグループ ID、アセット ID、およびアセットバージョン (GAV) を収集します。
Exchange から GAV を収集する手順は、次のとおりです。
Exchange に移動します。
追加または適用するアセットを見つけます。
URL からグループ ID とアセット ID を収集します。
たとえば、API Manager API Exchange URL https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/api-manager-api/minor/1.0/pages/home/
から収集された ID は次のとおりです。
グループ ID: f1e97bc6-315a-4490-82a7-23abe036327
アセット ID: api-manager-api
[Latest Stable (最新の安定バージョン)] からアセットのバージョンを収集します。
たとえば、API Gateway HTTP 基本認証ポリシーテンプレートから収集されたバージョンは 1.3.1
です。
Anypoint Platform インスタンスから以下の情報を収集します。
Flex Gateway を実行する組織の組織 ID
詳細は、「組織 ID を見つける」を参照してください。
Flex Gateway を実行する環境の環境 ID
詳細は、「API Manager の外観」を参照してください。
API をデプロイする Flex Gateway のランタイム対象 ID
対象 ID を見つけるには、[Anypoint Platform] > [Runtime Manager] > [Flex Gateway] に移動します。
API Manager API を使用してコールを行うには、認証トークンを取得する必要があります。
次の情報を収集します。
<connected-app-client-id>
: 接続アプリケーションの ID
<connected-app-client-secret>
: 接続アプリケーションのシークレット。
プレースホルダーを次の内容に置き換えたら、次の要求を実行して認証トークンを取得します。
curl --location --request POST 'https://anypoint.mulesoft.com/accounts/api/v2/oauth2/token' \
--header 'Content-Type: application/json' \
--data-raw '{
"grant_type": "client_credentials",
"client_id": "<connected-app-client-id>",
"client_secret": "<connected-app-client-secret>"
}'
返された認証トークンを保存します。
API Manager API を使用して API インスタンスを作成する手順は、次のとおりです。
次の情報を収集します。
<your-org-id>
: Flex Gateway を実行する組織の組織 ID
<your-env-id>
: Flex Gateway を実行する組織の環境 ID
<authorization-token>
: 「[Access Management (アクセス管理)] から認証トークンを取得する」を取得する」ステップで収集された認証トークン
API GAV:
<asset-group-id>
: Exchange から取得したグループ ID
<asset-id-from-exchange>
: Exchange から取得した、作成する API のアセット ID
<asset-version>
: Exchange から取得した、作成する API のアセットバージョン
<upstream-uri>
: API の URI アップストリーム
<your-proxy-uri>
: プロキシ URI、API インスタンスのポートとベースパスの組み合わせ (例:http://0.0.0.0:<port-to-populate>/<path>
)
必要に応じて、"endpointUri"
を収集するか、"endpointUri"
項目を削除します。
<your-consumer-endpoint>
: API のコンシューマーエンドポイント (例: http://consumer-endpoint.com
)
サンプルコンテンツを置き換えたら、Anypoint Platform に対して POST 要求を実行します。
curl --location --request POST https://anypoint.mulesoft.com/apimanager/api/v1/organizations/<your-org-id>/environments/<your-env-id>/apis \
--header 'Authorization: bearer <authorization-token>' \
--header 'Content-Type: application/json' \
--data-raw '{
"spec": {
"groupId": "<your-org-id>",
"assetId": "<asset-id-from-exchange>",
"version": "<asset-version>"
},
"endpoint": {
"deploymentType": "HY",
"uri": "<upstream-uri>",
"proxyUri": "<your-proxy-uri>",
"isCloudHub": null
},
"technology": "flexGateway"
"endpointUri": "<your-consumer-endpoint>" // OPTIONAL
}'
インスタンスのデプロイ、ポリシーの適用、または削除を行うために、応答からインスタンス ID "id"
を保存します。
API Manager API を使用して API インスタンスをデプロイする手順は、次のとおりです。
次の情報を収集します。
<instance-id>
: 「API インスタンスを作成する」からのインスタンス ID "id"
<gateway-version>
: 使用している Flex Gateway のバージョン (例: 1.4.0
)
<target-id-from-runtime-manager>
: Runtime Manager から収集された対象 ID
サンプルコンテンツを置き換えたら、Anypoint Platform に対して POST 要求を実行します。
curl --location --request POST 'https://anypoint.mulesoft.com/proxies/xapi/v1/organizations/<your-org-id>/environments/<your-env-id>/apis/<instance-id>/deployments' \
--header 'Content-Type: application/json' \
--header 'Authorization: bearer <authorization-token>' \
--data-raw '{
"type": "HY",
"gatewayVersion": "<gateway-version>",
"targetId": "<target-id-from-runtime-manager>",
"environmentId": "<your-env-id>"
}'
API Manager API を使用して、接続モードポリシーを Flex Gateway にのみ適用できます。
API Manager API を使用して API インスタンスにポリシーを適用する手順は、次のとおりです。
次の情報を収集します。
ポリシー GAV:
<policy-group-id>
: Exchange のポリシーグループ ID
<policy-asset-id>
:Exchange のポリシーアセット ID (例: http-basic-authentication
)
<policy-asset-version>
: Exchange のポリシーアセットバージョン (例: 1.3.1
)
"configurationData"
: ポリシーの必須設定パラメーター
+ Each policy has unique configuration data fields."username"
項目と "password"
項目は一例です。ポリシーの設定データを見つけるには、「内部ポリシーディレクトリ」を参照してください。
サンプルコンテンツを置き換えたら、Anypoint Platform に対して POST 要求を実行します。
curl --location --request POST 'https://anypoint.mulesoft.com/apimanager/api/v1/organizations/<your-org-id>/environments/<your-env-id>/apis/<instance-id>/policies' \
--header 'Authorization: bearer <authorization-token>' \
--header 'Content-Type: application/json' \
--data-raw '{
"configurationData":{
"username": "user",
"password": "test"
},
"pointcutData":null,
"assetId": "<policy-asset-id>",
"assetVersion": "<policy-asset-version>",
"groupId": "<policy-group-id>"
}'
API Manager API を使用して API インスタンスを削除するには、サンプルコンテンツを置き換えた後に、Anypoint Platform に対して DELETE 要求を実行します。
curl --location --request DELETE 'https://anypoint.mulesoft.com/apimanager/api/v1/organizations/<your-org-id>/environments/<your-env-id>/apis/<instance-id>' \
--header 'Content-Type: application/json' \
--header 'Authorization: bearer <authorization-token>'