[comment]: # ({45508041-4ce68864})
# 1 Configuración de CyberArk

Esta sección explica cómo configurar Zabbix para recuperar secretos de CyberArk Vault CV12.

El almacén debe estar instalado y configurado como se describe en la [documentación oficial de CyberArk](https://docs.cyberark.com/Product-Doc/OnlineHelp/PAS/12.1/en/Content/HomeTilesLPs/LP-Tile6.htm?tocpath=Installation%7C_____0).

Para obtener información sobre cómo configurar TLS en Zabbix, consulte [*Almacenamiento de secretos*](/manual/config/secrets#tls-configuration).

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

[comment]: # ({4f8deba1-bf4f1f87})
### Credenciales de base de datos

El acceso a un secreto con credenciales de base de datos se configura por separado para cada componente de Zabbix.

#### Server y proxies

Para obtener las credenciales de base de datos desde el vault para Zabbix [server](/manual/appendix/config/zabbix_server) o [proxy](/manual/appendix/config/zabbix_proxy), especifique los siguientes parámetros de configuración en el archivo de configuración:

-   `Vault` - qué proveedor de vault debe utilizarse;
-   `VaultURL` - URL HTTP\[S\] del servidor vault;
-   `VaultDBPath` - consulta al secreto del vault que contiene las credenciales de base de datos, las cuales se recuperarán mediante las claves "Content" y "UserName" (esta opción solo puede utilizarse si DBUser y DBPassword no están especificados);
-   `VaultTLSCertFile`, `VaultTLSKeyFile` - nombres de los archivos del certificado SSL y de la clave; la configuración de estas opciones no es obligatoria, pero sí muy recomendable;
-   `VaultPrefix` - prefijo personalizado para la ruta o consulta del vault, según el vault; si no se especifica, se utilizará el valor predeterminado más adecuado.

:::noteimportant
Los parámetros de configuración `Vault`, `VaultURL`, `VaultTLSCertFile`, `VaultTLSKeyFile` y `VaultPrefix` también se utilizan para la autenticación en el vault cuando Zabbix server procesa macros de secretos del vault (y Zabbix proxy, si está [configurado](/manual/web_interface/frontend_sections/administration/general#other)). Zabbix server y los proxies no abrirán macros de secretos del vault que contengan credenciales de base de datos de VaultDBPath.
:::

Zabbix server y Zabbix proxy leen los parámetros de configuración relacionados con el vault de los archivos *zabbix_server.conf* y *zabbix_proxy.conf* al iniciarse.

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

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

1. En *zabbix_server.conf*, especifique los siguientes parámetros:

```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 enviará la siguiente solicitud API al almacén seguro:

```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. La respuesta del almacén seguro contendrá las claves "Content" y "UserName":

```json
{
    "Content": <contraseña>,
    "UserName": <usuario>,
    "Address": <dirección>,
    "Database": <BaseDeDatos>,
    "PasswordChangeInProcess":<CambioDeContraseñaEnProceso>
}
```

4. Como resultado, Zabbix utilizará las siguientes credenciales para la autenticación en la base de datos:

-   Usuario: <usuario>
-   Contraseña: <contraseña>

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

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

Para obtener las credenciales de la base de datos desde el vault para la interfaz web de Zabbix, especifique los siguientes parámetros durante la [instalación](/manual/installation/frontend) de la interfaz web.

1. En el paso *Configurar conexión a la BD*, establezca el parámetro *Almacenar credenciales en* en "CyberArk Vault".

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

2. Luego, complete los parámetros adicionales:

|Parámetro|Obligatorio|Valor por defecto|Descripción|
|---|-|---|------|
|Punto final de la API del vault|sí|https://localhost:1858|Especifique la URL para conectarse al vault en el formato `esquema://equipo:puerto`|
|Prefijo del vault|no|/AIMWebService/api/Accounts?|Proporcione un prefijo personalizado para la ruta o consulta del vault. Si no se especifica, se utiliza el valor por defecto.|
|Cadena de consulta secreta del vault|sí| |Una consulta que especifica desde dónde se deben recuperar las credenciales de la base de datos.<br>Ejemplo: `AppID=foo&Query=Safe=bar;Object=buzz`|
|Certificados del vault|no| |Después de marcar la casilla, aparecerán parámetros adicionales que permitirán configurar la autenticación del cliente. Aunque este parámetro es opcional, se recomienda encarecidamente habilitarlo para la comunicación con CyberArk Vault.|
|Archivo de certificado SSL|no|conf/certs/cyberark-cert.pem|Ruta al archivo de certificado SSL. El archivo debe estar en formato PEM.<br>Si el archivo de certificado también contiene la clave privada, deje vacío el parámetro de archivo de clave SSL.|
|Archivo de clave SSL|no|conf/certs/cyberark-key.pem|Nombre del archivo de clave privada SSL utilizado para la autenticación del cliente. El archivo debe estar en formato PEM.|

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

[comment]: # ({dcf47002-11bde60a})
### Valores de macros de usuario

Para usar CyberArk Vault para almacenar valores de macros de usuario de *Vault secret*, asegúrese de que:

-   el Zabbix server esté [configurado](/manual/config/secrets/cyberark#server-and-proxies) para trabajar con CyberArk Vault;
-   el parámetro *Vault provider* en [*Administración → General → Otros*](/manual/web_interface/frontend_sections/administration/general#other) esté establecido en "CyberArk Vault".

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

:::noteclassic
Zabbix server (y Zabbix proxy, si está [configurado](/manual/web_interface/frontend_sections/administration/general#other)) requieren acceso a los valores de macros de *Vault secret* desde el vault.
Zabbix frontend no necesita dicho acceso.
:::

El valor de la macro debe contener una consulta (como `query:key`).

Consulte [*Macros de Vault secret*](/manual/config/macros/secret_macros#vault-secret) para obtener información detallada sobre el procesamiento de valores de macros por parte de Zabbix.

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

[comment]: # ({d8f91274-1b41be0a})
#### Sintaxis de consulta

El símbolo de dos puntos (":") está reservado para separar la consulta de la clave.

Si una consulta en sí misma contiene una barra diagonal o dos puntos, estos símbolos deben ser codificados en URL ("/" se codifica como "%2F", ":" se codifica como "%3A").

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

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

1. En Zabbix, agregue una macro de usuario {$PASSWORD} de tipo *Secreto de Vault* y con el valor `AppID=zabbix_server&Query=Safe=passwordSafe;Object=zabbix:Content`

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

2. Zabbix enviará la siguiente solicitud API al vault:

```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. La respuesta del vault contendrá la clave "Content":

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

4. Como resultado, Zabbix resolverá la macro {$PASSWORD} al valor - <password>

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

[comment]: # ({4f5314a4-f5e60a12})
### Actualizar la configuración existente

Para actualizar una configuración existente para recuperar secretos de un CyberArk Vault:

1. Actualice los parámetros del archivo de configuración del servidor o proxy de Zabbix como se describe en la sección [*Credenciales de base de datos*](#database-credentials).

2. Actualice la configuración de conexión a la base de datos reconfigurando el frontend de Zabbix y especificando los parámetros requeridos como se describe en la sección [*Frontend*](#frontend).
Para reconfigurar el frontend de Zabbix, abra la URL de configuración del frontend en el navegador:

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

Alternativamente, estos parámetros pueden establecerse en el [archivo de configuración del frontend](/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. Configure las macros de usuario como se describe en la sección [*Valores de macro de usuario*](#user-macro-values), si es necesario.

Para actualizar una configuración existente para recuperar secretos de un HashiCorp Vault, consulte [*Configuración de HashiCorp*](/manual/config/secrets/hashicorp#update-existing-configuration).

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




