ポリシーの順序付け

特定のポリシーをその他のポリシーより前に実行するには、内部ポリシーとカスタムポリシーの実行順序を設定します。

自動ポリシーまたは API レベルのポリシーとして実行されるように内部ポリシーとカスタムポリシーの両方を設定できます。自動ポリシーとは、Flex レプリカにデプロイされたすべての API インスタンスに適用され、API レベルのポリシーの前に実行されるポリシーです。API レベルのポリシーとは、特定の API インスタンスのみに適用されるポリシーです。

接続モードで実行されている Flex Gateway では、API Manager を使用してポリシーを並び替えます。ローカルモードで実行されている Flex Gateway では、​PolicyBinding​ YAML リソースを使用してポリシーを並び替えます。

クロスオリジンリソース共有 (CORS) ポリシー​の実行順序を設定することはできません。CORS ポリシーは自動ポリシーおよび API レベルポリシーより前に実行されます。

ポリシーの実行順序

ポリシーは、API 要求、API 応答、またはその両方で実行できます。ポリシーは、API 要求時には順序どおりに、API 応答時には逆の順序で実行されます。ポリシーが特定の方向では実行されない場合、Flex Gateway ではその方向ではそのポリシーをスキップします。

たとえば、4 つのポリシーが次の順序になっているとします。

  1. 自動ポリシー 1

  2. 自動ポリシー 2

  3. API レベルのポリシー 1

  4. API レベルのポリシー 2

ポリシーは、応答では次の順序で実行されます。

  1. API レベルのポリシー 2

  2. API レベルのポリシー 1

  3. 自動ポリシー 2

  4. 自動ポリシー 1

接続モードでの自動ポリシーの並び替え

API Manager で自動ポリシーの順序を設定することはできません。自動ポリシーは、API インスタンスに適用された順序で実行されます。自動ポリシーは実行する順序で適用してください。

ローカルモードでの自動ポリシーの並び替え

ローカルモードで実行されている Flex Gateway に自動ポリシーを適用するには、リソースレベルのポリシーを適用する必要があります。これにより、同じポリシーを Flex レプリカで実行されているすべての API インスタンスに適用できます。

リソースレベルのポリシーをすべての API インスタンスに適用するには、リソースレベルの自動ポリシーを使用した API の保護を参照してください。

リソースレベルの自動ポリシーを並び替えるには、ポリシーを実行するタイミングに一致するように ​order​ パラメーターを編集します。この順序が他のポリシーの順序と競合しないことを確認してください。たとえば、​order: 1​ と ​order: 2​ を使用して 2 つのリソースレベルの自動ポリシーを適用する場合、API レベルのポリシーはいずれも ​order: 3​ で始まる必要があります。

接続モードで API レベルのポリシーを並び替える

接続モードで実行されている Flex Gateway で API レベルのポリシーを並び替える手順は、次のとおりです。

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

  2. [API Administration (API 管理)]​ で、ポリシーを並び替える API インスタンスの名前をクリックします。

  3. 左側のナビゲーションメニューから、​[Policies (ポリシー)]​ をクリックします。

  4. 適用済みポリシーのリストの最上部で、​[Reorder policies (ポリシーを並び替え)]​ をクリックします。

  5. [Reorder Applied Policies (適用済みポリシーの並び替え)]​ セクションで、上矢印と下矢印を使用して、ポリシーの順序を再編成します。

  6. [Apply order (順序を適用)]​ をクリックします。

ローカルモードでの API レベルのポリシーの並び替え

ローカルモードで実行されている Flex Gateway では、​PolicyBinding​ YAML リソースを介してポリシーの順序を設定します。

PolicyBinding​ YAML リソースを使用してポリシーを定義する場合、ポリシーを実行するタイミングに一致するように ​order​ パラメーターを編集します。同じ順序番号を別のポリシーに割り当てないでください。

ローカルモードのポリシー順序については、​「宣言型設定リファレンスガイド」​を参照してください。