UiPath Documentation
automation-suite
2.2510
true
Guía de instalación de Automation Suite en OpenShift
Importante :
Este contenido se ha localizado parcialmente a partir de un sistema de traducción automática. La localización de contenidos recién publicados puede tardar entre una y dos semanas en estar disponible.

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.
Nota:

No puedes almacenar rutas de certificados o credenciales relacionadas con certificados como parte del almacén de secretos.

Importante:

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"
        }
      }
    ]
  }
}
Nota:

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:

  1. 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 Vault
    • secret-id : ID secreto de AppRole de Vault
  2. 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.

CampoObligatorioPredeterminadoDescripción
hashicorp_kv.serverSí-URL del servidor de Vault
hashicorp_kv.pathNosecretRuta de montaje del motor de secretos KV
hashicorp_kv.versionNov2Versión del motor KV: v1 o v2
hashicorp_kv.roleNouipath-roleNombre del rol de Vault para la autenticación
hashicorp_kv.mount_pathNokubernetes o approle (basado en auth_type)Ruta de montaje del método de autenticación
auth_typeSí-Debe ser kubernetes o approle
credentials_secret_nameSí (solo AppRole)-Secreto de Kubernetes que contiene claves role-id y secret-id
service_account_nameNoexternal-secretsCuenta 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

¿Te ha resultado útil esta página?

Conectar

¿Necesita ayuda? Soporte

¿Quiere aprender? UiPath Academy

¿Tiene alguna pregunta? Foro de UiPath

Manténgase actualizado