- Visão geral
- Requisitos
- Modelos de implantação
- Manual: preparando a instalação
- Manual: preparando a instalação
- Etapa 2: configuração do registro compatível com OCI para instalações offline
- Etapa 3: configuração do objectstore externo
- Etapa 4: configuração do High Availability Add-on
- Etapa 5: configuração de bancos de dados SQL
- Etapa 7: configuração do DNS
- Etapa 8: configuração dos discos
- Etapa 9: configuração dos ajustes do nível do kernel e do sistema operacional
- Etapa 10: configuração das portas do nó
- Etapa 11: aplicação de configurações diversas
- Etapa 12: validação e instalação dos pacotes RPM necessários
- Etapa 13: geração de cluster_config.json
- Amostra Cluster_config.json
- Configuração geral
- Configuração do perfil
- Configuração de Certificados
- Configuração do Banco de Dados
- Configuração externa do Objectstore
- Configuração de URL pré-assinada
- Configuração do ArgoCD
- Configuração da autenticação do Kerberos
- Configuração de registro externo compatível com OCI
- Disaster Recovery: configurações Ativo/Passivo e Ativo/Ativo
- Configuração do High Availability Add-on
- Configuração específica do Orchestrator
- Configuração específica do Insights
- Process Mining-specific configuration
- Configuração específica do Document Understanding
- Automation Suite Robots-specific configuration
- Configuração do monitoramento
- Opcional: configuração do servidor proxy
- Opcional: habilitação da resiliência a falhas zonais em um cluster de produção pronto para alta disponibilidade de vários nós
- Opcional: transmitindo resolv.conf personalizado
- Optional: Increasing fault tolerance
- Adicionando um nó de agente dedicado com suporte a GPU
- Adicionando um nó de agente dedicado para robôs do Automation Suite
- Etapa 15: configuração do registro temporário do Docker para instalações offline
- Etapa 16: validação dos pré-requisitos para a instalação
- Executando o uipathctl
- Manual: realizando a instalação
- Pós-instalação
- Administração de cluster
- Gerenciando produtos
- Introdução ao portal de administração do cluster
- Migração do Redis do High Availability Add-on no cluster para externo
- Migrating data between objectstores
- Migrating in-cluster objectstore to external objectstore
- Migração de um registro no cluster para um registro externo compatível com OCI
- Mudança para o cluster secundário manualmente em uma configuração Ativo/Passivo
- Disaster Recovery: executando operações pós-instalação
- Convertendo uma instalação existente para configuração multi-local
- Diretrizes sobre atualização de uma implantação Ativo/Passivo ou Ativo/Ativo
- Diretrizes sobre backup e restauração de uma implantação Ativo/Passivo ou Ativo/Ativo
- Escalando uma implantação de nó único (avaliação) para uma implantação de vários nós (HA)
- Monitoramento e alertas
- Migração e atualização
- Migração entre clusters do Automation Suite
- Atualizando o Automação Suite
- Download dos pacotes de instalação e obtenção de todos os arquivos no primeiro nó do servidor
- Recuperação da mais recente configuração aplicada do cluster
- Atualização da configuração de cluster
- Configuração do registro compatível com OCI para instalações offline
- Execução da atualização
- Realização de operações pós-atualização
- 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
- Melhores práticas e manutenção
- Solução de problemas
- Como solucionar problemas dos serviços durante a instalação
- Como reduzir as permissões para um diretório de backup NFS
- Como desinstalar o cluster
- Como limpar os artefatos offline para melhorar o espaço em disco
- Como limpar os dados do Redis
- Como habilitar o registro em log do Istio
- Como limpar logs manualmente
- Alterando o modo somente leitura do Ceph
- Como limpar logs antigos armazenados no bucket do sf-logs
- Como desabilitar os logs de streaming para o AI Center
- Como depurar instalações do Automation Suite com falha
- Como excluir imagens do instalador antigo após a atualização
- Como desabilitar o descarregamento de soma de verificação do TX
- Como definir manualmente o nível de log do ArgoCD como Info
- Como expandir o armazenamento do AI Center
- Como gerar o pull_secret_value codificado para registros externos
- Como lidar com cifras fracas no TLS 1.2
- Como verificar a versão do TLS
- Como trabalhar com certificados
- Como agendar o backup e restaurar dados do Ceph
- Como coletar dados de uso de DU com objectstore (Ceph) no cluster
- Como instalar o RKE2 SELinux em ambientes air-gapped
- Como limpar backups diferenciados antigos em um servidor NFS
- Como implantar o Insights em um cluster habilitado para FIPS
- Como migrar para o Cgroup v2
- Como recuperar a autenticação do Kerberos após uma reinicialização da VM
- Como enviar uma imagem do Docker local para o registro no cluster
- Como excluir buckets do backup
- Erro ao baixar o pacote
- A instalação offline falha devido a um binário ausente
- Azure disk not marked as SSD
- Falha após a atualização do certificado
- Erros de validação de certificado TLS
- Antivírus causa problemas de instalação
- Automation Suite not working after OS upgrade
- O Automation Suite requer que backlog_wait_time seja definido como 0
- A instalação do registro temporário falha no RHEL 8.9
- Problema de reinício frequente em implantações de namespace uipath durante instalações offline
- Configurações de DNS não honradas pelo CoreDNS
- A geração de registros no cluster falha devido a memória insuficiente
- As verificações de pré-requisitos falham quando os projetos modernos do Document Understanding estão habilitados e o AI Center está desabilitado
- Upgrade fails due to unhealthy Ceph
- A atualização falha devido a objetos clássicos no banco de dados do Orchestrator
- Um cluster do Ceph foi encontrado em um estado degradado após atualização lado a lado
- A atualização do serviço falha para o Apps
- Tempos limite de atualização no local
- Falha de atualização em ambientes offline
- pod snapshot-controller-crds no estado CrashLoopBackOff após a atualização
- Falha de atualização devido aos tamanhos de PVC do Insights substituídos
- Falha de atualização devido ao nome de host em letra maiúscula
- Configurando um intervalo de tempo limite para os portais de gerenciamento
- Autenticação não funciona após migração
- kinit: não é possível encontrar o KDC para o realm <AD Domain> ao obter credenciais iniciais
- kinit: o Keytab não contém chaves adequadas para *** ao obter credenciais iniciais
- Falha na operação GSSAPI devido a código de status inválido
- Alarme recebido para trabalho com falha do Kerberos-tgt-update
- Provedor de SSPI: servidor não encontrado no banco de dados Kerberos
- Falha de login para usuário do AD devido a conta desabilitada
- ArgoCD login failed
- Falha ao obter a imagem do sandbox
- Os pods não são exibidos na UI do ArgoCD
- Falha de teste do Redis
- O servidor RKE2 falha ao iniciar
- O ArgoCD entra em estado Em andamento após a primeira instalação
- Pod de repositório do ArgoCD em CrashLoopBackOff
- Migreção manual do ArgoCD NetworkPolicy (GHSA-47m3-95c7-g2g8)
- Métricas Ceph-rook ausentes nos painéis de monitoramento
- Incompatibilidade em erros relatados durante as verificações de integridade do diagnóstico
- Configuração de solicitações e limites de recursos para cargas de trabalho criadas pelo uipathctl
- Nenhum problema upstream íntegro
- Inicialização do Redis bloqueada por antivírus
- Os pods do AI Center e do Document Understanding falham ao iniciar com a verificação do certificado TLS habilitada
- O Fluentd não exporta logs em ambientes IPv6
- O Studio Desktop não pode carregar conectores e atividades do Integration Service
- O Document Understanding não está no menu de navegação esquerdo do Automation Suite
- Status de Falha ao criar uma sessão de rotulagem de dados
- Status de Falha ao tentar implantar uma habilidade de ML
- Trabalho de migração falha no ArgoCD
- Reconhecimento de escrita com o Extrator de formulários inteligente não está funcionando
- Execução de alta disponibilidade com o Process Mining
- Falha na ingestão do Process Mining ao fazer logon usando o Kerberos
- Não é possível conectar-se ao banco de dados AutomationSuite_ProcessMining_Warehouse usando uma string de conexão em formato pyodbc.
- A instalação do Airflow falha com sqlalchemy.exc.ArgumentError: não foi possível analisar o URL rfc1738 da string ''
- Como adicionar uma regra de tabela de IP para usar a porta 1433 do SQL Server
- O certificado do Automation Suite não é confiável para o servidor em que o CData Sync está sendo executado
- Process Mining fails to load after disabling and re-enabling it
- Execução da ferramenta de diagnóstico
- Usando o pacote de suporte do Automation Suite
- Exploração de logs
Substitua certificados autoassinados por certificados assinados por CA e gerencie o ciclo de vida dos certificados no Automation Suite.
O processo de instalação gera certificados autoassinados em seu nome. Esses certificados são compatíveis com FIPS e expirarão em 90 dias. Você deve substituí-los por certificados assinados por uma Autoridade de Certificação (CA) confiável assim que a instalação for concluída. Se você não atualizar os certificados, a instalação deixará de funcionar após 90 dias.
Se você instalou o Automation Suite em um host habilitado para FIPS e deseja atualizar os certificados, verifique se são compatíveis com FIPS.
O pacote de instalação fornece uma ferramenta de gerenciamento de cluster que permite atualizar certificados após a instalação. Para acessar a ferramenta, navegue até o local do pacote do instalador:
cd /opt/UiPathAutomationSuite/
cd /opt/UiPathAutomationSuite/
Generating a Certificate Signing Request (CSR) and a private key
Para gerar o CSR e a chave privada, execute o seguinte comando:
# copy the machine openssl configuration locally
cp /etc/pki/tls/openssl.cnf ./openssl.tmp.cnf
# Replace the [AUTOMATION_SUITE_FQDN] value. For example, "automationsuite.corp.com"
AS_FQDN=[AUTOMATION_SUITE_FQDN]
cat >> ./openssl.tmp.cnf <<EOF
[SAN]
subjectAltName=DNS:$AS_FQDN,DNS:alm.$AS_FQDN,DNS:monitoring.$AS_FQDN,DNS:registry.$AS_FQDN,DNS:objectstore.$AS_FQDN,DNS:insights.$AS_FQDN,DNS:apps.$AS_FQDN
EOF
# create the certificate request
openssl req -new -sha256 -newkey rsa:2048 -nodes -keyout server.key -subj "/C=xx/ST=xx/O=xx/OU=xx/CN=$AS_FQDN" -reqexts SAN -config openssl.tmp.cnf -out ${AS_FQDN}.csr
# copy the machine openssl configuration locally
cp /etc/pki/tls/openssl.cnf ./openssl.tmp.cnf
# Replace the [AUTOMATION_SUITE_FQDN] value. For example, "automationsuite.corp.com"
AS_FQDN=[AUTOMATION_SUITE_FQDN]
cat >> ./openssl.tmp.cnf <<EOF
[SAN]
subjectAltName=DNS:$AS_FQDN,DNS:alm.$AS_FQDN,DNS:monitoring.$AS_FQDN,DNS:registry.$AS_FQDN,DNS:objectstore.$AS_FQDN,DNS:insights.$AS_FQDN,DNS:apps.$AS_FQDN
EOF
# create the certificate request
openssl req -new -sha256 -newkey rsa:2048 -nodes -keyout server.key -subj "/C=xx/ST=xx/O=xx/OU=xx/CN=$AS_FQDN" -reqexts SAN -config openssl.tmp.cnf -out ${AS_FQDN}.csr
Sua equipe de TI usa os valores obtidos para gerar um certificado assinado. A chave privada gerada permanece local.
Gerenciamento de certificados do servidor
Para visualizar mais informações sobre certificados de servidor, execute o seguinte comando:
./bin/uipathctl config tls-certificates --help
./bin/uipathctl config tls-certificates --help
Saída:
************************************************************************************
Manage tls certificates
Usage:
uipathctl config tls-certificates [flags]
uipathctl config tls-certificates [command]
Available Commands:
get Get the current tls certificates
update Update tls certificates
Flags:
-h, --help help for tls-certificates
Global Flags:
--context string name of the kubeconfig context to use
-f, --force override all user prompts to true
--kubeconfig string kubectl configuration file (default: ~/.kube/config)
--log-format string log format. one of [text,json] (default "text")
--log-level string set log level. one of [trace,debug,info,error] (default "info")
-q, --quiet disable progress indicators (emoji/formatted status messages)
--timeout duration timeout of the command (default: 90 minutes) (default 1h30m0s)
--versions string optional path to versions file
Use "uipathctl config tls-certificates [command] --help" for more information about a command.
************************************************************************************
************************************************************************************
Manage tls certificates
Usage:
uipathctl config tls-certificates [flags]
uipathctl config tls-certificates [command]
Available Commands:
get Get the current tls certificates
update Update tls certificates
Flags:
-h, --help help for tls-certificates
Global Flags:
--context string name of the kubeconfig context to use
-f, --force override all user prompts to true
--kubeconfig string kubectl configuration file (default: ~/.kube/config)
--log-format string log format. one of [text,json] (default "text")
--log-level string set log level. one of [trace,debug,info,error] (default "info")
-q, --quiet disable progress indicators (emoji/formatted status messages)
--timeout duration timeout of the command (default: 90 minutes) (default 1h30m0s)
--versions string optional path to versions file
Use "uipathctl config tls-certificates [command] --help" for more information about a command.
************************************************************************************
As seguintes seções descrevem as operações que você pode realizar usando o comando uipathctl config tls-certificates .
Atualização do certificado do servidor
Instalação online: como encontrar o certificado do servidor
Os certificados são armazenados como um segredo ao nível do Istio. Você pode encontrar certificados sob o nome istio-ingressgateway-certs no namespace istio-system.
Consulte os arquivos de certificado na lista a seguir:
- O certificado do servidor TLS é armazenado como
tls.crt - A chave privada TLS do servidor como
tls.key - O pacote do CA é armazenado como
ca.crt
Você pode verificar os segredos usando o seguinte comando:
kubectl -n istio-system get secrets istio-ingressgateway-certs -o yaml
kubectl -n istio-system get secrets istio-ingressgateway-certs -o yaml
Os certificados também são armazenados no namespace da UiPath. Isso é aplicável a todos os produtos UiPath® que precisam de informações de certificado para confiar nas solicitações recebidas. Para detalhes, consulte Entendendo a arquitetura do contêiner relacionada a certificados.
Instalação offline: como encontrar o certificado do servidor
Além dos certificados exigidos pela implantação online, uma implantação offline tem dois locais adicionais que usam o mesmo rootCA.crt e tls.crt: ArgoCD e Docker Registry. Os certificados são armazenados nos namespaces do Docker e do ArgoCD.
Você pode verificar os segredos usando o seguinte comando:
# For docker registry
kubectl -n docker-registry get secrets docker-registry-tls -o yaml
# For Argocd
argocd login alm.cluster_fqnd --username argocd_username --password argocd_password
argocd cert list --cert-type https
# For docker registry
kubectl -n docker-registry get secrets docker-registry-tls -o yaml
# For Argocd
argocd login alm.cluster_fqnd --username argocd_username --password argocd_password
argocd cert list --cert-type https
Como atualizar os certificados do servidor
Você deve descriptografar a chave de certificado antes de atualizar o certificado do servidor. Ignorar a etapa de descriptografia resulta em um erro.
Para descriptografar a chave de certificado, execute o seguinte comando:
# replace /path/to/encrypted/cert/key to absolute file path of key
# replace /path/to/decrypt/cert/key to store decrypt key
# Once prompted, please entry the passphrase or password to decrypt the key
openssl rsa -in /path/to/encrypted/cert/key -out /path/to/decrypt/cert/key
# replace /path/to/encrypted/cert/key to absolute file path of key
# replace /path/to/decrypt/cert/key to store decrypt key
# Once prompted, please entry the passphrase or password to decrypt the key
openssl rsa -in /path/to/encrypted/cert/key -out /path/to/decrypt/cert/key
Como a cadeia de certificados é montado
Quando você executa o comando uipathctl config tls-certificates update , uipathctl monta a cadeia de certificados completa a partir de dois arquivos de entrada separados:
server.crta cadeia completa de certificados do servidor público no formato PEM: o certificado do servidor de folha, seguido pelo(s) certificado(s) de CA intermediários e a CA raiz que formam o caminho de assinatura para esse certificado de folha. Inclua apenas certificados que fazem parte da cadeia de assinatura real do certificado de folha — não inclua certificados de CA irmãos, não relacionados, duplicados ou alternativos.ca.crta cadeia de CA completa, incluindo todos os certificados intermediários e a CA raiz. O arquivo deve conter apenas os certificados usados para assinar o certificado do servidor TLS. Incluir qualquer outra coisa levará à falha.
uipathctl esses arquivos no runtime.
Para atualizar o certificado, forneça o caminho para cada um dos três arquivos de certificado. Todos os arquivos de certificado devem estar em formato PEM .
- Pacote de autoridades de certificados - A cadeia de CA completa usada para assinar o certificado do servidor TLS. Inclua todos os certificados intermediários e a CA raiz. Não inclua o certificado leaf ou quaisquer outros certificados não usados para assinar o certificado do servidor TLS, pois incluir qualquer outra coisa levará a uma falha. O limite de cadeia é de até nove certificados.
- Certificado do servidor - A cadeia completa de certificados do servidor público no formato PEM, começando com o certificado leaf do servidor, seguida pelo(s) certificado(s) de CA intermediário e CA raiz. Inclui apenas os certificados que formam a cadeia de assinatura real do certificado de folha.
- Chave privada - Chave privada para o certificado do servidor.
./bin/uipathctl config tls-certificates update --cert server.crt --cacert ca.crt --key server.key
./bin/uipathctl config tls-certificates update --cert server.crt --cacert ca.crt --key server.key
Para solucionar erros de validação de certificado TLS, consulte Erros de validação de certificado TLS.
Os arquivos a seguir são armazenados no local /directory/path/to/store/certificate .
Acessando o certificado TLS
Para imprimir os arquivos de certificado, execute o seguinte comando, especificando o diretório em que os certificados são armazenados.
./bin/uipathctl config tls-certificates get --show-details
./bin/uipathctl config tls-certificates get --show-details
Adding the CA certificate to the host trust store
Você é o responsável por garantir que os certificados gerados sejam confiáveis.
Essa etapa é necessária quando seu ambiente usa uma CA privada ou um certificado autoassinado que não é globalmente confiável. Se a CA privada já não estiver presente no armazenamento de confiança do host Linux, as chamadas originadas dos nós do host falharão com erros de SSL. Se seu CA já for confiável pelo host, você poderá pular essa etapa.
Para adicionar o certificado ao armazenamento de confiança da VM do host, execute os seguintes comandos em todos os nós no cluster:
# 1. Copy the certificate file to the /usr/share/pki/ca-trust-source/anchors/ or the /etc/pki/ca-trust/source/anchors/ directory
cp /path/to/the/ca-cert /usr/share/pki/ca-trust-source/anchors/
# 2. Update the trust store configuration
update-ca-trust
# 1. Copy the certificate file to the /usr/share/pki/ca-trust-source/anchors/ or the /etc/pki/ca-trust/source/anchors/ directory
cp /path/to/the/ca-cert /usr/share/pki/ca-trust-source/anchors/
# 2. Update the trust store configuration
update-ca-trust
Gerenciamento de certificados de CA adicionais
Para exibir mais informações sobre certificados de CA adicionais, execute o seguinte comando:
./bin/uipathctl config additional-ca-certificates --help
./bin/uipathctl config additional-ca-certificates --help
Saída:
***************************************************************************************
Manage additional ca certificates
Usage:
uipathctl config additional-ca-certificates [flags]
uipathctl config additional-ca-certificates [command]
Available Commands:
get Get the current additional ca certificates
update Update additional ca certificates
Flags:
-h, --help help for additional-ca-certificates
Global Flags:
--context string name of the kubeconfig context to use
-f, --force override all user prompts to true
--kubeconfig string kubectl configuration file (default: ~/.kube/config)
--log-format string log format. one of [text,json] (default "text")
--log-level string set log level. one of [trace,debug,info,error] (default "info")
-q, --quiet suppress all output except for errors and warnings
--timeout duration timeout of the command (default: 90 minutes) (default 1h30m0s)
--versions string optional path to versions file
Use "uipathctl config additional-ca-certificates [command] --help" for more information about a command.
***************************************************************************************
***************************************************************************************
Manage additional ca certificates
Usage:
uipathctl config additional-ca-certificates [flags]
uipathctl config additional-ca-certificates [command]
Available Commands:
get Get the current additional ca certificates
update Update additional ca certificates
Flags:
-h, --help help for additional-ca-certificates
Global Flags:
--context string name of the kubeconfig context to use
-f, --force override all user prompts to true
--kubeconfig string kubectl configuration file (default: ~/.kube/config)
--log-format string log format. one of [text,json] (default "text")
--log-level string set log level. one of [trace,debug,info,error] (default "info")
-q, --quiet suppress all output except for errors and warnings
--timeout duration timeout of the command (default: 90 minutes) (default 1h30m0s)
--versions string optional path to versions file
Use "uipathctl config additional-ca-certificates [command] --help" for more information about a command.
***************************************************************************************
As seguintes seções descrevem as operações que você pode realizar usando o comando uipathctl config additional-ca-certificates .
Atualização dos certificados de CA
Use esse comando quando seu ambiente depender de uma CA privada ou certificado autoassinado. Adicionar o certificado da CA permite que os serviços do Automation Suite se comuniquem de forma segura com componentes externos que usam certificados assinados por essa CA, como o SQL Server, objectstore ou servidores SMTP.
Para atualizar os certificados de CA, siga as seguintes etapas:
-
Atualize o arquivo
cluster_config.jsonpara apontar para o arquivo comadditional_ca_certs. Para obter detalhes, consulte Configuração do certificado. -
Aplique o manifesto:
./bin/uipathctl manifest apply cluster_config.json --versions versions.json./bin/uipathctl manifest apply cluster_config.json --versions versions.jsonEste comando pode falhar com erros como:
Error: [failed to wait for application argocd/<app-name1>: timed out waiting for the condition, failed to wait for application argocd/<app-name2>: timed out waiting for the condition]]Error: [failed to wait for application argocd/<app-name1>: timed out waiting for the condition, failed to wait for application argocd/<app-name2>: timed out waiting for the condition]]Independentemente da falha, prossiga para a etapa 3 para reiniciar as implantações e estabilizar o ambiente.
-
Reinicie manualmente todas as implantações e conjuntos com estado no namespace
uipath:kubectl rollout restart deployment -n <uipath> kubectl rollout restart sts -n <uipath>kubectl rollout restart deployment -n <uipath> kubectl rollout restart sts -n <uipath>
Para anexar os certificados antigos, você deve usar o comando get da seção Acesso aos certificados de CA e anexá-los no arquivo do certificado de CA .pem que você deve fornecer no campo additional_ca_certs . O arquivo de pacote do Certificado de CA deve ter um formato .pem válido e pode ter mais de um certificado presente nele.
Acessando os certificados de CA
Para baixar os certificados de CA já configurados, execute o seguinte comando:
./bin/uipathctl config additional-ca-certificates get
./bin/uipathctl config additional-ca-certificates get
Adding the CA certificate to the host trust store
Você é o responsável por garantir que os certificados gerados sejam confiáveis.
Essa etapa é necessária quando seu ambiente usa uma CA privada ou um certificado autoassinado que não é globalmente confiável. Se a CA privada já não estiver presente no armazenamento de confiança do host Linux, as chamadas originadas dos nós do host falharão com erros de SSL. Se seu CA já for confiável pelo host, você poderá pular essa etapa.
Para adicionar o certificado ao armazenamento de confiança da VM do host, execute os seguintes comandos em todos os nós no cluster:
# 1. Copy the certificate file to the /usr/share/pki/ca-trust-source/anchors/ or the /etc/pki/ca-trust/source/anchors/ directory
cp /path/to/the/ca-cert /usr/share/pki/ca-trust-source/anchors/
# 2. Update the trust store configuration
update-ca-trust
# 1. Copy the certificate file to the /usr/share/pki/ca-trust-source/anchors/ or the /etc/pki/ca-trust/source/anchors/ directory
cp /path/to/the/ca-cert /usr/share/pki/ca-trust-source/anchors/
# 2. Update the trust store configuration
update-ca-trust
Para ambientes Windows, consulte este guia para instalar certificados raiz confiáveis.
Gerenciando certificados de assinatura de token de identidade
O Automation Suite oferece dois métodos para gerenciar a rotação de certificados de assinatura de token de identidade: automático e manual.
Para visualizar mais informações sobre certificados de assinatura de token de identidade, execute o seguinte comando:
./bin/uipathctl config token-signing-certificates --help
./bin/uipathctl config token-signing-certificates --help
Saída:
************************************************************************************
Manage token signing certificates
Usage:
uipathctl config token-signing-certificates [flags]
uipathctl config token-signing-certificates [command]
Available Commands:
automatic-key-management Manage key management
get Get the current token signing certificate
rotate Rotate token signing certificates
update Update future token signing certificate
Flags:
-h, --help help for token-signing-certificates
Global Flags:
--context string name of the kubeconfig context to use
-f, --force override all user prompts to true
--kubeconfig string kubectl configuration file (default: ~/.kube/config)
--log-format string log format. one of [text,json] (default "text")
--log-level string set log level. one of [trace,debug,info,error] (default "info")
-q, --quiet suppress all output except for errors and warnings
--timeout duration timeout of the command (default: 90 minutes) (default 1h30m0s)
--versions string optional path to versions file
Use "uipathctl config token-signing-certificates [command] --help" for more information about a command.
************************************************************************************
************************************************************************************
Manage token signing certificates
Usage:
uipathctl config token-signing-certificates [flags]
uipathctl config token-signing-certificates [command]
Available Commands:
automatic-key-management Manage key management
get Get the current token signing certificate
rotate Rotate token signing certificates
update Update future token signing certificate
Flags:
-h, --help help for token-signing-certificates
Global Flags:
--context string name of the kubeconfig context to use
-f, --force override all user prompts to true
--kubeconfig string kubectl configuration file (default: ~/.kube/config)
--log-format string log format. one of [text,json] (default "text")
--log-level string set log level. one of [trace,debug,info,error] (default "info")
-q, --quiet suppress all output except for errors and warnings
--timeout duration timeout of the command (default: 90 minutes) (default 1h30m0s)
--versions string optional path to versions file
Use "uipathctl config token-signing-certificates [command] --help" for more information about a command.
************************************************************************************
Você pode usar um comprimento máximo de chave de 4096 bits para assinar certificados. Recomendamos enfaticamente que você use um comprimento de chave de pelo menos 512 bits (64 bytes) como uma prática recomendada.
A seção a seguir fornece detalhes sobre as operações que você pode realizar usando o comando uipathctl config token-signing-certificates .
Rotação automática de certificado
Rotação automática de certificados significa que o Automation Suite gerencia o ciclo de vida das chaves de assinatura. Isso inclui chaves rotativas a cada 90 dias, anunciando novas chaves 14 dias antes da rotação, mantendo as chaves antigas por 14 dias após a rotação e, depois, excluí-las quando o período de 14 dias terminar.
Se você estiver atualizando de uma versão mais antiga para 2.2510, a rotação automática de certificados será desabilitada por padrão. Para habilitar o gerenciamento automático de chaves, execute o seguinte comando:
./bin/uipathctl config token-signing-certificates automatic-key-management enable
./bin/uipathctl config token-signing-certificates automatic-key-management enable
Habilitar a rotação automática de certificados pode resultar em um tempo de inatividade de até uma hora.
A rotação automática de certificados é habilitada por padrão para instalações limpas do Automation Suite. Para desabilitar o gerenciamento automático de chaves, execute o seguinte comando:
./bin/uipathctl config token-signing-certificates automatic-key-management disable
./bin/uipathctl config token-signing-certificates automatic-key-management disable
Se a funcionalidade de gerenciamento automático estiver desabilitada, os certificados de assinatura precisarão ser atualizados e girados manualmente. Para obter detalhes sobre o gerenciamento manual de chaves, consulte a documentação sobre atualização manual e rotação de certificado.
Atualização manual do certificado
O comando a seguir não substitui o certificado de assinatura de token existente.
Certifique-se de que o certificado fornecido esteja no formato .pem . O arquivo server.crt deve conter toda a cadeia, conforme mostrado no exemplo a seguir:
-----server cert-----
-----root ca chain-----
-----server cert-----
-----root ca chain-----
Para fazer upload do novo certificado para assinar o token, execute o seguinte comando:
./bin/uipathctl config token-signing-certificates update --cert server.crt --key server.key
./bin/uipathctl config token-signing-certificates update --cert server.crt --key server.key
Rotação manual do certificado
Para rotacionar ou substituir o certificado antigo pelo novo, execute o seguinte comando:
./bin/uipathctl config token-signing-certificates rotate
./bin/uipathctl config token-signing-certificates rotate
Deve haver um prazo de entrega de cerca de 24 a 48 horas entre a atualização e a rotação do certificado.
Precisamos desse prazo de entrega para continuar dando suporte à autenticação do token em cache assinado pelo certificado antigo.
Se você rotar o certificado muito antes da expiração do token de cache, poderá resultar em tempo de inatividade. E você pode ter que reiniciar todos os seus robôs.
Rotação emergencial de certificado
O procedimento a seguir é apenas para emergências. Você deve rotacionar os certificados antes de suas datas de expiração
Para realizar uma atualização emergencial de certificado, execute as seguintes etapas:
-
Obtenha um novo certificado ou crie um autoassinado e copie-o para o nó do servidor de cluster usado para executar as próximas etapas de rotação. Para criar um novo certificado autoassinado, execute o comando a seguir:
openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout identityserver.key -out identityserver.crt openssl pkcs12 -export -out identityserver.pfx -inkey identityserver.key -in identityserver.crtopenssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout identityserver.key -out identityserver.crt openssl pkcs12 -export -out identityserver.pfx -inkey identityserver.key -in identityserver.crt -
Se
IdentityServer1.pfxestiver expirado, rotacione e atualize o certificado. Para instruções, consulte Rotacionando o certificado. -
Se
IdentityServer2.pfxexpirou, atualize o certificado. -
Se ambos os certificados expiraram, atualize, rotacione e atualize novamente.
-
Reinicie todas as implantações. Para obter instruções, consulte Solução de problemas.
-
Limpe todos os caches do navegador. Se você executar no modo de navegação anônima ou privada, poderá pular esta etapa.
-
No Firefox, pressione CTRL+SHIFT+DEL, selecione Cache e selecione OK.
-
No Chrome, pressione CTRL+SHIFT+DEL, selecione Imagens e arquivos em cache e selecione Limpar dados.
Acessando o certificado
Execute o seguinte comando para baixar o certificado de assinatura de token atual:
./bin/uipathctl config token-signing-certificates get --show-details
./bin/uipathctl config token-signing-certificates get --show-details
Gerenciamento de certificados do RKE2
Por padrão, os certificados do RKE2 expiram em 12 meses. Nos 90 dias antes da data de expiração, os certificados são girados quando você reinicializa o RKE2.
Para obter detalhes, consulte RKE2 - Opções avançadas - Rotação do certificado.
Verificação da data de expiração do certificado do RKE2
Para verificar a data de expiração do certificado do RKE2, execute o seguinte comando em qualquer um dos nós:
if [[ -d "/var/lib/rancher/rke2/server/tls" ]]; then
dir="/var/lib/rancher/rke2/server/tls"
elif [[ -d "/var/lib/rancher/rke2/agent/tls" ]]; then
dir="/var/lib/rancher/rke2/agent/tls"
else
dir="/var/lib/rancher/rke2/agent/"
fi
# Loop through each .crt file in the directory
for file in "$dir"/*.crt; do
# Extract the expiry date from the certificate
expiry=$(openssl x509 -enddate -noout -in "$file" | cut -d= -f 2-)
# Get the file name without the path
filename=$(basename "$file")
# Print the filename and expiry date in a pretty format
printf "%-30s %s\n" "$filename:" "$expiry"
done
if [[ -d "/var/lib/rancher/rke2/server/tls" ]]; then
dir="/var/lib/rancher/rke2/server/tls"
elif [[ -d "/var/lib/rancher/rke2/agent/tls" ]]; then
dir="/var/lib/rancher/rke2/agent/tls"
else
dir="/var/lib/rancher/rke2/agent/"
fi
# Loop through each .crt file in the directory
for file in "$dir"/*.crt; do
# Extract the expiry date from the certificate
expiry=$(openssl x509 -enddate -noout -in "$file" | cut -d= -f 2-)
# Get the file name without the path
filename=$(basename "$file")
# Print the filename and expiry date in a pretty format
printf "%-30s %s\n" "$filename:" "$expiry"
done
A saída que você obtém deve ser semelhante à mostrada na imagem a seguir:
Rotação do certificado RKE2
Por padrão, os certificados do RKE2 expiram em 12 meses. Nos 90 dias antes da data de expiração, os certificados são girados quando você reinicializa o RKE2. No entanto, se a validade dos certificados exceder o período de 90 dias, você deve rotacionar manualmente os certificados seguindo as etapas mencionadas no RKE2 - Opções avançadas - Rotação de certificados.
Se você quiser personalizar o período de expiração dos certificados do RKE2 para atender a requisitos específicos, poderá fazê-lo antes de reiniciar os serviços do RKE2 para nós de servidor e de agente.
Para girar os certificados do RKE2, você deve primeiro executar uma série de ações nos nós do servidor e, em seguida, prosseguir com algumas etapas nos nós do agente.
Execute as seguintes etapas nos nós do servidor:
-
Pare o servidor RKE2:
systemctl stop rke2-server.servicesystemctl stop rke2-server.service -
Limpe quaisquer processos do RKE2 restantes:
rke2-killall.shrke2-killall.sh -
Exclua o arquivo
dynamic-cert.jsonlocalizado em/var/lib/rancher/rke2/server/tls/. -
Para personalizar o período de expiração dos certificados do RKE2, use o seguinte comando. Esteja ciente de que esse exemplo define o período de validade para 1000 dias, mas você pode alterar esse valor com base em seus requisitos.
SERVICE_NAME="rke2-server.service" conf_file_path="/etc/systemd/system/${SERVICE_NAME}.d/cert.conf" mkdir -p /etc/systemd/system/"${SERVICE_NAME}".d/ cat > "$conf_file_path" <<EOF [Service] Environment="CATTLE_NEW_SIGNED_CERT_EXPIRATION_DAYS=1000" EOF systemctl daemon-reloadSERVICE_NAME="rke2-server.service" conf_file_path="/etc/systemd/system/${SERVICE_NAME}.d/cert.conf" mkdir -p /etc/systemd/system/"${SERVICE_NAME}".d/ cat > "$conf_file_path" <<EOF [Service] Environment="CATTLE_NEW_SIGNED_CERT_EXPIRATION_DAYS=1000" EOF systemctl daemon-reload -
Reinicie o servidor RKE2:
systemctl start rke2-server.servicesystemctl start rke2-server.serviceObservação:Se o cluster tiver mais de um nó do servidor, as etapas 1-4 podem não ser executadas totalmente, pois etcd pode não ser capaz de concluir a eleição do líder. Se isso acontecer, repita as etapas 1-4 em outros nós do servidor.
-
Exclua o segredo
rke2-servingdo namespacekube-system:kubectl delete secret -n kube-system rke2-servingkubectl delete secret -n kube-system rke2-servingObservação:Em uma implantação de vários nós, você pode não ser capaz de executar os comandos
kubectlantes de concluir as quatro primeiras operações no número necessário de nós do servidor. Isso é para atender ao requisito do quorum etcd. Você pode remover o segredorke2-servingimediatamente após o início do servidor RKE2.
Depois que o etcd atingir o quorum, o servidor RKE2 pode iniciar o resto dos pods do plano de controle. Você deve então ver a execução bem-sucedida do comando kubectl get nodes. Quando os nós do seu servidor estiverem prontos, você pode prosseguir para os nós do agente para regenerar os certificados.
Execute as seguintes etapas nos nós do agente:
-
Pare o servidor RKE2:
systemctl stop rke2-agent.servicesystemctl stop rke2-agent.service -
Limpe quaisquer processos do RKE2 restantes:
rke2-killall.shrke2-killall.sh -
Para personalizar o período de expiração dos certificados do RKE2, use o seguinte comando. Esteja ciente de que esse exemplo define o período de validade para 1000 dias, mas você pode alterar esse valor com base em seus requisitos.
SERVICE_NAME="rke2-agent.service" conf_file_path="/etc/systemd/system/${SERVICE_NAME}.d/cert.conf" mkdir -p /etc/systemd/system/"${SERVICE_NAME}".d/ cat > "$conf_file_path" <<EOF [Service] Environment="CATTLE_NEW_SIGNED_CERT_EXPIRATION_DAYS=1000" EOF systemctl daemon-reloadSERVICE_NAME="rke2-agent.service" conf_file_path="/etc/systemd/system/${SERVICE_NAME}.d/cert.conf" mkdir -p /etc/systemd/system/"${SERVICE_NAME}".d/ cat > "$conf_file_path" <<EOF [Service] Environment="CATTLE_NEW_SIGNED_CERT_EXPIRATION_DAYS=1000" EOF systemctl daemon-reload -
Reinicie o servidor RKE2:
systemctl start rke2-agent.servicesystemctl start rke2-agent.service
Gerenciamento do certificado de registro externo compatível com OCI
Para atualizar o certificado para o registro externo compatível com OCI após a instalação, adote as seguintes etapas:
-
Atualize o sinalizador
registry_ca_certno arquivocluster_config.json. Para obter detalhes, consulte Configuração do registro externo compatível com OCI. -
Atualize a CA raiz usada pelo registro externo compatível com OCI executando o seguinte comando em todos os nós:
./bin/uipathctl rke2 generate-registries cluster_config.json --current-config-path /etc/rancher/rke2/registries.yaml > /etc/rancher/rke2/registries.yaml.tmp mv -f /etc/rancher/rke2/registries.yaml.tmp /etc/rancher/rke2/registries.yaml systemctl restart rke2-server || systemctl restart rke2-agent./bin/uipathctl rke2 generate-registries cluster_config.json --current-config-path /etc/rancher/rke2/registries.yaml > /etc/rancher/rke2/registries.yaml.tmp mv -f /etc/rancher/rke2/registries.yaml.tmp /etc/rancher/rke2/registries.yaml systemctl restart rke2-server || systemctl restart rke2-agent -
Atualize o certificado de CA confiável do ArgoCD para o registro externo compatível com OCI:
./bin/uipathctl config argocd ca-certificates update --cacert [PATH]./bin/uipathctl config argocd ca-certificates update --cacert [PATH]
- Generating a Certificate Signing Request (CSR) and a private key
- Gerenciamento de certificados do servidor
- Atualização do certificado do servidor
- Como atualizar os certificados do servidor
- Como a cadeia de certificados é montado
- Acessando o certificado TLS
- Adding the CA certificate to the host trust store
- Gerenciamento de certificados de CA adicionais
- Atualização dos certificados de CA
- Acessando os certificados de CA
- Adding the CA certificate to the host trust store
- Gerenciando certificados de assinatura de token de identidade
- Rotação automática de certificado
- Atualização manual do certificado
- Rotação manual do certificado
- Rotação emergencial de certificado
- Acessando o certificado
- Gerenciamento de certificados do RKE2
- Verificação da data de expiração do certificado do RKE2
- Rotação do certificado RKE2
- Gerenciamento do certificado de registro externo compatível com OCI