自動ポリシーの適用

「​組織の管理者​」または「​環境管理者​」のユーザー、あるいは環境内の「​ポリシーの管理​」ロールを持つユーザーは、自動ポリシーの作成、編集、削除ができます。

タスクの前提条件

自動ポリシーを適用する前に、以下を確認してください。

  • Mule ゲートウェイ機能​が有効化された状態で Mule Runtime Engine (Mule) がインストールされている。

  • 基本エンドポイントまたはプロキシエンドポイントが設定された ​API​ が API Manager 内に存在する。

  • 自動検出によって API にリンクされている ​HTTP(S) ベースフロー​で Mule アプリケーションがデプロイされている。

    Mule アプリケーション内で自動検出が正しく設定されている場合、アプリケーションの API は API Manager によって追跡されている、または API Manager にペアリングされているとみなすことができます。

ほとんどの場合は、自動生成プロキシによってこれらの前提条件が処理されます。Mule ゲートウェイは、実行時に API Manager で API に適用される自動ポリシーを調整します。

自動ポリシーを適用する

自動ポリシーを適用する手順は次のとおりです。

  1. [API Manager]​ の左ナビゲーションメニューで ​[Automated Policies (自動ポリシー)]​ を選択します。

  2. [Apply new automated policy (新しい自動ポリシーを割り当て)]​ をクリックします。

  3. 提供ポリシーとして設定する提供ポリシーを選択します。
    Mule 4 の任意の提供ポリシーを自動ポリシーとして設定できます。
    各提供ポリシーの設定方法については、​使用可能な提供ポリシーのリスト​を参照してください。カスタムポリシーの作成方法については、記事​「カスタムポリシーの作成」​を参照してください。

    自動ポリシーを設定する場合、ポリシー設定ページの下部に ​[Rule of Applications (アプリケーションのルール)]​ サブセクションがあります。これにより、ポリシーの影響を受ける一連のランタイムを規定します。

    • Apply to all supported runtimes (4.1.1 and above) (すべてのサポートされるランタイム (4.1.1 以上) に適用)​。
      Mule 4.1.1 以降に基づくすべての API プロキシがポリシーの影響を受けます。

    • Apply to a specific set of runtimes (特定のランタイムセットに適用)​。
      自動ポリシーを継承するランタイムバージョンの範囲を設定できます。
      たとえば、[From (開始)] の入力が「4.1.2」で、[To (終了)] の値が「4.1.4」の場合、自動ポリシーはこの範囲内のすべてのデプロイ済み API に適用されます。4.1.5 に基づいてデプロイされた API はポリシーの影響を受けません。

      値は ​4.1.x​ のように含めることができます。たとえば、4.1.1 ~ 4.1.x の範囲を追加した場合、ランタイムのすべてのパッチリリースが対象になります。4.1.0 に基づく API プロキシは、4.1.1 の「開始値」よりも低いため、この範囲に含まれません。

      設定しているポリシーの種別が、アプリケーションのルールの影響を受ける API プロキシに提供ポリシーとしても存在する場合、続行する前に競合を解決する必要があります。解決方法についての詳細は、以下の​競合管理​セクションを参照してください。

  4. [Apply (適用)]​ をクリックします。

自動ポリシーを本番環境に適用する前に下位の環境に適用し、自動ポリシーが既存の API コントラクトに影響しないことを確認することをお勧めします。

競合管理

自動ポリシーは API レベルのポリシーよりも優先されるため、API レベルのポリシーとしてすでに適用されている自動ポリシーを追加すると、選択されたランタイム範囲を使用してデプロイされた API では、競合が検出されます。これを、続行する前に解決する必要があります。

競合が検出された場合、競合する API のリストを含むポップアップが表示されます。メッセージが表示され、競合する最初の 10 個の API と合計数が示されます。次のエンドポイントを使用して、すべての API のリストにアクセスできます。

curl -X GET \
https://anypoint.mulesoft.com/xapi/v1/automated-policies/{groupId}/{assetId}/conflicting-apis \
-H 'Authorization: Bearer {token}'

競合を解決するには、設定済みの API のリストから API を選択し、競合するポリシーを手動で無効化または削除するか、設定済みの API に対してすべての競合するポリシーを上書きするように選択します。この最後のオプションを選択した場合、API の競合するポリシーは無効化されます。自動ポリシーを削除すると、API のポリシーは自動的に再有効化されます。

新しい API のデプロイ

新しい API を管理する場合、環境に適用された自動ポリシーの状況に関する情報を [​Policies (ポリシー)​] タブで参照できます。自動ポリシーは、アプリケーションが [Active (アクティブ)] の状況になるまで表示されません。
アプリケーションがデプロイされると、適用された自動ポリシーのリストが API の ​[Policies (ポリシー)]​ タブに表示されます。

環境に対する​「ポリシーの参照」​ロールを持つユーザーは、適用された自動ポリシーのリストを参照できます。
アプリケーションをデプロイした環境に、デプロイしたランタイムを対象としない自動ポリシー、たとえば、4.1.2 ~ 4.1.4 のランタイム範囲に影響する自動ポリシーがある場合、ユーザーが 4.1.5 ランタイムにデプロイすると、通知が組織と環境の管理者に送信され、このアクティビティが通知されます。

カバー率の状況を表示する

自動ポリシーで API インスタンスがカバーされるかどうか、またはなぜカバーされないかを確認するには、API インスタンスの ​[Coverage status (カバー率の状況)]​ を参照します。通常、インスタンスがカバーされない原因はランタイム種別またはランタイムバージョンです。

自動ポリシーでカバーされる API インスタンスを表示する手順は、次のとおりです。

  1. [Anypoint Platform]​ > ​[API Manager]​ に移動します。

  2. [API Administration (API 管理)] で、​[Automated Policies (自動ポリシー)]​ をクリックします。

  3. カバー率を表示するポリシーのその他のオプションボタン (​1%​) をクリックし、​[See covered APIs (カバーされる API を確認)]​ をクリックします。

  4. [Coverage status (カバー率の状況)]​ 列で API インスタンスのカバー率の状況を参照します。

カバー率の状況で絞り込むには、カバー率の状況ドロップダウンをクリックして、カバー率の状況オプションを選択します。

適用されたポリシーの監査

自動ポリシーの影響を受けたすべての API のリストを監査し、取得することができます。レポートはランタイムバージョンおよび操作により絞り込むことができます。

環境内のすべての自動ポリシーのリストを取得する方法

curl -X GET \
https://anypoint.mulesoft.com/apimanager/api/v1/organizations/{organizationId}/automated-policies?environmentId={envId} \
  -H 'Authorization: Bearer {token}'

自動ポリシーの範囲に含まれる API、または自動ポリシーが適用されない API のリストを取得する方法。

curl -X GET \
https://anypoint.mulesoft.com/apimanager/api/v1/organizations/{organizationId}/automated-policies/{automatedPolicyId}/apis \
-H 'Authorization: Bearer {token}'

関連情報