4 Secretユーザーマクロ
概要
Zabbixでは、ユーザーマクロの値に含まれる機密情報を保護するために、2つのオプションを提供しています。
- シークレットテキスト
- Vaultシークレット
シークレットマクロの値は非表示になりますが、アイテムで使用することで表示される可能性があります。
たとえば、外部スクリプトでシークレットマクロを参照する echo 文を使用すると、Zabbixサーバーは実際のマクロ値にアクセスできるため、そのマクロ値がWebインターフェースに表示される可能性があります。
シークレットマクロの値がマスクされずに表示される場所については、locations を参照してください。
シークレットマクロはトリガー式では使用できません。
シークレットテキスト
シークレットテキストマクロでは、マクロ値はアスタリスクでマスクされます。
マクロ値をシークレットにするには、Value フィールドの末尾にあるボタンをクリックし、Secret text オプションを選択します。

設定を保存すると、その値を表示できなくなります。
マクロ値を変更するには、Value フィールドにカーソルを合わせ、Set new value ボタンをクリックします(ホバー時に表示されます)。

Set new value ボタンをクリックすると(またはマクロ値のタイプを変更すると)、現在の値は消去されます。
元の値は、Value フィールドの末尾にある
矢印をクリックすることで復元できます(新しい設定を保存する前のみ利用可能です)。
元の値を復元しても、その値が表示されることはありません。
シークレットマクロを含むURLは機能しません。これは、その中のマクロが "******" として展開されるためです。
Vaultシークレット
Vaultシークレットマクロでは、マクロ値は外部のシークレット管理ソフトウェア(vault)に保存されます。
Vaultシークレットマクロを設定するには、Value フィールドの末尾にあるボタンをクリックし、Vault secret オプションを選択します。

マクロ値はvaultシークレットを指している必要があります。
入力形式はvaultプロバイダーによって異なります。プロバイダー固有の設定例については、以下を参照してください。
Vaultシークレットマクロの値は、設定データが更新されるたびに、Zabbixサーバー(および、Resolve secret vault macros by が 設定 で Zabbix server and proxy に設定されている場合は Zabbixプロキシ)によってvaultから取得され、その後設定キャッシュに保存されます。
ZabbixサーバーとZabbixプロキシは、異なるvaultを使用する場合があります。
Resolve secret vault macros by が 設定 で Zabbix server に設定されている場合、vaultシークレットはサーバーによってのみ取得され、Zabbixプロキシは各設定同期時にZabbixサーバーからVaultシークレットマクロの値を受け取り、それを自身の設定キャッシュに保存します。
これは、Zabbixプロキシが再起動後、Zabbixサーバーから設定更新を受信するまでデータ収集を開始できないことを意味します。
vaultからシークレット値を手動で更新するには、secrets_reload のruntime controlオプション(サーバーのみ)を使用します。
Zabbixサーバーとプロキシ間では暗号化を有効にする必要があります。そうでない場合、サーバーの警告メッセージがログに記録されます。
マクロ値を正常に取得できない場合、その値を使用している対応するアイテムは未サポートになります。
マスク解除される場所
この一覧は、シークレットマクロの値がマスク解除されるパラメータの場所を示しています。
シークレットマクロの値が間接的に参照される場合、以下の場所でもマスクされたままになります。
たとえば、メディアタイプ(スクリプトまたはWebhookパラメータ)で使用される {ITEM.KEY}、{ITEM.KEY<1-9>}、{LLDRULE.KEY} 組み込みマクロ は、net.tcp.port[192.0.2.0,80] ではなく net.tcp.port[******,******] のように、マスクされたシークレットマクロを含むアイテムキーに展開されます。
| コンテキスト | パラメータ | |
|---|---|---|
| アイテム、アイテムのプロトタイプ、LLDルール | ||
| アイテム | アイテムキーのパラメータ | |
| アイテムのプロトタイプ | アイテムプロトタイプキーのパラメータ | |
| ローレベルディスカバリルール | ディスカバリアイテムキーのパラメータ | |
| SNMPエージェント | SNMPコミュニティ | |
| コンテキスト名 (SNMPv3) | ||
| セキュリティ名 (SNMPv3) | ||
| 認証パスフレーズ (SNMPv3) | ||
| プライバシーパスフレーズ (SNMPv3) | ||
| HTTPエージェント | URL | |
| クエリフィールド | ||
| リクエストボディ | ||
| ヘッダー | ||
| ユーザー名 | ||
| パスワード | ||
| SSLキーパスワード | ||
| スクリプト | パラメータ | |
| スクリプト | ||
| ブラウザ | パラメータ | |
| スクリプト | ||
| データベースモニタ | SQLクエリ | |
| TELNETエージェント | スクリプト | |
| ユーザー名 | ||
| パスワード | ||
| SSHエージェント | スクリプト | |
| ユーザー名 | ||
| パスワード | ||
| シンプルチェック | ユーザー名 | |
| パスワード | ||
| JMXエージェント | ユーザー名 | |
| パスワード | ||
| アイテム値の前処理 | ||
| JavaScript前処理ステップ | スクリプト | |
| Webシナリオ | ||
| Webシナリオ | 変数値 | |
| ヘッダー値 | ||
| URL | ||
| クエリフィールド値 | ||
| POSTフィールド値 | ||
| Raw post | ||
| Webシナリオ認証 | ユーザー | |
| パスワード | ||
| SSLキーパスワード | ||
| コネクタ | ||
| コネクタ | URL | |
| ユーザー名 | ||
| パスワード | ||
| トークン | ||
| HTTPプロキシ | ||
| SSL証明書ファイル | ||
| SSLキーファイル | ||
| SSLキーパスワード | ||
| ネットワークディスカバリ | ||
| SNMP | SNMPコミュニティ | |
| コンテキスト名 (SNMPv3) | ||
| セキュリティ名 (SNMPv3) | ||
| 認証パスフレーズ (SNMPv3) | ||
| プライバシーパスフレーズ (SNMPv3) | ||
| グローバルスクリプト | ||
| Webhook | JavaScriptスクリプト | |
| JavaScriptスクリプトパラメータ値 | ||
| Telnet | ユーザー名 | |
| パスワード | ||
| SSH | ユーザー名 | |
| パスワード | ||
| スクリプト | スクリプト | |
| メディアタイプ | ||
| スクリプト | スクリプトパラメータ | |
| Webhook | パラメータ | |
| IPMI管理 | ||
| ホスト | ユーザー名 | |
| パスワード | ||