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のserver/proxy設定パラメーターでSSLCALocationディレクトリを指定し、
そのディレクトリ内に証明書ファイルを配置してから、CLI commandを実行します:
c_rehash .