Wallarm SidecarがサポートするPodのアノテーション¶
Wallarm Sidecarソリューションは、Pod単位のアノテーションによって設定できます。本ドキュメントでは、本ソリューションでサポートされるアノテーションの一覧を説明します。
グローバル設定とPod単位設定の優先順位
Pod単位のアノテーションは、Helmチャートの値よりも優先されます。
アノテーション一覧¶
アノテーションと対応するチャート値 | 説明 |
---|---|
アノテーション: sidecar.wallarm.io/sidecar-injection-schema config.injectionStrategy.schema | Wallarmコンテナのデプロイパターン: single (デフォルト)またはsplit 。 |
アノテーション: sidecar.wallarm.io/sidecar-injection-iptables-enable config.injectionStrategy.iptablesEnable | iptables のinitコンテナを起動するかどうか: true (デフォルト)またはfalse 。 |
アノテーション: sidecar.wallarm.io/wallarm-application 対応するチャート値なし | WallarmアプリケーションID。 |
アノテーション: sidecar.wallarm.io/wallarm-block-page 対応するチャート値なし | ブロックされたリクエストに返すブロッキングページとエラーコード。 |
アノテーション: sidecar.wallarm.io/wallarm-enable-libdetection config.wallarm.enableLibDetection | libdetectionライブラリを使用してSQLインジェクション攻撃を追加検証するかどうか: on (デフォルト)またはoff 。 |
アノテーション: sidecar.wallarm.io/wallarm-fallback config.wallarm.fallback | Wallarmのフォールバックモード: on (デフォルト)またはoff 。 |
アノテーション: sidecar.wallarm.io/wallarm-mode config.wallarm.mode | トラフィックフィルタリングモード: monitoring (デフォルト)、safe_blocking 、block 、またはoff 。 |
アノテーション: sidecar.wallarm.io/wallarm-mode-allow-override config.wallarm.modeAllowOverride | Cloudの設定でwallarm_mode の値を上書きできる可否を管理します: on (デフォルト)、off 、またはstrict 。 |
アノテーション: sidecar.wallarm.io/wallarm-node-group config.wallarm.api.nodeGroup | 新しくデプロイするノードを追加したいフィルタリングノードグループの名前を指定します。この方法でのノードのグルーピングは、使用タイプがNode deployment/DeploymentのAPIトークンを使用してCloudにノードを作成・接続する場合にのみ利用できます(値はconfig.wallarm.api.token パラメーターに渡します)。この値はpostanalyticsポッドには適用されません。postanalytics用のノードは常に、 config.wallarm.api.nodeGroup のHelmチャート値で指定されたノードグループにリンクされます。 |
アノテーション: sidecar.wallarm.io/wallarm-parser-disable 対応するチャート値なし | パーサーの無効化を許可します。ディレクティブの値は無効化するパーサー名に対応します(例: json )。複数のパーサーを指定する場合はセミコロン区切りにします(例: json;base64 )。 |
アノテーション: sidecar.wallarm.io/wallarm-parse-response config.wallarm.parseResponse | アプリケーションのレスポンスを攻撃解析するかどうか: on (デフォルト)またはoff 。パッシブ検出や脅威リプレイテストによる脆弱性検出にレスポンス解析が必要です。 |
アノテーション: sidecar.wallarm.io/wallarm-acl-export-enable config.wallarm.aclExportEnable | ノードからCloudへ、denylistに登録されたIPからのリクエストに関する統計情報の送信をon で有効化/off で無効化します。
|
アノテーション: sidecar.wallarm.io/wallarm-parse-websocket config.wallarm.parseWebsocket | WallarmはWebSocketsを完全にサポートしています。デフォルトでは、WebSocketsのメッセージは攻撃解析されません。この機能を有効にするには、API Securityのサブスクリプションプランを有効化し、このアノテーションを使用します: on またはoff (デフォルト)。 |
アノテーション: sidecar.wallarm.io/wallarm-unpack-response config.wallarm.unpackResponse | アプリケーションのレスポンスで返される圧縮データを展開するかどうか: on (デフォルト)またはoff 。 |
アノテーション: sidecar.wallarm.io/wallarm-upstream-connect-attempts config.wallarm.upstream.connectAttempts | postanalyticsまたはWallarm APIへの即時再接続の試行回数を定義します。 |
アノテーション: sidecar.wallarm.io/wallarm-upstream-reconnect-interval config.wallarm.upstream.reconnectInterval | 即時再接続の試行回数のしきい値を超えた後に、postanalyticsまたはWallarm APIへ再接続を試みる間隔を定義します。 |
アノテーション: sidecar.wallarm.io/application-port config.nginx.applicationPort | 公開されているアプリケーションPodのポートが見つからない場合、Wallarmコンテナはこのポート宛の受信リクエストを待ち受けます。 |
アノテーション: sidecar.wallarm.io/nginx-listen-port config.nginx.listenPort | Wallarmコンテナが待ち受けるポートです。このポートはWallarm Sidecarソリューションで使用するために予約されており、application-port と同じにはできません。 |
アノテーション: sidecar.wallarm.io/nginx-http-include 対応するチャート値なし | NGINX設定のhttp レベルにインクルードすべきNGINX設定ファイルへのパスの配列です。ファイルはコンテナにマウントされている必要があり、このパスはコンテナ内のそのファイルを指している必要があります。 |
アノテーション: sidecar.wallarm.io/nginx-http-snippet 対応するチャート値なし | NGINX設定のhttp レベルに含める追加のインライン設定です。 |
アノテーション: sidecar.wallarm.io/nginx-server-include 対応するチャート値なし | NGINX設定のserver レベルにインクルードすべきNGINX設定ファイルへのパスの配列です。ファイルはコンテナにマウントされている必要があり、このパスはコンテナ内のそのファイルを指している必要があります。 |
アノテーション: sidecar.wallarm.io/nginx-server-snippet 対応するチャート値なし | NGINX設定のserver レベルに含める追加のインライン設定です。 |
アノテーション: sidecar.wallarm.io/nginx-location-include 対応するチャート値なし | NGINX設定のlocation レベルにインクルードすべきNGINX設定ファイルへのパスの配列です。ファイルはコンテナにマウントされている必要があり、このパスはコンテナ内のそのファイルを指している必要があります。 |
アノテーション: sidecar.wallarm.io/nginx-location-snippet 対応するチャート値なし | NGINX設定のlocation レベルに含める追加のインライン設定です。 |
アノテーション: sidecar.wallarm.io/nginx-extra-modules 対応するチャート値なし | 有効化する追加のNGINXモジュールの配列です。 |
アノテーション: sidecar.wallarm.io/nginx-worker-connections config.nginx.workerConnections | NGINXワーカープロセスが開くことのできる同時接続の最大数です。デフォルトではチャート値は4096 に設定されています。 |
アノテーション: sidecar.wallarm.io/nginx-worker-processes config.nginx.workerProcesses | NGINXのワーカープロセス数です。デフォルトではチャート値はauto に設定され、ワーカー数はCPUコア数に設定されます。 |
アノテーション: sidecar.wallarm.io/proxy-extra-volumes 対応するチャート値なし | Podに追加するカスタムボリューム(配列)です。アノテーション値は単一引用符'' で囲む必要があります。 |
アノテーション: sidecar.wallarm.io/proxy-extra-volume-mounts 対応するチャート値なし | sidecar-proxy コンテナに追加するカスタムボリュームマウント(JSONオブジェクト)です。アノテーション値は単一引用符'' で囲む必要があります。 |
アノテーション: sidecar.wallarm.io/proxy-cpu config.sidecar.containers.proxy.resources.requests.cpu | sidecar-proxy コンテナの要求CPUです。 |
アノテーション: sidecar.wallarm.io/proxy-memory config.sidecar.containers.proxy.resources.requests.memory | sidecar-proxy コンテナの要求メモリです。 |
アノテーション: sidecar.wallarm.io/proxy-cpu-limit config.sidecar.containers.proxy.resources.limits.cpu | sidecar-proxy コンテナのCPU制限です。 |
アノテーション: sidecar.wallarm.io/proxy-memory-limit config.sidecar.containers.proxy.resources.limits.memory | sidecar-proxy コンテナのメモリ制限です。 |
アノテーション: sidecar.wallarm.io/helper-cpu config.sidecar.containers.helper.resources.requests.cpu | sidecar-helper コンテナの要求CPUです。 |
アノテーション: sidecar.wallarm.io/helper-memory config.sidecar.containers.helper.resources.requests.memory | sidecar-helper コンテナの要求メモリです。 |
アノテーション: sidecar.wallarm.io/helper-cpu-limit config.sidecar.containers.helper.resources.limits.cpu | sidecar-helper コンテナのCPU制限です。 |
アノテーション: sidecar.wallarm.io/helper-memory-limit config.sidecar.containers.helper.resources.limits.memory | sidecar-helper コンテナのメモリ制限です。 |
アノテーション: sidecar.wallarm.io/init-iptables-cpu config.sidecar.initContainers.iptables.resources.requests.cpu | sidecar-init-iptables コンテナの要求CPUです。 |
アノテーション: sidecar.wallarm.io/init-iptables-memory config.sidecar.initContainers.iptables.resources.requests.memory | sidecar-init-iptables コンテナの要求メモリです。 |
アノテーション: sidecar.wallarm.io/init-iptables-cpu-limit config.sidecar.initContainers.iptables.resources.limits.cpu | sidecar-init-iptables コンテナのCPU制限です。 |
アノテーション: sidecar.wallarm.io/init-iptables-memory-limit config.sidecar.initContainers.iptables.resources.limits.memory | sidecar-init-iptables コンテナのメモリ制限です。 |
アノテーション: sidecar.wallarm.io/init-helper-cpu config.sidecar.initContainers.helper.resources.requests.cpu | sidecar-init-helper コンテナの要求CPUです。 |
アノテーション: sidecar.wallarm.io/init-helper-memory config.sidecar.initContainers.helper.resources.requests.memory | sidecar-init-helper コンテナの要求メモリです。 |
アノテーション: sidecar.wallarm.io/init-helper-cpu-limit config.sidecar.initContainers.helper.resources.limits.cpu | sidecar-init-helper コンテナのCPU制限です。 |
アノテーション: sidecar.wallarm.io/init-helper-memory-limit config.sidecar.initContainers.helper.resources.limits.memory | sidecar-init-helper コンテナのメモリ制限です。 |
アノテーション: sidecar.wallarm.io/profile 対応するチャート値なし | TLS/SSL終端のためにアプリケーションPodに特定のTLSプロファイルを割り当てるために使用します。 このアノテーションとTLS/SSL終端はHelmチャート4.6.1以降でサポートされます。 |
直接のアノテーションで網羅されていないものの、WallarmがサポートするNGINXディレクティブは他にもあります。とはいえ、nginx-*-snippet
およびnginx-*-include
アノテーションを使用すれば、それらも設定できます。
アノテーションの使用方法¶
Podにアノテーションを適用するには、対象アプリケーション設定のDeployment
オブジェクトの設定に指定します。例:
apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp
namespace: default
spec:
replicas: 1
selector:
matchLabels:
app: myapp
template:
metadata:
labels:
app: myapp
wallarm-sidecar: enabled
annotations:
sidecar.wallarm.io/wallarm-mode: block
spec:
containers:
- name: application
image: kennethreitz/httpbin
ports:
- name: http
containerPort: 80