[comment]: # translation:outdated

[comment]: # ({45508041-4ce68864})
# 1 Konfiguracja CyberArk

W tej sekcji wyjaśniono, jak skonfigurować Zabbix do pobierania sekretów z CyberArk Vault CV12.

Vault powinien być zainstalowany i skonfigurowany zgodnie z opisem w oficjalnej [dokumentacji CyberArk](https://docs.cyberark.com/Product-Doc/OnlineHelp/PAS/12.1/en/Content/HomeTilesLPs/LP-Tile6.htm?tocpath=Installation%7C_____0).

Aby dowiedzieć się więcej o konfiguracji TLS w Zabbix, zobacz [*Przechowywanie sekretów*](/manual/config/secrets#tls-configuration).

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

[comment]: # ({4f8deba1-bf4f1f87})
### Dane uwierzytelniające bazy danych

Dostęp do sekretu zawierającego dane uwierzytelniające bazy danych jest konfigurowany oddzielnie dla każdego komponentu Zabbix.

#### Serwer i proxy

Aby pobrać dane uwierzytelniające bazy danych z sejfu dla Zabbix [serwer](/manual/appendix/config/zabbix_server) lub [proxy](/manual/appendix/config/zabbix_proxy), należy określić następujące parametry konfiguracyjne w pliku konfiguracyjnym:

-   `Vault` - który dostawca sejfu ma być używany;
-   `VaultURL` - adres URL HTTP\[S\] serwera sejfu;
-   `VaultDBPath` - zapytanie do sekretu sejfu zawierającego dane uwierzytelniające bazy danych, które zostaną pobrane przy użyciu kluczy "Content" i "UserName" (tej opcji można użyć tylko wtedy, gdy nie określono DBUser i DBPassword);
-   `VaultTLSCertFile`, `VaultTLSKeyFile` - nazwy plików certyfikatu SSL i klucza; skonfigurowanie tych opcji nie jest obowiązkowe, ale jest zdecydowanie zalecane;
-   `VaultPrefix` - niestandardowy prefiks ścieżki lub zapytania sejfu, w zależności od sejfu; jeśli nie zostanie określony, użyta zostanie najbardziej odpowiednia wartość domyślna.

:::noteimportant
Parametry konfiguracyjne `Vault`, `VaultURL`, `VaultTLSCertFile`, `VaultTLSKeyFile` oraz `VaultPrefix` są również używane do uwierzytelniania w sejfie podczas przetwarzania makr sekretów sejfu przez Zabbix serwer (oraz Zabbix proxy, jeśli jest [skonfigurowany](/manual/web_interface/frontend_sections/administration/general#other)). Zabbix serwer i proxy nie będą otwierać makr sekretów sejfu zawierających dane uwierzytelniające bazy danych z VaultDBPath.
:::

Zabbix serwer i Zabbix proxy odczytują parametry konfiguracyjne związane z sejfem z plików *zabbix_server.conf* i *zabbix_proxy.conf* podczas uruchamiania.

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

[comment]: # ({bc54d843-c8ed5f40})
##### Przykład

1. W *zabbix_server.conf* określ następujące parametry:

```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 wyśle do sejfu następujące żądanie 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. Odpowiedź sejfu będzie zawierać klucze „Content” i „UserName”:

```json
{
    "Content": <password>,
    "UserName": <username>,
    "Address": <address>,
    "Database": <Database>,
    "PasswordChangeInProcess":<PasswordChangeInProcess>
}
```

4. W rezultacie Zabbix użyje następujących poświadczeń do uwierzytelniania w bazie danych:

-   Nazwa użytkownika: <username>
-   Hasło: <password>

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

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

Aby uzyskać poświadczenia bazy danych z sejfu dla frontend Zabbix, podczas [instalacji](/manual/installation/frontend) frontend należy określić następujące parametry.

1. W kroku *Configure DB Connection* ustaw parametr *Store credentials in* na „CyberArk Vault”.

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

2. Następnie uzupełnij dodatkowe parametry:

|Parametr|Wymagany|Wartość domyślna| Opis|
|---|-|---|------|
|Vault API endpoint|tak|https://localhost:1858|Określ adres URL połączenia z sejfem w formacie `scheme://host:port`|
|Vault prefix|nie|/AIMWebService/api/Accounts?|Podaj niestandardowy prefiks dla ścieżki lub zapytania sejfu. Jeśli nie zostanie podany, użyta zostanie wartość domyślna.|
|Vault secret query string|tak| |Zapytanie określające, skąd mają zostać pobrane poświadczenia bazy danych.<br>Przykład: `AppID=foo&Query=Safe=bar;Object=buzz`|
|Vault certificates|nie| |Po zaznaczeniu tego pola wyboru pojawią się dodatkowe parametry umożliwiające skonfigurowanie uwierzytelniania klienta. Chociaż ten parametr jest opcjonalny, zdecydowanie zaleca się jego włączenie do komunikacji z CyberArk Vault.|
|SSL certificate file|nie|conf/certs/cyberark-cert.pem|Ścieżka do pliku certyfikatu SSL. Plik musi być w formacie PEM.<br>Jeśli plik certyfikatu zawiera również klucz prywatny, pozostaw parametr SSL key file pusty.|
|SSL key file|nie|conf/certs/cyberark-key.pem|Nazwa pliku prywatnego klucza SSL używanego do uwierzytelniania klienta. Plik musi być w formacie PEM.|

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

[comment]: # ({dcf47002-11bde60a})
### Wartości makr użytkownika

Aby używać CyberArk Vault do przechowywania wartości makr użytkownika typu *Vault secret*, upewnij się, że:

-   serwer Zabbix jest [skonfigurowany](/manual/config/secrets/cyberark#server-and-proxies) do pracy z CyberArk Vault;
-   parametr *Vault provider* w [*Administracja → Ogólne → Inne*](/manual/web_interface/frontend_sections/administration/general#other) jest ustawiony na „CyberArk Vault”.

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

:::noteclassic
Serwer Zabbix (oraz proxy Zabbix, jeśli jest [skonfigurowany](/manual/web_interface/frontend_sections/administration/general#other)) wymaga dostępu do wartości makr typu *Vault secret* z sejfu.
Frontend Zabbix nie potrzebuje takiego dostępu.
:::

Wartość makra powinna zawierać zapytanie (w postaci `query:key`).

Szczegółowe informacje o przetwarzaniu wartości makr przez Zabbix można znaleźć w sekcji [*Makra typu Vault secret*](/manual/config/macros/secret_macros#vault-secret).

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

[comment]: # ({d8f91274-1b41be0a})
#### Składnia zapytania

Dwukropek (":") jest zarezerwowany do oddzielania zapytania od klucza.

Jeśli samo zapytanie zawiera ukośnik lub dwukropek, symbole te powinny być zakodowane w formacie URL ("/" jest kodowany jako "%2F", ":" jest kodowany jako "%3A").

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

[comment]: # ({6ca402c3-423b1929})
#### Przykład

1. W Zabbix dodaj makro użytkownika {$PASSWORD} typu *Vault secret* o wartości `AppID=zabbix_server&Query=Safe=passwordSafe;Object=zabbix:Content`

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

2. Zabbix wyśle do sejfu następujące żądanie 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. Odpowiedź sejfu będzie zawierać klucz "Content":

```json
{
    "Content": <password>,
    "UserName": <username>,
    "Address": <address>,
    "Database" :<Database>,
    "PasswordChangeInProcess":<PasswordChangeInProcess>
}
```

4. W rezultacie Zabbix rozwiąże makro {$PASSWORD} do wartości - <password>

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

[comment]: # ({4f5314a4-f5e60a12})
### Aktualizacja istniejącej konfiguracji

Aby zaktualizować istniejącą konfigurację pobierania sekretów z CyberArk Vault:

1. Zaktualizuj parametry pliku konfiguracyjnego serwera Zabbix lub proxy zgodnie z opisem w sekcji [*Dane logowania do bazy danych*](#database-credentials).

2. Zaktualizuj ustawienia połączenia z bazą danych, rekonfigurując frontend Zabbix i podając wymagane parametry zgodnie z opisem w sekcji [*Frontend*](#frontend).
Aby ponownie skonfigurować frontend Zabbix, otwórz w przeglądarce URL konfiguracji frontendu:

-   dla Apache: http://<server_ip_or_name>/zabbix/setup.php
-   dla Nginx: http://<server_ip_or_name>/setup.php

Alternatywnie parametry te można ustawić w [pliku konfiguracyjnym frontendu](/manual/installation/frontend#install) (*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. W razie potrzeby skonfiguruj makra użytkownika zgodnie z opisem w sekcji [*Wartości makr użytkownika*](#user-macro-values).

Aby zaktualizować istniejącą konfigurację pobierania sekretów z HashiCorp Vault, zobacz [*Konfiguracja HashiCorp*](/manual/config/secrets/hashicorp#update-existing-configuration).

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