Konfiguracja CyberArk
Ta sekcja wyjaśnia, jak skonfigurować Zabbix do pobierania sekretów z CyberArk Vault CV12.
Vault powinien zostać zainstalowany i skonfigurowany zgodnie z opisem w oficjalnej dokumentacji CyberArk.
Aby dowiedzieć się, jak skonfigurować TLS w Zabbix, zobacz Przechowywanie sekretów.
Dane uwierzytelniające bazy danych
Dostęp do sekretu zawierającego dane uwierzytelniające bazy danych konfiguruje się osobno dla każdego komponentu Zabbix.
Serwer i proxy
Aby pobierać dane uwierzytelniające bazy danych z magazynu sekretów dla serwera Zabbix lub proxy, określ w pliku konfiguracyjnym następujące parametry:
Vault- dostawca magazynu sekretów, który ma być używany;VaultURL- adres URL serwera magazynu sekretów w protokole HTTP(S);VaultDBPath- zapytanie do sekretu w magazynie sekretów zawierającego dane uwierzytelniające bazy danych, które zostaną pobrane za pomocą kluczy „Content” i „UserName” (tej opcji można używać tylko wtedy, gdy nie określono DBUser i DBPassword);VaultTLSCertFile,VaultTLSKeyFile- nazwy plików certyfikatu SSL i klucza; skonfigurowanie tych opcji nie jest wymagane, ale jest zdecydowanie zalecane;VaultPrefix- niestandardowy prefiks ścieżki lub zapytania magazynu sekretów, zależnie od magazynu; jeśli nie zostanie określony, zostanie użyta najbardziej odpowiednia wartość domyślna.
Parametry konfiguracyjne Vault, VaultURL, VaultTLSCertFile, VaultTLSKeyFile i VaultPrefix są również używane do uwierzytelniania w magazynie sekretów podczas przetwarzania makr sekretów magazynu przez serwer Zabbix (oraz proxy Zabbix, jeśli zostało skonfigurowane). Serwer Zabbix i proxy nie otworzą makr sekretów magazynu zawierających dane uwierzytelniające bazy danych z VaultDBPath.
Serwer Zabbix i proxy Zabbix odczytują parametry konfiguracyjne związane z magazynem sekretów z plików zabbix_server.conf i zabbix_proxy.conf podczas uruchamiania.
Przykład
- W pliku
zabbix_server.confokreśl następujące parametry:
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 wyśle do vault następujące żądanie API:
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
- Odpowiedź vault będzie zawierać klucze "Content" i "UserName":
{
"Content": <password>,
"UserName": <username>,
"Address": <address>,
"Database": <Database>,
"PasswordChangeInProcess":<PasswordChangeInProcess>
}
- W rezultacie Zabbix użyje następujących poświadczeń do uwierzytelniania w bazie danych:
- Nazwa użytkownika: <username>
- Hasło: <password>
frontend
Aby uzyskać dane uwierzytelniające do bazy danych z sejfu dla frontend Zabbix, określ następujące parametry podczas instalacji frontend.
- W kroku Configure DB Connection ustaw parametr Store credentials in na CyberArk Vault.

- Następnie uzupełnij dodatkowe parametry:
| Parameter | Mandatory | Default value | Description |
|---|---|---|---|
| Vault API endpoint | yes | https://localhost:1858 | Określ adres URL połączenia z sejfem w formacie scheme://host:port |
| Vault prefix | no | /AIMWebService/api/Accounts? | Podaj niestandardowy prefiks ścieżki lub zapytania sejfu. Jeśli nie zostanie określony, zostanie użyta wartość domyślna. |
| Vault secret query string | yes | Zapytanie określające, skąd powinny zostać pobrane dane uwierzytelniające do bazy danych. Przykład: AppID=foo&Query=Safe=bar;Object=buzz |
|
| Vault certificates | no | Po zaznaczeniu pola wyboru pojawią się dodatkowe parametry umożliwiające skonfigurowanie uwierzytelniania klienta. Chociaż ten parametr jest opcjonalny, zdecydowanie zaleca się jego włączenie na potrzeby komunikacji z CyberArk Vault. | |
| SSL certificate file | no | conf/certs/cyberark-cert.pem | Ścieżka do pliku certyfikatu SSL. Plik musi być w formacie PEM. Jeśli plik certyfikatu zawiera również klucz prywatny, pozostaw parametr SSL key file pusty. |
| SSL key file | no | conf/certs/cyberark-key.pem | Nazwa pliku prywatnego klucza SSL używanego do uwierzytelniania klienta. Plik musi być w formacie PEM. |
Wartości makr użytkownika
Aby używać CyberArk Vault do przechowywania wartości makr użytkownika Vault secret, upewnij się, że:
- serwer Zabbix jest skonfigurowany do pracy z CyberArk Vault;
- parametr Vault provider w Administration > General > Other jest ustawiony na "CyberArk Vault".

Serwer Zabbix (oraz proxy Zabbix, jeśli jest skonfigurowany) wymagają dostępu do wartości makr Vault secret z vault. Frontend Zabbix nie potrzebuje takiego dostępu.
Wartość makra powinna zawierać zapytanie (w formacie query:key).
Szczegółowe informacje o przetwarzaniu wartości makr przez Zabbix znajdziesz w sekcji Vault secret macros.
Składnia zapytania
Symbol dwukropka (:) jest zarezerwowany do oddzielania zapytania od klucza.
Jeśli zapytanie zawiera ukośnik lub dwukropek, symbole te należy zakodować w adresie URL (/ jest kodowany jako %2F, a : jako %3A).
Przykład
- W Zabbix dodaj makro użytkownika {$PASSWORD} typu Vault secret i ustaw jego wartość na
AppID=zabbix_server&Query=Safe=passwordSafe;Object=zabbix:Content

- Zabbix wyśle do magazynu następujące żądanie API:
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
- Odpowiedź magazynu będzie zawierać klucz
Content:
{
"Content": <password>,
"UserName": <username>,
"Address": <address>,
"Database" :<Database>,
"PasswordChangeInProcess":<PasswordChangeInProcess>
}
- W rezultacie Zabbix rozwiąże makro
{$PASSWORD}do wartości -<password>
Aktualizowanie istniejącej konfiguracji
Aby zaktualizować istniejącą konfigurację pobierania sekretów z CyberArk Vault:
-
Zaktualizuj parametry pliku konfiguracyjnego serwera Zabbix lub proxy zgodnie z opisem w sekcji Dane uwierzytelniające bazy danych.
-
Zaktualizuj parametry pliku konfiguracyjnego frontendu Zabbix:
$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'] = '';
- W razie potrzeby skonfiguruj makra użytkownika zgodnie z opisem w sekcji Wartości makr użytkownika.
Aby zaktualizować istniejącą konfigurację pobierania sekretów z HashiCorp Vault, zobacz sekcję Konfiguracja HashiCorp.