シークレットの保存

概要

Zabbix は、セキュアな vault から機密情報を取得するように設定できます。以下のシークレット管理サービスがサポートされています: HashiCorp Vault KV Secrets Engine - Version 2、CyberArk Vault CV12。

シークレットは、次の取得に使用できます:

Zabbix は、シークレットが別の担当者によって管理されていることを前提として、vault 内のシークレットに対して読み取り専用アクセスを提供します。

特定の vault プロバイダーの設定については、次を参照してください。

シークレット値のキャッシュ

デフォルトでは、Vaultのシークレットマクロの値は、設定データが更新されるたびにZabbixサーバーによって取得され、設定キャッシュに保存されます。Zabbixプロキシは、設定同期のたびにZabbixサーバーからVaultのシークレットマクロの値を受信し、独自の設定キャッシュに保存します。

Zabbixサーバーとプロキシ間の暗号化を有効にする必要があります。有効にしない場合、サーバーの警告メッセージがログに記録されます。

また、マクロの値をZabbixサーバーとZabbixプロキシがそれぞれ独立して取得するように設定することもできます。

Vaultからキャッシュされたシークレット値の更新を手動で実行するには、secrets_reloadコマンドラインオプションを使用します。

Zabbix Webインターフェースのデータベース認証情報のキャッシュはデフォルトで無効になっていますが、Webインターフェース設定ファイル$DB['VAULT_CACHE'] = trueオプションを設定することで有効にできます。 認証情報は、ファイルシステムの一時ファイルディレクトリを使用してローカルキャッシュに保存されます。 Webサーバーは、専用の一時フォルダーへの書き込みを許可する必要があります(たとえば、Apacheでは設定オプションPrivateTmp=Trueを設定する必要があります)。 データキャッシュを更新または無効化する頻度を制御するには、ZBX_DATA_CACHE_TTL定数を使用します。

TLS設定

Zabbixコンポーネントとvault間の通信でTLSを設定するには、認証局(CA)によって署名された証明書をシステム全体のデフォルトCAストアに追加します。
別の場所を使用する場合は、Zabbixのserver/proxy設定パラメーターでSSLCALocationディレクトリを指定し、
そのディレクトリ内に証明書ファイルを配置してから、CLI commandを実行します:

c_rehash .