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_reloadruntime 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管理
ホスト ユーザー名
パスワード