1. Настройка CyberArk
В этом разделе объясняется, как настроить Zabbix для извлечения секретов из CyberArk Vault CV12.
Хранилище должно быть развёрнуто и настроено, как описано в официальной документации CyberArk [en].
Чтобы узнать о настройке TLS в Zabbix, смотрите Хранение секретов.
Учетные данные базы данных
Доступ к секрету с учетными данными базы данных настраивается отдельно для каждого компонента Zabbix.
Сервер и прокси
Чтобы получить учетные данные базы данных из хранилища для Zabbix server или proxy, укажите следующие параметры конфигурации в файле конфигурации:
Vault- какой поставщик хранилища следует использовать;VaultURL- HTTP[S]-URL сервера хранилища;VaultDBPath- запрос к секрету хранилища, содержащему учетные данные базы данных, которые будут получены по ключам "Content" и "UserName" (этот параметр можно использовать только если не указаны DBUser и DBPassword);VaultTLSCertFile,VaultTLSKeyFile- имена файлов SSL-сертификата и ключа; настройка этих параметров не обязательна, но настоятельно рекомендуется;VaultPrefix- пользовательский префикс для пути или запроса к хранилищу, в зависимости от хранилища; если не указан, будет использован наиболее подходящий вариант по умолчанию.
Параметры конфигурации Vault, VaultURL, VaultTLSCertFile, VaultTLSKeyFile и VaultPrefix также используются для аутентификации в хранилище при обработке макросов секретов хранилища сервером Zabbix (и прокси Zabbix, если настроен). Сервер Zabbix и прокси не будут открывать макросы секретов хранилища, которые содержат учетные данные базы данных из VaultDBPath.
Сервер Zabbix и прокси Zabbix считывают связанные с хранилищем параметры конфигурации из файлов zabbix_server.conf и zabbix_proxy.conf при запуске.
Пример
- В zabbix_server.conf укажите следующие параметры:
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 отправит следующий запрос 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
- Ответ хранилища будет содержать ключи «Content» и «UserName»:
{
"Content": <пароль>,
"UserName": <имя_пользователя>,
"Address": <адрес>,
"Database": <База_данных>,
"PasswordChangeInProcess":<ВыполняетсяСменаПароля>
}
- В результате Zabbix будет использовать следующие учётные данные для аутентификации в базе данных:
- Имя пользователя: <имя_пользователя>
- Пароль: <пароль>
Веб-интерфейс
Чтобы получить учётные данные базы данных из хранилища для веб-интерфейса Zabbix, укажите следующие параметры во время установки веб-интерфейса.
- На шаге Настройка соединения с базой данных (Configure DB Connection) установите параметр Хранить учётные данные в (Store credentials in) в значение «CyberArk Vault».

- Затем заполните дополнительные параметры:
| Параметр | Обязательный | Значение по умолчанию | Описание |
|---|---|---|---|
| API endpoint Хранилища (Vault API endpoint) |
да | https://localhost:1858 | Укажите URL для подключения к хранилищу в формате схема://хост:порт |
| Префикс Хранилища (Vault prefix) |
нет | /AIMWebService/api/Accounts? | Укажите пользовательский префикс для пути или запроса хранилища. Если не указано, используется значение по умолчанию. |
| Строка запроса к секрету Хранилища (Vault secret query string) |
да | Запрос, который указывает, откуда следует извлекать учётные данные базы данных. Пример: AppID=foo&Query=Safe=bar;Object=buzz |
|
| Сертификаты хранилища (Vault certificates) |
нет | После установки флажка появятся дополнительные параметры, позволяющие настроить аутентификацию клиента. Хотя этот параметр является необязательным, настоятельно рекомендуется включить его для взаимодействия с хранилищем CyberArk. | |
| Файл сертификата SSL (SSL certificate file) |
нет | conf/certs/cyberark-cert.pem | Путь к файлу сертификата SSL. Файл должен быть в формате PEM. Если файл сертификата также содержит закрытый ключ, оставьте параметр файла ключа SSL пустым. |
| Файл ключа SSL (SSL key file) |
нет | conf/certs/cyberark-key.pem | Имя файла закрытого ключа SSL, используемого для аутентификации клиента. Файл должен быть в формате PEM. |
Значения пользовательских макросов
Чтобы использовать CyberArk Vault для хранения значений пользовательских макросов Vault secret, убедитесь, что:
- сервер Zabbix настроен для работы с CyberArk Vault;
- параметр Vault provider в Administration → General → Other установлен в "CyberArk Vault".

Сервер Zabbix (и прокси Zabbix, если настроен) требует доступа к значениям макросов Vault secret из хранилища. Веб-интерфейс Zabbix не нуждается в таком доступе.
Значение макроса должно содержать запрос (в формате query:key).
Подробную информацию об обработке значений макросов Zabbix см. в разделе Vault secret macros.
Синтаксис запроса
Символ двоеточия («:») зарезервирован для отделения запроса от ключа.
Если сам запрос содержит косую черту или двоеточие, эти символы должны указываться с использованием URL-кодирования («/» кодируется как «%2F», «:» кодируется как «%3A»).
Пример
- В Zabbix добавьте пользовательский макрос {$PASSWORD} с типом «Секрет Хранилища» и со значением
AppID=zabbix_server&Query=Safe=passwordSafe;Object=zabbix:Content

- Zabbix отправит следующий запрос 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
- Ответ хранилища будет содержать ключ «Content»:
{
"Content": <пароль>,
"UserName": <имя_пользователя>,
"Address": <адрес>,
"Database" :<База_данных>,
"PasswordChangeInProcess":<ВыполняетсяСменаПароля>
}
- В результате Zabbix раскроет макрос {$PASSWORD} в значение — <пароль>.
Обновление существующей конфигурации
Чтобы обновить существующую конфигурацию для извлечения секретов из хранилища CyberArk:
-
Обновите параметры файла конфигурации сервера Zabbix или прокси, как описано в разделе Учётные данные базы данных.
-
Обновите параметры подключения к БД, перенастроив веб-интерфейс Zabbix и указав требуемые параметры, как описано в разделе Веб-интерфейс. Чтобы перенастроить веб-интерфейс Zabbix, откройте URL-адрес настройки веб-интерфейса в браузере:
- для Apache: http://<ip_или_имя_сервера>/zabbix/setup.php
- для Nginx: http://<ip_или_имя_сервера>/setup.php
Кроме того, эти параметры можно задать в файле конфигурации веб-интерфейса (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'] = '';
- Настройте пользовательские макросы, как описано в разделе Значения пользовательских макросов, если необходимо.
Чтобы обновить существующую конфигурацию для извлечения секретов из хранилища HashiCorp, смотрите Настройка HashiCorp.