automation-suite
2024.10
true
UiPath logo, featuring letters U and I in white

Guia de instalação do Automation Suite no OpenShift

Última atualização 18 de dez de 2024

Gerenciamento dos certificados

Importante:

O processo de instalação gera certificados autoassinados em seu nome. Você deve substituí-los por certificados assinados por uma Autoridade de Certificação (CA) confiável assim que a instalação for concluída.

Você pode usar a ferramenta de CLI uipathctl para atualizar certificados após a instalação. Para obter detalhes, consulte a documentação do uipathctl.

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
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
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 do certificado TLS

Para exibir mais informações sobre a atualização dos certificados TLS, execute o seguinte comando:

uipathctl config update-tls-certificates --helpuipathctl config update-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
      --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 "error")
  -q, --quiet               suppress all output except for errors and warnings
      --timeout duration    timeout of the command (default 1h0m0s)

************************************************************************************************************************************************************************
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
      --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 "error")
  -q, --quiet               suppress all output except for errors and warnings
      --timeout duration    timeout of the command (default 1h0m0s)

************************************************************************************

Encontrando os certificados TLS

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:

oc -n <istio-system> get secrets istio-ingressgateway-certs -o yamloc -n <istio-system> get secrets istio-ingressgateway-certs -o yaml
Os certificados também são armazenados no namespace. <uipath> Isso é aplicável a todos os produtos UiPath® que precisam de informações de certificado para confiar nas solicitações recebidas. Para obter detalhes, consulte Sobre a arquitetura de contêiner relacionada a certificados.

Atualização dos certificados TLS

Importante:

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
Para atualizar o certificado, execute o seguinte comando uipathctl . Você precisa do caminho para cada um dos três arquivos de certificado. Todo o arquivo de certificado deve estar no formato pem .
  • Pacote de autoridades de certificados - Esse pacote deve conter apenas os certificados de cadeia usados para assinar o certificado do servidor TLS. O certificado fornecido na opção --cacert não deve incluir os certificados de folha. O limite de cadeia é de até nove certificados.
  • Certificado do Servidor - Certificado de servidor público

    Observação: O arquivo server.crt deve conter a cadeia inteira, conforme mostrado no exemplo a seguir:
    -----server cert-----
    -----root ca chain----------server cert-----
    -----root ca chain-----
  • Chave privada - Chave privada para o certificado de servidor

uipathctl config tls-certificates update --cert server.crt --cacert ca.crt --key server.keyuipathctl config tls-certificates update --cert server.crt --cacert ca.crt --key server.key 
Se você optar por gerenciar os certificados por conta própria, você deverá usar o sinalizador --use-istio-cert com o comando de atualização de certificados. Esse sinalizador permite que os segredos existentes sejam copiados para o namespace. <uipath> Esteja ciente de que, ao usar o sinalizador --use-istio-cert , você não deve usar quaisquer outros sinalizadores de certificado, caso contrário, o comando falhará. Se você usar outro namespace em vez do <uipath>, você deve especificá-lo passando para o sinalizador --namespace .

Acessando o certificado TLS

Para imprimir os arquivos de certificado, execute o seguinte comando:

uipathctl config tls-certificates getuipathctl config tls-certificates get

Gerenciamento de certificados de CA adicionais

Importante:

Se você quiser que o cluster confie em software externo, pode ser necessário fornecer certificados CA confiáveis adicionais. Exemplos são o certificado de CA do SQL Server, o certificado de CA do servidor SMTP e o certificado de CA de objectstore externo compatível com S3.

Você deve fornecer certificados de CA para qualquer software externo que exija comunicação TLS segura durante a instalação. No entanto, se você não tiver habilitado a comunicação TLS, poderá configurá-la após a instalação.

Para exibir mais informações sobre certificados de CA adicionais, execute o seguinte comando:

uipathctl config additional-ca-certificates --help 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
      --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 "error")
  -q, --quiet               suppress all output except for errors and warnings
      --timeout duration    timeout of the command (default 1h0m0s)

******************************************************************************************************************************************************************************

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
      --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 "error")
  -q, --quiet               suppress all output except for errors and warnings
      --timeout duration    timeout of the command (default 1h0m0s)

***************************************************************************************
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

Este comando ajuda você a atualizar ou substituir os certificados de CA configurados existentes.

uipathctl config additional-ca-certificates update --cacert additional_ca.crtuipathctl config additional-ca-certificates update --cacert additional_ca.crt
Observação:
O comando acima adiciona um novo certificado à lista de certificados existentes. Se você quiser substituir todos os certificados configurados anteriormente, certifique-se de anexar --replace na etapa final.
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:

uipathctl config additional-ca-certificates get uipathctl config additional-ca-certificates get

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:

uipathctl config token-signing-certificates --help 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:
  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
      --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 "error")
  -q, --quiet               suppress all output except for errors and warnings
      --timeout duration    timeout of the command (default 1h0m0s)

************************************************************************************************************************************************************************

Manage token signing certificates

Usage:
  uipathctl config token-signing-certificates [flags]
  uipathctl config token-signing-certificates [command]

Available Commands:
  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
      --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 "error")
  -q, --quiet               suppress all output except for errors and warnings
      --timeout duration    timeout of the command (default 1h0m0s)

************************************************************************************
Importante:

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 a 2024.10, a rotação automática de certificado está desabilitada por padrão. Para habilitar o gerenciamento automático de chaves, use o seguinte comando:

uipathctl config token-signing-certificates automatic-key-management enableuipathctl config token-signing-certificates automatic-key-management enable
Importante:

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, use o seguinte comando:

uipathctl config token-signing-certificates automatic-key-management disableuipathctl 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 rotacionados manualmente. Para obter detalhes sobre o gerenciamento manual de chaves, consulte a documentação sobre atualização manual e rotação do certificado.

Atualização manual do certificado

Para fazer upload do novo certificado para assinar o token, execute o seguinte comando:

Observação:

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-----
uipathctl config token-signing-certificates update --cert server.crt --key server.keyuipathctl 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:

uipathctl config token-signing-certificates rotateuipathctl config token-signing-certificates rotate

Acessando o certificado

Para baixar o certificado de assinatura de token atual, execute o comando a seguir:

uipathctl config token-signing-certificates getuipathctl config token-signing-certificates get
Observação:

Deve haver um prazo de entrega de aproximadamente 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.

Girar o certificado muito antes da expiração do token de cache pode resultar em tempo de inatividade. Nesse caso, talvez seja necessário reiniciar todos os robôs.

Esta página foi útil?

Obtenha a ajuda que você precisa
Aprendendo RPA - Cursos de automação
Fórum da comunidade da Uipath
Uipath Logo White
Confiança e segurança
© 2005-2024 UiPath. Todos os direitos reservados.