UiPath Documentation
automation-suite
2.2510
true
Guía de instalación de Automation Suite en OpenShift
Importante :
Este contenido se ha localizado parcialmente a partir de un sistema de traducción automática. La localización de contenidos recién publicados puede tardar entre una y dos semanas en estar disponible.

Gestionar los certificados

Actualice y rote los certificados TLS y de identidad en Automation Suite en OpenShift.

Importante:

El proceso de instalación genera certificados autofirmados en tu nombre. Estos certificados caducarán en 90 días. Debes reemplazarlos por certificados firmados por una autoridad de certificación (AC) de confianza tan pronto como se complete la instalación. Si no actualiza los certificados, la instalación dejará de funcionar en 90 días.

You can use the uipathctl CLI tool to update certificates post-installation. For details, refer to uipathctl documentation.

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

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 :

oc -n <istio-system> get secrets istio-ingressgateway-certs -o yaml
oc -n <istio-system> get secrets istio-ingressgateway-certs -o yaml

Certificates are also stored in the <uipath> namespace. This is applicable to every UiPath® product that needs certificate information to trust incoming calls. For details, refer to Understanding the container architecture related to certificates.

Actualizar los certificados TLS​

Importante:

Before updating the server certificate, you must decrypt the private key that was generated in the Generating a Certificate Signing Request (CSR) and a private key section. Skipping this decryption step will result in an 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
Cómo se ensambla la cadena de certificados​

Al ejecutar el comando uipathctl config tls-certificates update , uipathctl reúne la cadena de certificados completa a partir de dos archivos de entrada independientes:

  • server.crt : la cadena de certificados de servidor público completa en formato PEM: el certificado de servidor hoja, seguido de los certificados de CA intermedios y la CA raíz que forman la ruta de firma para ese certificado de hoja. Incluye solo los certificados que forman parte de la cadena de firma real del certificado de hoja; no incluyas certificados de CA hermanos, no relacionados, duplicados o alternativos.
  • ca.crt : la cadena de CA completa, incluidos todos los certificados intermedios y la CA raíz. El archivo debe contener solo los certificados utilizados para firmar el certificado del servidor TLS. Incluir cualquier otra cosa provocará un error.

uipathctl fusiona estos archivos en runtime.

Para actualizar el certificado, proporciona la ruta a cada uno de los tres archivos de certificado. Todos los archivos de certificado deben estar en formato PEM .

  • Paquete de autoridad de certificación : la cadena de CA completa utilizada para firmar el certificado del servidor TLS. Incluye todos los certificados intermedios y la CA raíz. No incluyas el certificado de hoja ni ningún otro certificado que no se utilice para firmar el certificado del servidor TLS, ya que incluir cualquier otra cosa provocará un error. El límite de la cadena es de hasta nueve certificados.
  • Certificado de servidor : la cadena de certificados de servidor público completa en formato PEM, comenzando con el certificado de servidor hoja, seguido de los certificados de CA intermedios y la CA raíz. Incluye solo los certificados que forman la cadena de firma real del certificado de hoja.
  • 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

For troubleshooting TLS certificate validation errors, refer to TLS certificate validation errors.

Si decides gestionar los certificados tú mismo, debes utilizar el marcador --use-istio-cert con el comando de actualización de certificados. Este marcador permite que los secretos existentes se copien en el espacio de nombres uipath . Ten en cuenta que, al utilizar el marcador --use-istio-cert , no debes utilizar ningún otro marcador de certificado, de lo contrario el comando falla.

Si utilizas otro espacio de nombres en lugar de uipath, debes especificarlo pasándolo al marcador--namespace <uipath> , donde <uipath> representa el espacio de nombres donde se implementa Automation Suite.

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​

Importante:

Si quieres que el clúster confíe en el software externo, es posible que debas proporcionar certificados de CA de confianza adicionales. Algunos ejemplos son el certificado de CA de SQL Server, el certificado de CA de servidor SMTP y el certificado de CA de almacén de objetos compatible con S3 externo.

