13 secrets の保存
概要
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インターフェースのデータベース認証情報のキャッシュはデフォルトで無効になっていますが、zabbix.conf.php でオプション $DB['VAULT_CACHE'] = true を設定することで有効にできます。認証情報は、ファイルシステムの一時ファイルディレクトリを使用するローカルキャッシュに保存されます。Webサーバーでは、プライベートな一時フォルダーへの書き込みが許可されている必要があります(たとえば、Apache では設定オプション PrivateTmp=True を設定する必要があります)。データキャッシュを更新/無効化する頻度を制御するには、ZBX_DATA_CACHE_TTL 定数 を使用します。
TLS設定
Zabbixコンポーネントとvault間の通信でTLSを設定するには、認証局(CA)によって署名された証明書をシステム全体のデフォルトCAストアに追加します。
別の場所を使用するには、Zabbix サーバー/プロキシ の設定パラメータSSLCALocationでディレクトリを指定し、
そのディレクトリ内に証明書ファイルを配置してから、CLI コマンドを実行します:
c_rehash .