カスタムポリシーの適用は、内部ポリシーと同じように適用します。
カスタムポリシーを適用する場合、設定パラメーターは definition/gcl.yaml で定義されます。
構成パラメーターの定義の詳細については、policy-pdk-create-schema-definition.adocを参照してください。
始める前に
-
カスタムポリシーを接続モードで実行されている Flex Gateway に適用する場合は、カスタムポリシーを Exchange にアップロードします。
接続モードでのポリシーの適用
接続モードでカスタムポリシーを適用すると、gcl.yaml で定義された設定パラメーターとメタデータが API Manager UI に表示されます。
接続モードでカスタムポリシーを適用するには、Applying Policies for Managed Omni Gateways and Connected Modeを参照してください。
接続モードでのポリシーの更新
API Manager でカスタムポリシーを適用する手順は、次のとおりです
-
[Anypoint Platform] > [API Manager] に移動します。
-
[API Administration (API 管理)] で、ポリシーを適用する API の名前をクリックします。
-
左側のナビゲーションメニューから、[Policies (ポリシー)] をクリックします。
-
更新するポリシーのその他のオプションボタン (
) をクリックし、[Edit configuration (設定を編集)] をクリックします。 -
[Policy version (ポリシーバージョン)] 設定パラメーターで最新バージョンを選択します。
-
[Save (保存)] をクリックします。
-
更新するポリシーのその他のオプションボタン (
) をクリックし、[Check for implementation updates (実装の更新を確認)] をクリックします。実装の更新の詳細は、「ポリシー実装を更新する」を参照してください。
-
確認用のダイアログボックスで [Update all (すべて更新)] をクリックします。
ローカルモードでのポリシーの適用
ローカルモードで実行されている Flex Gateway では、ローカルの宣言型設定ファイルを使用してカスタムポリシーを適用します。最初に Flex Gateway を実行するときに、この設定ファイルの場所を指定します。
ローカル宣言ファイルを作成する手順は、次のとおりです。
-
target/wasm32-wasip1/release の PDK ディレクトリに、次の 2 つのファイルをコピーします。-
<your_custom_policy>_definition.yaml -
<your_custom_policy>_implementation.yaml
-
-
この 2 つのファイルを
/etc/mulesoft/flex-gateway/conf.d/ Flex Gateway 設定ディレクトリに貼り付けます。 -
ポリシーを API インスタンスにバインドするために、
.yaml というファイル拡張子を持つポリシーバインディング設定ファイルを作成します。-
ファイルにカスタム名を付けます。
-
ファイルを Flex Gateway の設定ディレクトリ
/etc/mulesoft/flex-gateway/conf.d/custom に保存します。このディレクトリには複数の設定ファイルを保存できます。
-
-
次の YAML スニペットをコピーしてファイルに貼り付け、必要な箇所を適切な値に変更します。
apiVersion: gateway.mulesoft.com/v1alpha1 kind: PolicyBinding metadata: name: <custom-policy-id> spec: targetRef: kind: ApiInstance name: <your-api-instance> policyRef: kind: Extension name: <your_custom_policy>-<version>-impl config: <custom-cofiguration-parameters>: "your parameter"-
Metadata.name:: カスタムポリシーインスタンス名。 -
spec.targetRef.name: カスタムポリシーを適用する API インスタンスの名前。API インスタンスはすでに定義済みで、適用されている必要があります。 -
spec.policyRef.name: カスタムポリシーの実装 ID。ポリシー ID を取得するには、ポリシーのルートディレクトリで make show-policy-ref-name コマンドを実行します。 -
spec.config: ポリシーの設定データ。
-
-
ファイルを保存します。ゲートウェイによって設定が自動的に更新されます。
ローカルモードでのポリシーの更新
ローカルモードで Flex Gateway のカスタムポリシーを更新する手順は、次のとおりです。
-
設定パラメーターを編集していない場合は、Flex Gateway 設定ディレクトリの古い
<your_custom_policy>_implementation.yaml を target/wasm32-wasip1/release PDK ディレクトリの実装ファイルに置き換えます。 -
設定パラメーターを編集した場合は、ローカルモードでのポリシーの適用の手順を繰り返して設定パラメーターを更新します。
カスタムポリシーの並び替え
カスタムポリシーの並び替えは、内部ポリシーと同じように行います。
ポリシーを並び替えるには、Ordering Policiesを参照してください。
ポリシーは、要求では順序どおりに、応答では逆の順序で実行されます。ただし、要求と応答のどちらでも実行されないポリシーもあります。
たとえば、次の順序で並んでいるポリシーがあるとします。
-
ポリシー X
-
ポリシー Y
要求ではポリシー X、ポリシー Y の順に実行され、応答ではポリシー Y、ポリシー X の順に実行されます。