- Información general
- Requisitos
- Preinstalación
- Preparar la instalación
- Descarga de los paquetes de instalación
- Configurar el registro compatible con OCI
- Conceder permisos de instalación con roles de clúster
- Conceder permisos de instalación sin roles de clúster
- Disaster recovery: configuraciones activas/pasivas
- Generar el archivo de configuración mediante un asistente
- Ejemplo de input.json
- Configurar un secreto de Kubernetes como almacén de secretos
- Configurar Azure Key Vault como almacén de secretos
- Configurar HashiCorp Vault como almacén de secretos
- Configurar AWS Secrets Manager como almacén de secretos
- Instalar y configurar la malla de servicio
- Instalar y configurar la herramienta GitOps
- Instalar el operador de secretos externos
- Implementar Redis a través de OperatorHub
- Aplicar configuraciones varias
- Ejecutar uipathctl
- Instalación
- Después de la instalación
- Migración y actualización
- Supervisión y alertas
- Administración de clústeres
- Configuración específica del producto
- Configuración avanzada de Orchestrator
- Configurar parámetros de Orchestrator
- Configurar AppSettings
- Configurar el tamaño máximo de la solicitud
- Anular la configuración de almacenamiento a nivel de clúster
- Configurar NLog
- Guardar los registros del robot en Elasticsearch
- Configurar almacenes de credenciales
- Configurar clave de cifrado por tenant
- Limpiar la base de datos de Orchestrator
- Omitir la instalación de la biblioteca de host
- Ai Trust Layer
- Solución de problemas
- Cómo desinstalar Automation Suite
- Cómo resolver el fallo de comprobación de conectividad prerrequisito en OpenShift 4.16–4.18
- Cómo implementar Insights en un clúster habilitado para FIPS
- Cómo deshabilitar la habilitación automática de CDI en el operador de GPU de Nvidia
- Cómo codificar la URL de una contraseña de cadena de conexión de PostgreSQL
- 500 errores y limitación de tasa en solicitudes S3 en ODF
- Solución de problemas de secretos externos
- Configurar las tolerancias del controlador CSI para ODF 4.20
- Solución de problemas de Temporal como servicio
- Los pods de AI Center y Document Understanding no se inician con la verificación del certificado TLS habilitada
- Studio Desktop no puede cargar conectores y actividades de Integration Service
- Errores de validación del certificado TLS
- Mitigación manual de Política de red de ArgoCD (GHSA-47m3-95c7-g2g8)
- Configurar solicitudes de recursos y límites para cargas de trabajo creadas por uipathctl
Configurar HashiCorp Vault como almacén de secretos
Configura HashiCorp Vault como almacén de secretos utilizando métodos de autenticación de Kubernetes o AppRole.
Puedes configurar HashiCorp Vault como almacén de secretos utilizando cualquiera de los siguientes métodos de autenticación:
- Autenticación de Kubernetes
- Autenticación de AppRole
HashiCorp Vault proporciona un motor de secretos KV (Clave-Valor) para almacenar secretos.
De forma predeterminada, todos los datos confidenciales se definen en input.json. Puedes separar estos datos en dos partes:
input.json: solo contiene datos de configuración.- HashiCorp Vault: almacena las credenciales de forma segura.
No puedes almacenar rutas de certificados o credenciales relacionadas con certificados como parte del almacén de secretos.
Todas las credenciales a las que se hace referencia en input.json deben existir como secretos en HashiCorp Vault antes de configurar el almacén de secretos. Si falta alguna credencial referenciada, la instalación falla.
Uso de Kubernetes Auth
El pod de ESO se autentica en HashiCorp Vault utilizando su token de cuenta de servicio de Kubernetes. Vault autentica el token en el servidor API de Kubernetes y emite un token de Vault con las políticas adecuadas.
Requisitos previos
- HashiCorp Vault con el método de autenticación de Kubernetes habilitado
- Rol de Vault configurado para permitir la cuenta de servicio de ESO. De forma predeterminada, el nombre de la cuenta de servicio es
external-secrets. - Conectividad de red desde el clúster de Kubernetes al servidor Vault
- (Opcional) Una cuenta de servicio de Kubernetes personalizada, si no se utiliza la cuenta de servicio predeterminada de ESO
Configuring input.json
Para configurar HashiCorp Vault como almacén de secretos utilizando Kubernetes Auth, añade la siguiente sección a input.json:
{
"secret_store": {
"enabled": true,
"provider_configs": [
{
"name": "hc-vault",
"type": "hashicorp",
"auth_type": "kubernetes",
"hashicorp_kv": {
"server": "https://vault.example.com:8200",
"path": "secret",
"version": "v2",
"role": "uipath-role",
"mount_path": "kubernetes"
}
}
]
}
}
{
"secret_store": {
"enabled": true,
"provider_configs": [
{
"name": "hc-vault",
"type": "hashicorp",
"auth_type": "kubernetes",
"hashicorp_kv": {
"server": "https://vault.example.com:8200",
"path": "secret",
"version": "v2",
"role": "uipath-role",
"mount_path": "kubernetes"
}
}
]
}
}
Para utilizar una cuenta de servicio personalizada, añade el campo service_account_name de la siguiente manera:
{
"secret_store": {
"enabled": true,
"provider_configs": [
{
"name": "hc-vault",
"type": "hashicorp",
"auth_type": "kubernetes",
"service_account_name": "vault-auth-sa",
"hashicorp_kv": {
"server": "http://vault.example.com:8200",
"path": "secret",
"version": "v2",
"role": "uipath-role",
"mount_path": "kubernetes"
}
}
]
}
}
{
"secret_store": {
"enabled": true,
"provider_configs": [
{
"name": "hc-vault",
"type": "hashicorp",
"auth_type": "kubernetes",
"service_account_name": "vault-auth-sa",
"hashicorp_kv": {
"server": "http://vault.example.com:8200",
"path": "secret",
"version": "v2",
"role": "uipath-role",
"mount_path": "kubernetes"
}
}
]
}
}
Si se configura service_account_name , el cliente debe crear previamente la CuentaDeServicio. uipathctl valida su existencia, pero no la crea.
Uso de la autenticación de AppRole
La autenticación de AppRole utiliza el método de autenticación de AppRole de Vault, en el que ESO se autentica con un ID de rol y un ID de secreto almacenados en un secreto de Kubernetes. Este método es adecuado para sistemas automatizados y no requiere que la autenticación de Kubernetes esté habilitada en Vault.
Requisitos previos
- HashiCorp Vault con el método de autenticación AppRole habilitado
- ID de rol de AppRole e ID de secreto generados
- Secreto de Kubernetes precreado con credenciales de AppRole
Configuring input.json
Para configurar HashiCorp Vault como almacén de secretos utilizando AppRole Auth, sigue los siguientes pasos:
-
Crea el secreto de Kubernetes que almacena las credenciales de AppRole:
kubectl create secret generic vault-approle-creds \ --namespace uipath \ --from-literal=role-id=<your-role-id> \ --from-literal=secret-id=<your-secret-id>kubectl create secret generic vault-approle-creds \ --namespace uipath \ --from-literal=role-id=<your-role-id> \ --from-literal=secret-id=<your-secret-id>El secreto debe contener las siguientes claves:
role-id: ID del rol de AppRole de Vaultsecret-id: ID secreto de AppRole de Vault
-
Añade la siguiente sección a
input.json:{ "secret_store": { "enabled": true, "provider_configs": [ { "name": "hc-vault", "type": "hashicorp", "auth_type": "approle", "credentials_secret_name": "vault-approle-creds", "hashicorp_kv": { "server": "https://vault.example.com:8200", "path": "secret", "version": "v2", "mount_path": "approle" } } ] } }{ "secret_store": { "enabled": true, "provider_configs": [ { "name": "hc-vault", "type": "hashicorp", "auth_type": "approle", "credentials_secret_name": "vault-approle-creds", "hashicorp_kv": { "server": "https://vault.example.com:8200", "path": "secret", "version": "v2", "mount_path": "approle" } } ] } }
Campos de configuración
La siguiente tabla describe los campos de configuración disponibles.
| Campo | Obligatorio | Predeterminado | Descripción |
|---|---|---|---|
hashicorp_kv.server | Sí | - | URL del servidor de Vault |
hashicorp_kv.path | No | secret | Ruta de montaje del motor de secretos KV |
hashicorp_kv.version | No | v2 | Versión del motor KV: v1 o v2 |
hashicorp_kv.role | No | uipath-role | Nombre del rol de Vault para la autenticación |
hashicorp_kv.mount_path | No | kubernetes o approle (basado en auth_type) | Ruta de montaje del método de autenticación |
auth_type | Sí | - | Debe ser kubernetes o approle |
credentials_secret_name | Sí (solo AppRole) | - | Secreto de Kubernetes que contiene claves role-id y secret-id |
service_account_name | No | external-secrets | Cuenta de servicio de Kubernetes para Kubernetes Auth. Si se especifica una CuentaDeServicio personalizada, debes crearla previamente en el clúster. |
Gestión de certificados TLS CA
Cuando el servidor Vault utiliza HTTPS con un certificado de CA privado, configura additional_ca_certs en input.json con la ruta del archivo del certificado de CA:
additional_ca_certs: /path/to/client_cert
additional_ca_certs: /path/to/client_cert
No se necesita ninguna configuración adicional en el bloque hashicorp_kv .
Referenciar secretos en input.json
Para hacer referencia a una credencial almacenada en HashiCorp Vault, utiliza el siguiente formato en input.json:
vault/<vault-name>/<secret-path>?key=<key-name>
vault/<vault-name>/<secret-path>?key=<key-name>
- Campo específico:
vault/hc-vault/s3-credentials?key=access_key - Versión anclada:
vault/hc-vault/platform-sql?version=2
El siguiente ejemplo muestra cómo hacer referencia a un secreto de HashiCorp Vault en input.json:
admin_password: vault/hc-vault/admin-password-10832372?key=value
admin_password: vault/hc-vault/admin-password-10832372?key=value