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