このセクションでは、CyberArk Vault CV12からシークレットを取得するようにZabbixを構成する方法について説明します。
Vaultは、公式のCyberArkドキュメントの説明に従ってインストールおよび構成する必要があります。
ZabbixでのTLSの構成については、シークレットの保存を参照してください。
Access to a secret with database credentials is configured for each Zabbix component separately.
To obtain database credentials for Zabbix server or proxy from the vault, specify the following configuration parameters in the configuration file:
Zabbix server also uses these configuration parameters (except VaultDBPath) for vault authentication when processing vault secret macros.
Zabbix server and Zabbix proxy read the vault-related configuration parameters from zabbix_server.conf and zabbix_proxy.conf upon startup.
Vault=CyberArk
VaultURL=https://127.0.0.1:1858
VaultDBPath=AppID=zabbix_server&Query=Safe=passwordSafe;Object=zabbix_server_database
VaultTLSCertFile=cert.pem
VaultTLSKeyFile=key.pem
VaultPrefix=/AIMWebService/api/Accounts?
curl \
--header "Content-Type: application/json" \
--cert cert.pem \
--key key.pem \
https://127.0.0.1:1858/AIMWebService/api/Accounts?AppID=zabbix_server&Query=Safe=passwordSafe;Object=zabbix_server_database
{
"Content": <パスワード>,
"UserName": <ユーザー名>,
"Address": <アドレス>,
"Database": <データベース>,
"PasswordChangeInProcess":<パスワード変更プロセス>
}
To obtain database credentials for Zabbix frontend from the vault, specify required settings during frontend installation.
At the Configure DB Connection step, set Store credentials in parameter to CyberArk Vault.
Then, fill in additional parameters:
Parameter | Mandatory | Default value | Description |
---|---|---|---|
Vault API endpoint | yes | https://localhost:1858 | Specify the URL for connecting to the vault in the format scheme://host:port |
Vault secret query string | yes | A query, which specifies from where database credentials should be retrieved. Example: AppID=foo&Query=Safe=bar;Object=buzz:key |
|
Vault certificates | no | After marking the checkbox, additional parameters will appear allowing to configure client authentication. While this parameter is optional, it is highly recommended to enable it for communication with the CyberArk Vault. |
|
SSL certificate file | no | conf/certs/cyberark-cert.pem | Path to SSL certificate file. The file must be in PEM format. If the certificate file contains also the private key, leave the SSL key file parameter empty. |
SSL key file | no | conf/certs/cyberark-key.pem | Name of the SSL private key file used for client authentication. The file must be in PEM format. |
CyberArk Vault を使用して Vault シークレット ユーザーマクロ値を保存するには、以下の点を確認してください。
Vault の Vault シークレット マクロ値へのアクセスが必要なのは Zabbix サーバーのみです。
その他の Zabbix コンポーネント (プロキシ、フロントエンド) は、このようなアクセスを必要としません。
マクロ値にはクエリ(query:key
形式)を含める必要があります。
Zabbix によるマクロ値の処理の詳細については、Vault secret マクロ を参照してください。
コロン記号 (":") は、クエリとキーを区切るために予約されています。
クエリ自体にスラッシュまたはコロンが含まれている場合、これらの記号は URL エンコードする必要があります ("/"は"%2F"、":"は"%3A"としてエンコードされます)
AppID=zabbix_server&Query=Safe=passwordSafe;Object=zabbix:Content
であるユーザーマクロ {$PASSWORD} を追加します。curl \
--header "Content-Type: application/json" \
--cert cert.pem \
--key key.pem \
https://127.0.0.1:1858/AIMWebService/api/Accounts?AppID=zabbix_server&Query=Safe=passwordSafe;Object=zabbix_server_database
{
"Content": <パスワード>,
"UserName": <ユーザー名>,
"Address": <アドレス>,
"Database" :<データベース>,
"PasswordChangeInProcess":<パスワード変更プロセス>
}
To update an existing configuration for retrieving secrets from a CyberArk Vault:
Update the Zabbix server or proxy configuration file parameters as described in the Database credentials section.
Update the DB connection settings by reconfiguring Zabbix frontend and specifying the required parameters as described in the Frontend section. To reconfigure Zabbix frontend, open the frontend setup URL in the browser:
Alternatively, these parameters can be set in the frontend configuration file (zabbix.conf.php):
$DB['VAULT'] = 'CyberArk';
$DB['VAULT_URL'] = 'https://127.0.0.1:1858';
$DB['VAULT_DB_PATH'] = 'AppID=foo&Query=Safe=bar;Object=buzz';
$DB['VAULT_TOKEN'] = '';
$DB['VAULT_CERT_FILE'] = 'conf/certs/cyberark-cert.pem';
$DB['VAULT_KEY_FILE'] = 'conf/certs/cyberark-key.pem';
To update an existing configuration for retrieving secrets from a HashiCorp Vault, see HashiCorp configuration.