- Visão geral
- Requisitos
- Pré-instalação
- Preparação da instalação
- Baixando os pacotes de instalação
- Configuração do registro compatível com OCI
- Concessão de permissões de instalação com funções de cluster
- Concessão de permissões de instalação sem funções de cluster
- Disaster Recovery: configurações Ativo/Passivo
- Gerar o arquivo de configuração usando um assistente
- Exemplo do input.json
- Configurando um segredo do Kubernetes como um Secretstore
- Configurando o Azure Key Vault como um Secretstore
- Configurando o HashiCorp Vault como um Secretstore
- Configurando o AWS Secrets Manager como um Secretstore
- Instalação e configuração do service mesh
- Instalando e configurando a ferramenta GitOps
- Instalando o operador de segredos externos
- Implantação do Redis pelo OperatorHub
- Aplicação de configurações diversas
- Executando o uipathctl
- Instalação
- Pós-instalação
- Migração e atualização
- Monitoramento e alertas
- Administração de cluster
- Configuração específica do produto
- Configuração avançada do Orchestrator
- Configuração de parâmetros do Orchestrator
- Configuração do AppSettings
- Configuração do tamanho máximo da solicitação
- Substituição da configuração de armazenamento no nível do cluster
- Configuração do NLog
- Salvando logs do robô no Elasticsearch
- Configuração dos repositórios de credenciais
- Configuração da chave de criptografia por tenant
- Limpeza do banco de dados do Orchestrator
- Ignorar a instalação da biblioteca do host
- AI Trust Layer
- Solução de problemas
- Como desinstalar o Automation Suite
- Como resolver a falha de verificação de conectividade pré-requisito no OpenShift 4.16–4.18
- Como implantar o Insights em um cluster habilitado para FIPS
- Como desabilitar a habilitação automática do CDI no operador de GPU Nvidia
- Como codificar para URL uma senha da string de conexão do PostgreSQL
- 500 erros e limitação de taxa em solicitações do S3 no ODF
- Solução de problemas de segredos externos
- Configurando tolerâncias de driver CSI para ODF 4.20
- Solução de problemas de Temporal como um serviço
- Os pods do AI Center e do Document Understanding falham ao iniciar com a verificação do certificado TLS habilitada
- O Studio Desktop não pode carregar conectores e atividades do Integration Service
- Erros de validação de certificado TLS
- Migreção manual do ArgoCD NetworkPolicy (GHSA-47m3-95c7-g2g8)
- Configuração de solicitações e limites de recursos para cargas de trabalho criadas pelo uipathctl
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.
Você não pode armazenar caminhos de certificados ou credenciais relacionadas a certificados como parte do Secretstore.
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"
}
}
]
}
}
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:
-
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 cofresecret-id- ID do segredo do AppRole do cofre
-
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.
| Campo | Required | Padrão | Description |
|---|---|---|---|
hashicorp_kv.server | Sim | - | URL do servidor do Vault |
hashicorp_kv.path | Não | secret | Caminho de montagem do mecanismo de segredos KV |
hashicorp_kv.version | Não | v2 | Versão do mecanismo KV: v1 ou v2 |
hashicorp_kv.role | Não | uipath-role | Nome da função do cofre para autenticação |
hashicorp_kv.mount_path | Não | kubernetes ou approle (com base em auth_type) | Caminho de montagem do método de autenticação |
auth_type | Sim | - | Deve ser kubernetes ou approle |
credentials_secret_name | Sim (apenas AppRole) | - | Segredo do Kubernetes que contém as chaves role-id e secret-id |
service_account_name | Não | external-secrets | ContaDeServiç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