13 secrets の保存
概要
Zabbix は、セキュアな vault から機密情報を取得するように設定できます。以下のシークレット管理サービスがサポートされています: HashiCorp Vault KV Secrets Engine - Version 2、CyberArk Vault CV12。
シークレットは、次の取得に使用できます:
- ユーザーマクロの値
- データベースアクセス資格情報
Zabbix は、シークレットが他者によって管理されていることを前提として、vault 内のシークレットに対して読み取り専用アクセスを提供します。
特定のVaultプロバイダーの設定については、以下を参照してください。
シークレット値のキャッシュ
Vault のシークレットマクロ値は、Zabbix サーバーによって設定データの更新ごとに取得され、その後 configuration cache に保存されます。Zabbix プロキシは、各設定同期時に Zabbix サーバーから vault シークレットマクロの値を受け取り、自身の configuration cache に保存します。
Zabbix サーバーとプロキシ間では暗号化を有効にする必要があります。そうしない場合、サーバーの警告メッセージがログに記録されます。
Vault からキャッシュされたシークレット値を手動で更新するには、'secrets_reload' コマンドライン option を使用します。
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 .