UiPath Documentation
automation-suite
2023.10
false
Guía de instalación de Automation Suite en EKS/AKS
Importante :
La localización de contenidos recién publicados puede tardar entre una y dos semanas en estar disponible.

Gestionar los certificados

Descripción general de la gestión de certificados para Automation Suite en EKS/AKS, incluida la sustitución de certificados autofirmados después de la instalación.

Importante:

El proceso de instalación genera certificados autofirmados en su nombre. Debes reemplazarlos por certificados firmados por una entidad de certificación (CA) de confianza tan pronto como se complete la instalación.

Puedes utilizar la herramienta CLI uipathctl para actualizar los certificados después de la instalación. Para obtener más información, consulta la documentación de uipathctl.

Generating a Certificate Signing Request (CSR) and a private key​

Para generar el CSR y la clave privada, ejecuta el siguiente 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

Su equipo de TI utiliza los valores obtenidos para generar un certificado firmado. La clave privada generada sigue siendo local.

Gestionar el certificado TLS​

Para ver más información sobre la actualización de los certificados TLS, ejecuta el siguiente comando:

uipathctl config update-tls-certificates --help
uipathctl config update-tls-certificates --help

Salida:

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

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

Encontrar los certificados TLS​

Los certificados se almacenan como secreto a nivel de Istio. Puedes encontrar certificados con el nombre istio-ingressgateway-certs en el espacio de nombres istio-system .

Consulta los archivos de certificado en la siguiente lista:

  • El certificado TLS del servidor se almacena como tls.crt
  • La clave privada TLS del servidor como tls.key
  • El paquete de CA se almacena como ca.crt

Puedes verificar los secretos utilizando el siguiente comando :

kubectl -n istio-system get secrets istio-ingressgateway-certs -o yaml
kubectl -n istio-system get secrets istio-ingressgateway-certs -o yaml

Los certificados también se almacenan en el espacio de nombres de UiPath. Esto es aplicable a todos los productos de UiPath® que necesitan información de certificado para confiar en las llamadas entrantes. Para obtener más información, consulta Comprender la arquitectura de contenedores relacionada con los certificados.

Actualizar los certificados TLS​

Importante:

Debes descifrar la clave del certificado antes de actualizar el certificado del servidor. Omitir el paso del descifrado generará un error

Para descifrar la clave del certificado, ejecuta el siguiente 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 actualizar el certificado, ejecuta el siguiente comando uipathctl . Necesitas la ruta a cada uno de los tres archivos de certificado. Todo el archivo del certificado debe estar en formato pem .

  • Paquete de autoridad de certificado: este paquete debe contener solo los certificados de cadena utilizados para firmar el certificado del servidor TLS. El certificado proporcionado en la opción --cacert no debe incluir los certificados de hoja. El límite de la cadena es de hasta nueve certificados.
  • Certificado del servidor: certificado del servidor público
  • Clave privada: clave privada para el certificado del servidor
uipathctl config tls-certificates update --cert server.crt --cacert ca.crt --key server.key
uipathctl config tls-certificates update --cert server.crt --cacert ca.crt --key server.key

Acceder al certificado TLS​

Para imprimir los archivos del certificado, ejecute el siguiente comando:

uipathctl config tls-certificates get
uipathctl config tls-certificates get

Gestionar certificados de AC adicionales​

Para ver más información sobre certificados de CA adicionales, ejecuta el siguiente comando:

uipathctl config additional-ca-certificates --help
uipathctl config additional-ca-certificates --help

Salida:

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

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)

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

Actualizar los certificados de AC​

Este comando le ayuda a actualizar o sustituir los certificados de AC configurados existentes.

uipathctl config additional-ca-certificates update --cacert additional_ca.crt
uipathctl config additional-ca-certificates update --cacert additional_ca.crt
Nota:

El comando anterior añade un certificado nuevo a la lista de certificados existentes. Si desea sustituir todos los certificados configurados previamente, añada --replace al final.

El archivo del paquete de certificados de AC debe tener un formato .pem válido y puede constar de más de un certificado.

Acceder a los certificados de AC​

Para descargar los certificados de CA ya configurados, ejecuta el siguiente comando:

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

Gestionar certificados de firma de tokens de identidad​

Para ver más información sobre los certificados de firma de tokens de identidad, ejecuta el siguiente comando:

uipathctl config token-signing-certificates --help
uipathctl config token-signing-certificates --help

Salida:

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

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)

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

Actualizar el certificado​

Para cargar el nuevo certificado para firmar el token, ejecuta el siguiente comando:

Nota:

El siguiente comando no reemplaza el certificado de firma de token existente.

Asegúrese de que el certificado que proporciona esté en formato .pem .

uipathctl config token-signing-certificates update --cert server.crt --key server.key
uipathctl config token-signing-certificates update --cert server.crt --key server.key

Rotar el certificado​

Para rotar o reemplazar el certificado antiguo por el nuevo, ejecuta el siguiente comando:

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

Después de la rotación, reinicia las implementaciones y los conjuntos con estado ejecutando los siguientes comandos:

kubectl -n uipath rollout restart deploy
kubectl -n uipath rollout restart sts
kubectl -n uipath rollout restart deploy
kubectl -n uipath rollout restart sts

Acceder al certificado​

Para descargar el certificado de firma de token actual, ejecuta el siguiente comando:

uipathctl config token-signing-certificates get
uipathctl config token-signing-certificates get
Nota:

Debe haber un tiempo de espera de aproximadamente 24-48 horas entre la actualización del certificado y la rotación.

Este tiempo de espera es necesario para poder seguir admitiendo la autenticación de tokens en caché firmados por un certificado antiguo.

Girar el certificado demasiado pronto antes de que caduque el token de caché puede provocar un tiempo de inactividad. En este caso, es posible que deba reiniciar todos sus robots.

Gestionar el certificado de registro externo compatible con OCI​

Para actualizar el certificado para el registro externo compatible con OCI, después de la instalación, sigue estos pasos:

  1. Actualiza el marcador registry_ca_cert en el archivo input.json . Para obtener más información, consulta Configuración de registro compatible con OCI externo.
  2. Actualiza el certificado de CA de confianza de ArgoCD para el registro externo compatible con OCI:
    uipathctl config argocd ca-certificates update --cacert [PATH]
    uipathctl config argocd ca-certificates update --cacert [PATH]
    
Nota:

Los registros firmados por una autoridad de certificación privada no funcionan como se espera simplemente proporcionando el archivo CA como registry_ca_cert para AKS y EKS. Debes seguir pasos adicionales, específicos del proveedor de la nube. Por ejemplo, consulta Autoridad de certificación personalizada (CA) en Azure Kubernetes Service (AKS) (vista previa) o Utilizar certificados privados para habilitar un repositorio de contenedores en Amazon EKS como algunas de las posibles soluciones.

¿Te ha resultado útil esta página?

Conectar

¿Necesita ayuda? Soporte

¿Quiere aprender? UiPath Academy

¿Tiene alguna pregunta? Foro de UiPath

Manténgase actualizado