Azure Active Directory クライアント管理の設定

動的クライアント登録を使用して、Anypoint Platform に Azure Active Directory (Azure AD) クライアント管理を設定できます。Azure AD をクライアントプロバイダーとして使用すれば、既存の設定で API コンシューマーを認証および承認することができます。Anypoint Platform の Azure AD 設定には、OAuth 2.0 クライアントアプリケーションの登録要求を Azure AD でサポートされる要求に変換するステートレスのマイクロサービスも用意されています。

設定ウォークスルー

  1. 組織のシステム管理者権限を持つアカウントを使用して Anypoint Platform にログインします。

  2. ナビゲーションバーまたは Anypoint Platform のメインページで、​[Access Management (アクセス管理)]​ をクリックします。

  3. [Access Management (アクセス管理)] ナビゲーションメニューで、​[Client Providers (クライアントプロバイダー)]​ をクリックします。

  4. [Add Client Provider (クライアントプロバイダーを追加)]​ をクリックして、​[OpenID Connect DCR for Azure (Azure 用の OpenID Connect DCR)]​ を選択します。

    [Add OIDC Azure client provider (OIDC Azure クライアントプロバイダーを追加)]​ ページが表示されます。

  5. クライアントプロバイダーの名前と説明を入力します。

  6. ID プロバイダーの設定から次の値を入力します。

    1. Issuer (発行者)​: OpenID プロバイダーアサートがその信頼される発行者である URL。

    2. Tenant ID for Azure AD (Azure AD のテナント ID)​: Azure AD から取得するテナント ID。テナント ID の取得についての詳細は、 「How to find your Azure Active Directory tenant ID (Azure Active Directory のテナント ID を見つける方法)」​を参照してください。

    3. Client ID (クライアント ID)​: Azure AD でアプリケーションを作成可能な ID プロバイダー (IdP) の既存のクライアントのクライアント ID。

    4. Client Secret (クライアントシークレット)​: クライアント ID に対応するクライアントシークレット。

  7. [Advanced Settings (詳細設定)]​ セクションを展開します。次の選択は省略可能です。

    1. Disable server certificate validation (サーバー証明書の検証を無効化)​: Azure AD クライアント管理インスタンスに自己署名証明書、または内部認証機関によって署名された証明書が表示される場合は、サーバー証明書の検証を無効にします。

    2. Enable client deletion in Anypoint Platform (Anypoint Platform でクライアントの削除を有効化)​: このインテグレーションで作成されたクライアントの削除を有効にします。

    3. Enable client deletion and updates in IdP (IdP でクライアントの削除および更新を有効化)​: このオプションを使用するには、​[Enable client deletion in Anypoint Platform (Anypoint Platform でクライアントの削除を有効化)]​ オプションも選択する必要があります。このオプションにより、Azure AD によって ​https://graph.microsoft.com/v1.0/applications/{clientId}​ に対して行われたアウトバウンドコールを通じて設定済みの IdP で外部クライアントの更新および削除が可能になります。

      PATCH​ ペイロードの例については、 「Update application (アプリケーションを更新する)」​ドキュメントを参照してください。​DELETE​ ペイロードの例については、 「Delete application (アプリケーションを削除する)」​ドキュメントを参照してください。

      現在、クライアントシークレットの更新はサポートされていません。

  8. [Create (作成)]​ をクリックします。

Microsoft ID プラットフォームのサポート

アクセストークン

API では、Anypoint Platform の Azure AD クライアント管理は Microsoft ID プラットフォームで v1 と v2 の両方の JSON Web Token​ (JWT) をサポートします。

OAuth 2.0 エンドポイント

Anypoint Platform は、Azure AD v2.0 エンドポイント (Microsoft ID プラットフォームエンドポイント) を使用して取得されたトークンのみをサポートします。たとえば、Anypoint Platform は ​https://login.microsoftonline.com/{tenantId}/oauth2/v2.0/token​ というトークンエンドポイントをサポートします。

認証コード許可種別を使用してトークンを取得する場合には、次のプロパティを使用してください。

Anypoint Platform は、カスタムスコープをサポートしません。Microsoft Graph のデフォルトスコープを使用してください。

許可種別

Microsoft Azure AD クライアントプロバイダーを使用して新しいアプリケーションを作成​する場合、サポートされる許可種別は指定できません。Microsoft Azure AD 側のこの制限により、Anypoint Platform では許可種別の選択がサポートされていません。

サポートされる許可種別については、 Microsoft ID プラットフォームのドキュメント​を参照してください。

クライアントシークレット

Microsoft の推奨に従って、シークレットの初期有効期限は 6 か月に設定されています。

制限事項

Microsoft ナショナルクラウド

Anypoint Platform は、Azure Government や Azure China 21Vianet などの Microsoft ナショナルクラウドにデプロイされた Azure AD クライアントプロバイダーをサポートしていません。

トークンの検証

Microsoft Azure AD は標準ではイントロスペクションエンドポイントが提供されませんが、Anypoint Platform には、Azure AD をクライアントプロバイダーとして使用する場合に​トークンの検証用のトークンイントロスペクションを実装するポリシー​があります。

このポリシーを使用するには、​OAuth2.0 エンドポイント​に関するドキュメントに従って、サポートされているトークンを生成します。

トークンが失効したエラー

Azure AD から取得した有効なトークンを使用して Anypoint API を呼び出すことで OIDC ポリシーを適用しようとしたときに、​「Token has been revoked (トークンが失効しました)」​というエラーが表示される場合は、​OAuth 2.0 エンドポイントに関するドキュメント​を参照して、サポートされている方法を使用してトークンを取得していることを確認します。それでもトークンの検証が失敗する場合は、サポートにお問い合わせください。