UiPath Documentation
automation-suite
2.2510
true
Guia de instalação do Automation Suite no OpenShift
Importante :
A tradução automática foi aplicada parcialmente neste conteúdo. A localização de um conteúdo recém-publicado pode levar de 1 a 2 semanas para ficar disponível.

Configurando o HashiCorp Vault como um Secretstore

Configure o HashiCorp Vault como armazenamento secreto usando os métodos de autenticação Kubernetes ou AppRole.

Você pode configurar o HashiCorp Vault como um armazenamento secreto usando um dos seguintes métodos de autenticação:

  • Autenticação do Kubernetes
  • Autenticação do AppRole

O HashiCorp Vault fornece um mecanismo de segredos KV (Key-Value) para armazenar segredos.

Por padrão, todos os dados confidenciais são definidos em input.json. Você pode separar esses dados em duas partes:

  • input.json - contém apenas dados de configuração.
  • HashiCorp Vault — armazena credenciais com segurança.
Observação:

Você não pode armazenar caminhos de certificados ou credenciais relacionadas a certificados como parte do Secretstore.

Importante:

Todas as credenciais referenciadas em input.json devem existir como segredos no HashiCorp Vault antes de você configurar o Secretstore. Se alguma credencial referenciada estiver ausente, a instalação falhará.

Como usar a autenticação do Kubernetes​

O pod do ESO é autenticado no HashiCorp Vault usando seu token de conta de serviço do Kubernetes. O Vault autentica o token no servidor da API do Kubernetes e emite um token do Vault com as políticas apropriadas.

Pré-requisitos​

  • HashiCorp Vault com o método de autenticação do Kubernetes habilitado
  • Função do cofre configurada para permitir a conta de serviço do ESO. Por padrão, o nome da conta de serviço é external-secrets.
  • Conectividade de rede do cluster Kubernetes para o servidor Vault
  • (Opcional) Uma ServiceAccount personalizada do Kubernetes, se não estiver usando a conta de serviço padrão do ESO

Configuring input.json​

Para configurar o HashiCorp Vault como um Secretstore usando a Autenticação do Kubernetes, adicione a seguinte seção 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 usar um ServiceAccount personalizado, adicione o campo service_account_name da seguinte forma:

{
  "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"
        }
      }
    ]
  }
}
Observação:

Se service_account_name estiver configurado, a ContaDeServiço deve ser pré-criada pelo cliente. uipathctl valida sua existência, mas não a cria.

Uso da autenticação do AppRole​

A autenticação do AppRole usa o método de autenticação do AppRole do Vault, no qual o ESO é autenticado com um ID de função e ID de segredo armazenados em um segredo do Kubernetes. Este método é adequado para sistemas automatizados e não requer que a autenticação do Kubernetes esteja habilitada no Vault.

Pré-requisitos​

  • HashiCorp Vault com o método de autenticação AppRole habilitado
  • ID de função do AppRole e ID de segredo gerados
  • Segredo do Kubernetes pré-criado com credenciais do AppRole

Configuring input.json​

Para configurar o HashiCorp Vault como um armazenamento secreto usando a Autenticação de AppRole, execute as seguintes etapas:

  1. Crie o segredo do Kubernetes que armazena as credenciais do 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>
    

    O segredo deve conter as seguintes chaves:

    • role-id - ID de função do AppRole do cofre
    • secret-id - ID do segredo do AppRole do cofre
  2. Adicione a seguinte seção 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 configuração​

A tabela a seguir descreve os campos de configuração disponíveis.

CampoRequiredPadrãoDescription
hashicorp_kv.serverSim-URL do servidor do Vault
hashicorp_kv.pathNãosecretCaminho de montagem do mecanismo de segredos KV
hashicorp_kv.versionNãov2Versão do mecanismo KV: v1 ou v2
hashicorp_kv.roleNãouipath-roleNome da função do cofre para autenticação
hashicorp_kv.mount_pathNãokubernetes ou approle (com base em auth_type)Caminho de montagem do método de autenticação
auth_typeSim-Deve ser kubernetes ou approle
credentials_secret_nameSim (apenas AppRole)-Segredo do Kubernetes que contém as chaves role-id e secret-id
service_account_nameNãoexternal-secretsContaDeServiço do Kubernetes para autenticação do Kubernetes. Se uma ContaDeServiço personalizada for especificada, você deve criá-la previamente no cluster.

Manuseio de certificado de CA de TLS​

Quando o servidor do Vault usar HTTPS com um certificado de CA privado, configure additional_ca_certs em input.json com o caminho do arquivo do certificado de CA:

additional_ca_certs: /path/to/client_cert
additional_ca_certs: /path/to/client_cert

Nenhuma configuração adicional é necessária no bloco hashicorp_kv .

Referenciando segredos em input.json​

Para fazer referência a uma credencial armazenada no HashiCorp Vault, use o seguinte formato em 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
  • Versão fixada: vault/hc-vault/platform-sql?version=2

O exemplo a seguir mostra como fazer referência a um segredo do HashiCorp Vault em input.json:

admin_password: vault/hc-vault/admin-password-10832372?key=value
admin_password: vault/hc-vault/admin-password-10832372?key=value

Esta página foi útil?

Conectar

Precisa de ajuda? Suporte

Quer aprender? Academia UiPath

Tem perguntas? Fórum do UiPath

Fique por dentro das novidades