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

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

Сервер Zabbix (и прокси Zabbix, если настроен) требует доступ к значениям макросов Vault secret из хранилища. Веб-интерфейс Zabbix такой доступ не требуется.
Значение макроса должно содержать запрос (в виде query:key).
Подробную информацию об обработке значений макросов Zabbix см. в разделе Макросы Vault secret.
Синтаксис запроса
Символ двоеточия (":") зарезервирован для отделения запроса от ключа.
Если сам запрос содержит прямую косую черту или двоеточие, эти символы должны быть закодированы в формате URL ("/" кодируется как "%2F", ":" кодируется как "%3A").
Пример
- В Zabbix добавьте пользовательский макрос {$PASSWORD} типа Vault secret со значением
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": <password>,
"UserName": <username>,
"Address": <address>,
"Database" :<Database>,
"PasswordChangeInProcess":<PasswordChangeInProcess>
}
- В результате Zabbix преобразует макрос {$PASSWORD} в значение - <password>
Обновление существующей конфигурации
Чтобы обновить существующую конфигурацию для получения секретов из CyberArk Vault:
-
Обновите параметры конфигурационного файла сервера Zabbix или прокси, как описано в разделе Учетные данные базы данных.
-
Обновите настройки подключения к БД, перенастроив веб-интерфейс Zabbix и указав необходимые параметры, как описано в разделе Веб-интерфейс. Чтобы перенастроить веб-интерфейс Zabbix, откройте URL настройки веб-интерфейса в браузере:
- для Apache: http://<server_ip_or_name>/zabbix/setup.php
- для Nginx: http://<server_ip_or_name>/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 Vault, см. Конфигурация HashiCorp.