Menu Close
8.7.11. 3scale Product カスタムリソースでのポリシーチェーンの設定
3scale の管理者は、Product
カスタムリソースを設定して、その API プロダクトに適用するポリシーチェーンを指定できます。CR をデプロイした後、3scale は設定されたポリシーをプロダクトのアップストリームで公開される API のリクエストに適用します。
手順
新規またはデプロイされた
Product
CR で、policies
オブジェクトに 1 つ以上のポリシーを設定します。以下は例になります。apiVersion: capabilities.3scale.net/v1beta1 kind: Product metadata: name: product1 spec: name: "OperatedProduct 1" policies: - configuration: http_proxy: http://example.com https_proxy: https://example.com enabled: true name: camel version: builtin - configuration: {} enabled: true name: apicast version: builtin
各ポリシーに、以下のフィールドを指定します。
-
ポリシーにパラメーターがない場合、
configuration
は空の中かっこのペアです。ポリシーにパラメーターがある場合は、ここで指定します。指定する必要のあるパラメーターの名前については、Administering the API Gateway, APIcast standard policies の関連するポリシーのドキュメントを参照してください。 -
enabled
は、ポリシーをオンまたはオフにするブール値のスイッチです。 -
name
はポリシーを識別します。これは、Product
カスタムリソースがリンクするテナントの範囲にある一意の名前です。ポリシー名を特定するには、Administering the API Gateway, APIcast standard policies の関連するポリシーのドキュメントを参照してください。 version
は、標準ポリシーの場合はbuiltin
で、カスタムポリシーの場合はユーザー定義の文字列です。たとえば、カスタムポリシーのバージョンを1.0
に設定できます。Product
CR にapicast
ポリシーを指定しないと、operator がこれを追加します。ポリシーチェーンがすでに管理ポータルに定義されている場合は、3scale toolbox の
export
コマンドを実行してポリシーチェーンを.yaml
形式でエクスポートできます。export
出力をProduct
CR に貼り付けできます。たとえば、api-provider-account-one
は3scale プロバイダーアカウントの名前で、my-api-product-one
はポリシーチェーンをエクスポートするプロダクトの名前である場合、以下のコマンドを実行します。
3scale policies export api-provider-account-one my-api-product-one
-
ポリシーにパラメーターがない場合、
ポリシーチェーンが含まれる
Product
CR をデプロイします。たとえば、product1.yaml
ファイルを更新した場合は、以下のコマンドを実行します。oc create -f product1.yaml
この例では、以下のような出力になります。
product.capabilities.3scale.net/product1 created