2.23.4. threescale-wasm-auth モジュールの設定
OpenShift Container Platform のクラスター管理者は、threescale-wasm-auth モジュールを設定し、アプリケーションバイナリーインターフェイス (ABI) を使用して 3scale API Management への HTTP 要求を承認することができます。ABI は、ホストとモジュール間の対話を定義し、ホストサービスを公開し、モジュールを使用してプロキシー要求を処理することができます。
2.23.4.1. WasmPlugin API 拡張機能 リンクのコピーリンクがクリップボードにコピーされました!
Service Mesh は、サイドカープロキシーに対して Proxy-WASM 拡張機能を指定して適用するためカスタムリソース定義 (WasmPlugin) を提供します。Service Mesh は、3scale での HTTP API 管理を必要とするワークロードのセットにこのカスタムリソースを適用します。
詳細は、カスタムリソース定義 を参照してください。
WebAssembly 拡張機能の設定は、現在、手動のプロセスです。3scale システムからサービスの設定を取得するサポートは、今後のリリースでご利用いただけます。
前提条件
- このモジュールを適用する Service Mesh デプロイメントで Kubernetes ワークロードおよび namespace を特定します。
- 3scale テナントアカウントが必要です。適合するサービスならびに該当するアプリケーションおよびメトリクスが定義された SaaS または オンプレミス型 3scale 2.11 を参照してください。
モジュールを
bookinfo名前空間の<product_page>マイクロサービスに適用する場合は、Bookinfo サンプルアプリケーションを 参照してください。以下の例は、
threescale-wasm-authモジュールのカスタムリソースの YAML 形式です。この例では、アップストリームの Maistra バージョンの Service MeshWasmPluginAPI を参照します。モジュールが適用されるアプリケーションのセットを特定するselectorとともにthreescale-wasm-authモジュールがデプロイされる namespace を宣言する必要があります。apiVersion: extensions.istio.io/v1alpha1 kind: WasmPlugin metadata: name: <threescale_wasm_plugin_name> namespace: <bookinfo>1 spec: selector:2 labels: app: <product_page> pluginConfig: <yaml_configuration> url: oci://registry.redhat.io/3scale-amp2/3scale-auth-wasm-rhel8:0.0.3 phase: AUTHZ priority: 100
spec.pluginConfigフィールドはモジュール設定に依存し、直前の例では入力されません。この例では、<yaml_configuration>プレースホルダーの値を使用します。このカスタムリソースの例の形式を使用できます。spec.pluginConfigフィールドはアプリケーションによって異なります。その他のフィールドはすべて、このカスタムリソースの複数のインスタンス間で永続します。以下に例を示します。-
url: 新しいバージョンのモジュールがデプロイされる場合にのみ変更されます。 -
phase: このモジュールは、OpenID Connect (OIDC) トークンの検証など、プロキシーがローカルの承認を行った後に呼び出す必要があるため、同じままです。
-
spec.pluginConfigと残りのカスタムリソースにモジュール設定を追加したら、oc applyコマンドでこれを適用します。$ oc apply -f threescale-wasm-auth-bookinfo.yaml