Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerMuleSoft は、OpenID Connect 動的クライアント登録オープン標準を実装する ID プロバイダーによるクライアント管理をサポートします。 MuleSoft は Anypoint Platform で Salesforce、Okta、OpenAM v14 の動的クライアント登録のサポートを明示的に検証します。
次のテーブルで、登録中にプロバイダーに応じて指定する必要がある URL の例を示します。
URL 名 |
Okta の URL 例 |
OpenAM の URL 例 |
Salesforce の URL 例 |
Base (ベース) |
|
|
|
Client Registration (クライアント登録) |
{BASE URL}/clients |
{BASE URL}/connect/register |
{BASE URL}/register |
Authorize (承認) |
{BASE URL}/authorize |
{BASE URL}/authorize |
{BASE URL}/authorize |
Token (トークン) |
{BASE URL}/token |
{BASE URL}/access_token |
{BASE URL}/token |
Token Introspection (トークンイントロスペクション) |
{BASE URL}/introspect |
{BASE URL}/introspect |
{BASE URL}/introspect |
組織のシステム管理者権限を持つアカウントを使用して Anypoint Platform にログインします。
ナビゲーションバーまたは Anypoint Platform のメインページで、[Access Management (アクセス管理)] をクリックします。
[Access Management (アクセス管理)] ナビゲーションメニューで、[Client Providers (クライアントプロバイダー)] をクリックします。
[Add Client Provider (クライアントプロバイダーを追加)] をクリックして、[OpenID Connect Dynamic Client Registration (OpenID Connect 動的クライアント登録)] を選択します。
[Add OIDC client provider (OIDC クライアントプロバイダーを追加)] ページが表示されます。
ID プロバイダーの設定から値を取得したら、各セクションの次の必須項目にそれらの値を入力します。
動的クライアント登録
Issuer (発行者): OpenID プロバイダーアサートがその信頼される発行者である URL。
Client Registration URL (クライアント登録 URL): クライアントアプリケーションを ID プロバイダーのクライアントアプリケーションとして動的に登録するための URL。
Authorization Header (認証ヘッダー): サーバーで認証するためのログイン情報を表示するヘッダー。このヘッダーは、プロバイダーが承認済みのクライアントに対する登録要求を制限している場合に必須です。
Okta の場合、この値は SSWS ${api_token}
です。ここで、api_token
は Okta を通じて作成される API トークンです。
ForgeRock の場合、この値は Bearer ${api_token}
です。ここで、api_token
は ForgeRock を通じて作成される API トークンです。
Salesforce の場合、この値は Bearer ${api_token}
です。ここで、api_token
は Salesforce を通じて作成される API トークンです。
[Advanced Settings (詳細設定)] では、以下のオプションを選択することもできます。
Disable server certificate validation (サーバー証明書の検証を無効化): OpenID クライアント管理インスタンスで自己署名証明書、または内部認証機関によって署名される証明書が表示される場合、サーバー証明書の検証を無効にします。
Enable client deletion in Anypoint Platform (Anypoint Platform でクライアントの削除を有効化): このインテグレーションで作成されたクライアントの削除を有効にします。
Enable client deletion and updates in IdP (IdP でクライアントの削除および更新を有効化): このオプションを使用するには、[Enable client deletion in Anypoint Platform (Anypoint Platform でクライアントの削除を有効化)] オプションも選択する必要があります。このオプションにより、Anypoint Platform によって {clientRegistrationUrl}/{clientID}
に対して行われたアウトバウンドコールを通じて設定済みの IdP で外部クライアントの更新および削除が可能になります。clientRegistrationUrl
は [Client Registration URL (クライアント登録 URL)] で設定した値です。たとえば、https://identity.example.com/oauth2/connect/register/6779ef20e75817b79602
のようにします。
Authorization:
ヘッダーは、[Advanced settings (詳細設定)] の Authorization Header
が設定されている場合のみ要求に含まれます。
渡される client_id
要求パラメーターは、PUT
要求ペイロードで渡される client_id
と同じです。
ペイロードで渡される token_endpoint_auth_method
は常に client_secret_basic
です。
OIDC の [Client Provider (クライアントプロバイダー)] で設定した内容から取得されるのは、Client Registration URL
と Authorization Header
のみです。
PUT (更新) 要求のペイロードの例を次に示します。
PUT /oauth2/connect/register/{{client_id}} Accept: application/json Host: identity.example.com Authorization: Bearer access-token { "client_id": "client_id", "client_secret": "some-secret", "redirect_uris": [ "https://example.com/" ], "grant_types": [ "authorization_code" ], "token_endpoint_auth_method": "client_secret_basic", "response_types": [ "code" ], "client_name": "test-client-name" }
要求の client_name はインバウンド側の name にマップされます。認証方法は許可種別によって異なります。たとえば、許可種別が implicit の場合、id_token と token が返されます。
|
DELETE リクエストヘッダーの例を次に示します。
DELETE /oauth2/connect/register/{{client_id}} Host: identity.example.com Authorization: Bearer access-token
コールが直接 IDP に対して使用されている場合、PUT と DELETE のどちらもが機能しないことが予期されます。自分で管理しているアプリケーションを参照することによる捕捉を目的としているため、特定のプロバイダー用に適切な削除および更新の API を実装できます。
|
Client Request Timeout (seconds) (クライアント要求のタイムアウト (秒)): クライアントプロバイダーの要求がタイムアウトするまでの時間。最小値は 5 秒です。最大値は 20 秒です。
Token Introspection Client (トークンイントロスペクションクライアント)
Client ID (クライアント ID): すべてのクライアントのすべてのトークンのイントロスペクションが可能な IdP の既存のクライアントのクライアント ID。
Okta の場合、この値は「Confidential (機密)」クライアントである必要があります。
ForgeRock の場合、この値は「Confidential (機密)」クライアントである必要があります。
Salesforce の場合、この値は「Confidential (機密)」クライアントである必要があります。
Client Secret (クライアントシークレット): クライアント ID に対応するクライアントシークレット。
OpenID Connect Authorization URLs (OpenID Connect 認証 URL)
Authorize URL (認証 URL): ユーザーが OpenID Connect クライアントアプリケーションを認証してユーザーの ID へのアクセスを許可する URL。
Token URL (トークン URL): 安全な JSON Web トークンでエンコードされたユーザーの ID を提供する URL。
[Create (作成)] をクリックします。
これを正常に設定すると、API Manager を通じて OpenID Connect OAuth トークン適用ポリシーを API ゲートウェイに適用できます。API Portal を通じて API アクセスを要求すると、トークンプロバイダーとして機能する設定済みの IDP でクライアントアプリケーションが動的に生成されます。
Okta の場合、Okta システム管理者は動的に生成されたクライアントをユーザーまたはユーザーのグループに割り当てて、クライアント ID およびクライアントシークレットを送信することでアクセストークンを受信できるようにする必要があります。 |
Anypoint Platform が設定済みの OIDC エンドポイントに対して HTTP コールを行った 5 秒後に応答がない場合、HTTP コールはタイムアウトになります。 |
OIDC 動的クライアント登録プロバイダーのセットアップ中に省略可能な [Issuer (発行者)] 項目を設定すると、Anypoint Platform はその UI に、プロバイダーでサポートされるすべての OIDC 許可種別 (client credentials
、password
など) を自動的に入力します。プロバイダーでサポートされる許可種別を確認するには、$ISSUER/.well-known/openid-configuration
を使用してプロバイダーの検出エンドポイントを確認します。ここで、$ISSUER
はプロバイダーとして設定された発行者です。クライアントプロバイダーの $ISSUER/.well-known/oauth-authorization-server
エンドポイントで この仕様がサポートされている場合、許可種別を $ISSUER/.well-known/openid-configuration
とマージする前に、エンドポイントが検出されて検証されます。このプロセスで、Okta ユーザーのクライアントログイン情報許可種別も使用できるようになります。
[Issuer (発行者)] が設定されており、/.well-known
URL を使用可能な場合、既存のクライアントプロバイダーに移動してそれを再度保存すると、/.well-known
メタデータからの grant_types_supported
に基づいて許可種別が更新されます。クライアントプロバイダーを作成または更新すると、システムによって /.well-known
メタデータが取得されます。
[Issuer (発行者)] 項目が設定されていない場合、またはプロバイダーの検出エンドポイントを使用できない場合は、Anypoint Exchange API ポータルで API クライアントアプリケーションを作成するときに Anypoint Platform UI にデフォルトで次の許可種別が表示されます。
暗黙的
Authorization (認証)
Refresh Token (更新トークン)
[Refresh Token (更新トークン)] 許可種別を選択できるのは、認証認可種別も選択している場合のみです。 |
How to find your Azure Active Directory tenant ID (Azure Active Directory のテナント ID を見つける方法)。
OpenAM 13.5 開発者ガイド、手順 14.4 To Register a Relying Party Dynamically (証明書利用者を動的に登録する方法)
Okta OpenID Connect, Dynamic Client Registration (Okta OpenID Connect、動的クライアント登録)
Okta OpenID Connect & OAuth 2.0 API (Okta OpenID Connect および OAuth 2.0 API)