Debes proporcionar certificados de CA para cualquier software externo que requiera comunicación TLS segura durante la instalación. Sin embargo, si no has habilitado la comunicación TLS, puedes configurarla después de la instalación.

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

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

Las siguientes secciones describen las operaciones que puedes realizar utilizando el comando uipathctl config additional-ca-certificates .

Actualizar los certificados de AC​

Para actualizar los certificados de CA, sigue los siguientes pasos:

  1. Update the input.json file to point to the file with additional_ca_certs. For details, refer to Certificate configuration.
  2. Aplicar el manifiesto:
    uipathctl manifest apply input.json --versions versions.json
    uipathctl manifest apply input.json --versions versions.json
    
    Este comando puede fallar con errores 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]]
    
    Independientemente del fallo, continúa con el paso 3 para reiniciar las implementaciones y estabilizar el entorno.
  3. Reinicia manualmente todas las implementaciones y conjuntos con estado en el espacio de nombres 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>
    
Nota:

To append the old certificates, you must use the get command from the Accessing the CA certificates section and append them in the CA certificate .pem file that you must provide in the additional_ca_certs field.

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 --namespace <uipath>
uipathctl config additional-ca-certificates get --namespace <uipath>

Gestionar certificados de firma de tokens de identidad​

Automation Suite ofrece dos métodos para gestionar la rotación de certificados de firma de tokens de identidad: automático y manual.

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:
  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.

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

Puedes utilizar una longitud máxima de clave de 4096 bits para firmar certificados. Te recomendamos encarecidamente que utilices una longitud de clave de al menos 512 bits (64 bytes) como práctica recomendada.

La siguiente sección proporciona detalles sobre las operaciones que puedes realizar utilizando el comando uipathctl config token-signing-certificates .

Rotación automática de certificados​

La rotación automática de certificados significa que Automation Suite gestiona el ciclo de vida de las claves de firma. Esto incluye rotar las claves cada 90 días, anunciar nuevas claves 14 días antes de la rotación, conservar las claves antiguas durante 14 días después de la rotación y luego eliminarlas cuando finalice el período de 14 días.

Si actualizas desde una versión anterior a la 2.2510, la rotación automática de certificados está deshabilitada de forma predeterminada. Para habilitar la gestión automática de claves, ejecuta el siguiente comando:

uipathctl config token-signing-certificates automatic-key-management enable --namespace <uipath>
uipathctl config token-signing-certificates automatic-key-management enable --namespace <uipath>
Importante:

Habilitar la rotación automática de certificados puede provocar un tiempo de inactividad de hasta una hora.

La rotación automática de certificados está habilitada de forma predeterminada para las instalaciones limpias de Automation Suite. Para deshabilitar la gestión automática de claves, ejecuta el siguiente comando:

uipathctl config token-signing-certificates automatic-key-management disable --namespace <uipath>
uipathctl config token-signing-certificates automatic-key-management disable --namespace <uipath>

Si la característica de gestión automática está deshabilitada, los certificados de firma deben actualizarse y rotarse manualmente. Para obtener más información sobre la gestión manual de claves, consulta la documentación sobre la actualización y rotación manual del certificado.

Actualizar manualmente el certificado​

Nota:

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

Asegúrate de que el certificado que proporcionas está en formato .pem . El archivo server.crt debe contener toda la cadena, como se muestra en el siguiente ejemplo:

-----server cert-----
-----root ca chain-----
-----server cert-----
-----root ca chain-----

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

uipathctl config token-signing-certificates update --namespace <uipath> --cert server.crt --key server.key
uipathctl config token-signing-certificates update --namespace <uipath> --cert server.crt --key server.key

Rotar manualmente el certificado​

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

uipathctl config token-signing-certificates rotate --namespace <uipath>
uipathctl config token-signing-certificates rotate --namespace <uipath>

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 --namespace <uipath>
uipathctl config token-signing-certificates get --namespace <uipath>
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.

¿Te ha resultado útil esta página?

Conectar

¿Necesita ayuda? Soporte

¿Quiere aprender? UiPath Academy

¿Tiene alguna pregunta? Foro de UiPath

Manténgase actualizado