[comment]: # ({45508041-4ce68864})
# 1. Настройка CyberArk

В этом разделе объясняется, как настроить Zabbix для извлечения секретов из CyberArk Vault CV12.

Хранилище должно быть развёрнуто и настроено, как описано в официальной [документации CyberArk \[en\]](https://docs.cyberark.com/Product-Doc/OnlineHelp/PAS/12.1/en/Content/HomeTilesLPs/LP-Tile6.htm?tocpath=Installation%7C_____0).

Чтобы узнать о настройке TLS в Zabbix, смотрите [*Хранение секретов*](/manual/config/secrets#настройка-tls).

[comment]: # ({/45508041-4ce68864})

[comment]: # ({4f8deba1-bf4f1f87})
### Учетные данные базы данных

Доступ к секрету с учетными данными базы данных настраивается отдельно для каждого компонента Zabbix.

#### Сервер и прокси

Чтобы получить учетные данные базы данных из хранилища для Zabbix [server](/manual/appendix/config/zabbix_server) или [proxy](/manual/appendix/config/zabbix_proxy), укажите следующие параметры конфигурации в файле конфигурации:

-   `Vault` - какой поставщик хранилища следует использовать;
-   `VaultURL` - HTTP\[S\]-URL сервера хранилища;
-   `VaultDBPath` - запрос к секрету хранилища, содержащему учетные данные базы данных, которые будут получены по ключам "Content" и "UserName" (этот параметр можно использовать только если не указаны DBUser и DBPassword);
-   `VaultTLSCertFile`, `VaultTLSKeyFile` - имена файлов SSL-сертификата и ключа; настройка этих параметров не обязательна, но настоятельно рекомендуется;
-   `VaultPrefix` - пользовательский префикс для пути или запроса к хранилищу, в зависимости от хранилища; если не указан, будет использован наиболее подходящий вариант по умолчанию.

:::noteimportant
Параметры конфигурации `Vault`, `VaultURL`, `VaultTLSCertFile`, `VaultTLSKeyFile` и `VaultPrefix` также используются для аутентификации в хранилище при обработке макросов секретов хранилища сервером Zabbix (и прокси Zabbix, если [настроен](/manual/web_interface/frontend_sections/administration/general#other)). Сервер Zabbix и прокси не будут открывать макросы секретов хранилища, которые содержат учетные данные базы данных из VaultDBPath.
:::

Сервер Zabbix и прокси Zabbix считывают связанные с хранилищем параметры конфигурации из файлов *zabbix_server.conf* и *zabbix_proxy.conf* при запуске.

[comment]: # ({/4f8deba1-bf4f1f87})

[comment]: # ({bc54d843-c8ed5f40})
##### Пример

1. В *zabbix_server.conf* укажите следующие параметры:

```ini
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?
```

2. Zabbix отправит следующий запрос API в хранилище:

```bash
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
```

3. Ответ хранилища будет содержать ключи «Content» и «UserName»:

```json
{
    "Content": <пароль>,
    "UserName": <имя_пользователя>,
    "Address": <адрес>,
    "Database": <База_данных>,
    "PasswordChangeInProcess":<ВыполняетсяСменаПароля>
}
```

4. В результате Zabbix будет использовать следующие учётные данные для аутентификации в базе данных:

-   Имя пользователя: <имя_пользователя>
-   Пароль: <пароль>

[comment]: # ({/bc54d843-c8ed5f40})

[comment]: # ({28af0777-f5f1a375})
#### Веб-интерфейс

Чтобы получить учётные данные базы данных из хранилища для веб-интерфейса Zabbix, укажите следующие параметры во время [установки](/manual/installation/frontend) веб-интерфейса.

1. На шаге *Настройка соединения с базой данных (Configure DB Connection)* установите параметр *Хранить учётные данные в (Store credentials in)* в значение «CyberArk Vault».

![](../../../../assets/en/manual/config/cyberark_setup.png){width="600"}

2. Затем заполните дополнительные параметры:

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

[comment]: # ({/28af0777-f5f1a375})

[comment]: # ({dcf47002-11bde60a})
### Значения пользовательских макросов

Чтобы использовать CyberArk Vault для хранения значений пользовательских макросов *Vault secret*, убедитесь, что:

-   сервер Zabbix [настроен](/manual/config/secrets/cyberark#server-and-proxies) для работы с CyberArk Vault;
-   параметр *Vault provider* в [*Administration → General → Other*](/manual/web_interface/frontend_sections/administration/general#other) установлен в "CyberArk Vault".

![](../../../../assets/en/manual/config/provider_cyberark.png)

:::noteclassic
Сервер Zabbix (и прокси Zabbix, если [настроен](/manual/web_interface/frontend_sections/administration/general#other)) требует доступа к значениям макросов *Vault secret* из хранилища.
Веб-интерфейс Zabbix не нуждается в таком доступе.
:::

Значение макроса должно содержать запрос (в формате `query:key`).

Подробную информацию об обработке значений макросов Zabbix см. в разделе [*Vault secret macros*](/manual/config/macros/secret_macros#vault-secret).

[comment]: # ({/dcf47002-11bde60a})

[comment]: # ({d8f91274-1b41be0a})
#### Синтаксис запроса

Символ двоеточия («:») зарезервирован для отделения запроса от ключа.

Если сам запрос содержит косую черту или двоеточие, эти символы должны указываться с использованием URL-кодирования («/» кодируется как «%2F», «:» кодируется как «%3A»).

[comment]: # ({/d8f91274-1b41be0a})

[comment]: # ({6ca402c3-423b1929})
#### Пример

1. В Zabbix добавьте пользовательский макрос {$PASSWORD} с типом «Секрет Хранилища» и со значением `AppID=zabbix_server&Query=Safe=passwordSafe;Object=zabbix:Content`

![](../../../../assets/en/manual/config/cyberark_macro.png)

2. Zabbix отправит следующий запрос API в хранилище:

```bash
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
```

3. Ответ хранилища будет содержать ключ «Content»:

```json
{
    "Content": <пароль>,
    "UserName": <имя_пользователя>,
    "Address": <адрес>,
    "Database" :<База_данных>,
    "PasswordChangeInProcess":<ВыполняетсяСменаПароля>
}
```

4. В результате Zabbix раскроет макрос {$PASSWORD} в значение — <пароль>.

[comment]: # ({/6ca402c3-423b1929})

[comment]: # ({4f5314a4-f5e60a12})
### Обновление существующей конфигурации

Чтобы обновить существующую конфигурацию для извлечения секретов из хранилища CyberArk:

1. Обновите параметры файла конфигурации сервера Zabbix или прокси, как описано в разделе [*Учётные данные базы данных*](#учётные-данные-базы-данных).

2. Обновите параметры подключения к БД, перенастроив веб-интерфейс Zabbix и указав требуемые параметры, как описано в разделе [*Веб-интерфейс*](#веб-интерфейс).
Чтобы перенастроить веб-интерфейс Zabbix, откройте URL-адрес настройки веб-интерфейса в браузере:

-   для Apache: http://<ip_или_имя_сервера>/zabbix/setup.php
-   для Nginx: http://<ip_или_имя_сервера>/setup.php

Кроме того, эти параметры можно задать в [файле конфигурации веб-интерфейса](/manual/installation/frontend#установка) (*zabbix.conf.php*):

```ini
$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']             = '';
```

3. Настройте пользовательские макросы, как описано в разделе [*Значения пользовательских макросов*](#значения-пользовательских-макросов), если необходимо.

Чтобы обновить существующую конфигурацию для извлечения секретов из хранилища HashiCorp, смотрите [*Настройка HashiCorp*](/manual/config/secrets/hashicorp#обновление-существующей-конфигурации).

[comment]: # ({/4f5314a4-f5e60a12})




