Configuration CyberArk
Cette section explique comment configurer Zabbix pour récupérer des secrets depuis CyberArk Vault CV12.
Le coffre-fort doit être installé et configuré comme décrit dans la documentation officielle CyberArk.
Pour en savoir plus sur la configuration de TLS dans Zabbix, consultez Stockage des secrets.
Identifiants de base de données
L'accès à un secret contenant les identifiants de base de données est configuré séparément pour chaque composant Zabbix.
Serveur et proxies
Pour obtenir les identifiants de base de données depuis le coffre-fort pour Zabbix serveur ou proxy, spécifiez les paramètres de configuration suivants dans le fichier de configuration :
Vault- quel fournisseur de coffre-fort doit être utilisé ;VaultURL- URL HTTP[S] du serveur du coffre-fort ;VaultDBPath- requête vers le secret du coffre-fort contenant les identifiants de base de données, qui seront récupérés par les clés "Content" et "UserName" (cette option ne peut être utilisée que si DBUser et DBPassword ne sont pas spécifiés) ;VaultTLSCertFile,VaultTLSKeyFile- noms des fichiers du certificat SSL et de la clé ; la configuration de ces options n'est pas obligatoire, mais elle est fortement recommandée ;VaultPrefix- préfixe personnalisé pour le chemin ou la requête du coffre-fort, selon le coffre-fort ; si non spécifié, la valeur par défaut la plus appropriée sera utilisée.
Les paramètres de configuration Vault, VaultURL, VaultTLSCertFile, VaultTLSKeyFile et VaultPrefix sont également utilisés pour l'authentification au coffre-fort lors du traitement des macros de coffre-fort secret par Zabbix serveur (et Zabbix proxy, si configuré). Zabbix serveur et les proxies n'ouvriront pas les macros de secret du coffre-fort qui contiennent des identifiants de base de données provenant de VaultDBPath.
Zabbix serveur et Zabbix proxy lisent les paramètres de configuration liés au coffre-fort à partir des fichiers zabbix_server.conf et zabbix_proxy.conf au démarrage.
Exemple
- Dans
zabbix_server.conf, spécifiez les paramètres suivants :
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?
- Zabbix enverra la requête API suivante au coffre-fort :
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
- La réponse du coffre-fort contiendra les clés "Content" et "UserName" :
{
"Content": <password>,
"UserName": <username>,
"Address": <address>,
"Database": <Database>,
"PasswordChangeInProcess":<PasswordChangeInProcess>
}
- En conséquence, Zabbix utilisera les identifiants suivants pour l'authentification à la base de données :
- Nom d'utilisateur: <username>
- Mot de passe: <password>
Interface
Pour obtenir les identifiants de base de données depuis le coffre-fort pour l'interface Zabbix, spécifiez les paramètres suivants lors de l'installation de l'interface.
- À l'étape Configure DB Connection, définissez le paramètre Store credentials in sur "CyberArk Vault".

- Ensuite, renseignez les paramètres supplémentaires :
| Parameter | Mandatory | Default value | Description |
|---|---|---|---|
| Vault API endpoint | yes | https://localhost:1858 | Spécifiez l'URL de connexion au coffre-fort au format scheme://host:port |
| Vault prefix | no | /AIMWebService/api/Accounts? | Indiquez un préfixe personnalisé pour le chemin ou la requête du coffre-fort. Si aucun n'est spécifié, la valeur par défaut est utilisée. |
| Vault secret query string | yes | Une requête qui spécifie d'où les identifiants de base de données doivent être récupérés. Exemple : AppID=foo&Query=Safe=bar;Object=buzz |
|
| Vault certificates | no | Après avoir coché la case, des paramètres supplémentaires apparaîtront pour permettre la configuration de l'authentification client. Bien que ce paramètre soit facultatif, il est fortement recommandé de l'activer pour la communication avec CyberArk Vault. | |
| SSL certificate file | no | conf/certs/cyberark-cert.pem | Chemin vers le fichier de certificat SSL. Le fichier doit être au format PEM. Si le fichier de certificat contient également la clé privée, laissez le paramètre SSL key file vide. |
| SSL key file | no | conf/certs/cyberark-key.pem | Nom du fichier de clé privée SSL utilisé pour l'authentification client. Le fichier doit être au format PEM. |
Valeurs des macros utilisateur
Pour utiliser CyberArk Vault afin de stocker les valeurs des macros utilisateur Vault secret, assurez-vous que :
- le serveur Zabbix est configuré pour fonctionner avec CyberArk Vault ;
- le paramètre Vault provider dans Administration > General > Other est défini sur "CyberArk Vault".

Le serveur Zabbix (et le proxy Zabbix, s'il est configuré) nécessite un accès aux valeurs des macros Vault secret depuis le coffre-fort. L'interface Zabbix n'a pas besoin d'un tel accès.
La valeur de la macro doit contenir une requête (au format query:key).
Consultez Vault secret macros pour obtenir des informations détaillées sur le traitement des valeurs de macro par Zabbix.
Syntaxe de requête
Le symbole deux-points (":") est réservé à la séparation de la requête et de la clé.
Si une requête elle-même contient une barre oblique ou un deux-points, ces symboles doivent être encodés en URL ("/" est encodé en "%2F", ":" est encodé en "%3A").
Exemple
- Dans Zabbix, ajoutez une macro utilisateur {$PASSWORD} de type Vault secret et avec la valeur
AppID=zabbix_server&Query=Safe=passwordSafe;Object=zabbix:Content

- Zabbix enverra la requête API suivante au coffre-fort :
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
- La réponse du coffre-fort contiendra la clé "Content" :
{
"Content": <password>,
"UserName": <username>,
"Address": <address>,
"Database" :<Database>,
"PasswordChangeInProcess":<PasswordChangeInProcess>
}
- En conséquence, Zabbix résoudra la macro {$PASSWORD} avec la valeur - <password>
Mettre à jour une configuration existante
Pour mettre à jour une configuration existante de récupération des secrets depuis un CyberArk Vault :
-
Mettez à jour les paramètres du fichier de configuration du serveur ou du proxy Zabbix comme décrit dans la section Database credentials.
-
Mettez à jour les paramètres de connexion à la base de données en reconfigurant l'interface Zabbix et en spécifiant les paramètres requis comme décrit dans la section Frontend. Pour reconfigurer l'interface Zabbix, ouvrez l'URL de configuration de l'interface dans le navigateur :
- pour Apache : http://<server_ip_or_name>/zabbix/setup.php
- pour Nginx : http://<server_ip_or_name>/setup.php
Sinon, ces paramètres peuvent être définis dans le fichier de configuration de l'interface (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';
$DB['VAULT_PREFIX'] = '';
- Configurez les macros utilisateur comme décrit dans la section User macro values, si nécessaire.
Pour mettre à jour une configuration existante de récupération des secrets depuis un HashiCorp Vault, consultez HashiCorp configuration.