Zabbixは、セキュアなボールトから機密情報を取得するように設定できます。サポートされているシークレット管理サービスは、HashiCorp Vault KV Secrets Engine - Version 2、CyberArk Vault CV12です。
シークレットは、以下の取得に使用できます:
Zabbixは、ボールト内のシークレットへの読み取り専用アクセスを提供します。シークレットは他の誰かによって管理されていることを前提としています。
特定のVaultプロバイダーの設定については、以下を参照してください。
デフォルトでは、Vaultシークレットマクロの値は、Zabbixサーバーが設定データをリフレッシュするたびに取得され、その後設定キャッシュに保存されます。Zabbixプロキシは、各設定同期時にZabbixサーバーからVaultシークレットマクロの値を受け取り、自身の設定キャッシュに保存します。
Zabbixサーバーとプロキシ間で暗号化を有効にする必要があります。有効でない場合、サーバーに警告メッセージが記録されます。
また、マクロ値をZabbixサーバーとZabbixプロキシが独立して取得するように設定することも可能です。
Vaultからキャッシュされたシークレット値のリフレッシュを手動でトリガーするには、コマンドラインの 'secrets_reload' オプションを使用します。
Zabbixフロントエンドのデータベース認証情報のキャッシュはデフォルトで無効になっていますが、zabbix.conf.phpでオプション $DB['VAULT_CACHE'] = true を設定することで有効にできます。認証情報は、ファイルシステムの一時ファイルディレクトリを使用してローカルキャッシュに保存されます。Webサーバーは、プライベートな一時フォルダへの書き込みを許可する必要があります(たとえば、Apacheの場合は構成オプション PrivateTmp=True を設定する必要があります)。データキャッシュのリフレッシュ/無効化の頻度を制御するには、ZBX_DATA_CACHE_TTL 定数を使用します。
ZabbixコンポーネントとVault間の通信でTLSを設定するには、認証局(CA)によって署名された証明書をシステム全体のデフォルトCAストアに追加します。 別の場所を使用する場合は、SSLCALocation Zabbix server/proxy設定パラメータでディレクトリを指定し、 証明書ファイルをそのディレクトリ内に配置し、次のCLIコマンドを実行します。