UiPath Documentation
automation-suite
2.2510
true
Guide d'installation d'Automation Suite sur OpenShift
Important :
Veuillez noter que ce contenu a été localisé en partie à l’aide de la traduction automatique. La localisation du contenu nouvellement publié peut prendre 1 à 2 semaines avant d’être disponible.

Gestion des certificats

Mettre à jour et faire pivoter les certificats TLS et d'identité dans Automation Suite sur OpenShift.

Important :

Le processus d'installation génère des certificats auto-signés en votre nom. Ces certificats expireront dans 90 jours. Vous devez les remplacer par des certificats signés par une autorité de certification (CA) approuvée dès la fin de l'installation. Si vous ne mettez pas à jour les certificats, l'installation cessera d'être opérationnelle après 90 jours.

Vous pouvez utiliser l'outil CLI uipathctl pour mettre à jour les certificats après l'installation. Pour de plus amples informations, consultez la documentation uipathctl.

Génération d'une demande de signature de certificat (CSR) et d'une clé privée​

Pour générer la CSR et la clé privée, exécutez la commande suivante :

# 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

Votre équipe informatique utilise les valeurs obtenues pour générer un certificat signé. La clé privée générée reste locale.

Gestion du certificat TLS​

Pour afficher plus d'informations sur la mise à jour des certificats TLS, exécutez la commande suivante :

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

Sortie :

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

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

Trouver les certificats TLS​

Les certificats sont stockés sous forme de clé secrète au niveau d'Istio. Vous pouvez trouver des certificats sous le nom istio-ingressgateway-certs dans l'espace de noms <istio-system> .

Consultez les fichiers de certificat dans la liste suivante :

  • Le certificat TLS du serveur est stocké en tant que tls.crt
  • Clé privée TLS du serveur en tant que tls.key
  • Le bundle CA est stocké en tant que ca.crt

Vous pouvez vérifier les clés secrètes à l'aide de la commande suivante :

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

Les certificats sont également stockés dans l’espace de noms <uipath> . Cela s’applique à tous les produits UiPath® qui ont besoin d’informations de certificat afin d’approuver les appels entrants. Pour de plus amples informations, consultez la section Comprendre l'architecture de conteneur liée aux certificats.

Mise à jour des certificats TLS​

Important :

Avant de mettre à jour le certificat du serveur, vous devez déchiffrer la clé privée générée dans la section Génération d'une demande de signature de certificat (CSR) et une clé privée . Ignorer cette étape de déchiffrement entraînera une erreur.

Pour déchiffrer la clé de certificat, exécutez la commande suivante :

# 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
Comment la chaîne de certificats est assemblage​

Lorsque vous exécutez la commande uipathctl config tls-certificates update , uipathctl assemble la chaîne complète de certificats à partir de deux fichiers d’entrée distincts:

  • server.crt - la chaîne de certificats de serveur public complète au format PEM: le certificat de serveur de feuille, suivi du ou des certificats CA intermédiaires et de l'autorité de certification racine qui forment le chemin de signature de ce certificat de feuille. Inclure uniquement les certificats qui font partie de la chaîne de signature réelle du certificat de la feuille - n'incluez pas les certificats frères, non liés, en double ou alternatifs.
  • ca.crt : la chaîne CA complète, y compris tous les certificats intermédiaires et l'autorité de certification racine. Le fichier doit uniquement contenir les certificats utilisés pour signer le certificat du serveur TLS. Inclure tout ce qui entraînera un échec.

uipathctl fusionne ces fichiers au moment du runtime.

Pour mettre à jour le certificat, indiquez le chemin d’accès à chacun des trois fichiers de certificat. Tous les fichiers de certificat doivent être au format PEM .

  • Ensemble d’autorité de certification : chaîne CA complète utilisée pour signer le certificat du serveur TLS. Incluez tous les certificats intermédiaires et l’autorité de certification racine. N'incluez pas le certificat de la feuille ou tout autre certificat non utilisé pour signer le certificat du serveur TLS, car l'inclusion de toute autre chose entraînera l'échec. La limite de la chaîne est de neuf certificats au maximum.
  • Certificat de serveur : la chaîne complète de certificats de serveur public au format PEM, en commençant par le certificat de serveur de la feuille, suivi du ou des certificats CA intermédiaires et de l'autorité de certification racine. Incluez uniquement les certificats qui forment la chaîne de signature réelle du certificat de la feuille.
  • Clé privée : clé privée du certificat du serveur.
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

Pour résoudre les erreurs de validation de certificat TLS, consultez la section Erreurs de validation de certificat TLS.

Si vous choisissez de gérer vous-même les certificats, vous devez utiliser l'indicateur --use-istio-cert avec la commande de mise à jour des certificats. Cet indicateur permet de copier les clés secrètes existantes dans l'espace de noms uipath . Sachez que, lorsque vous utilisez l'indicateur --use-istio-cert , vous ne devez utiliser aucun autre indicateur de certificat, sinon la commande échouera.

Si vous utilisez un autre espace de noms à la place de uipath, vous devez le spécifier en le passant à l'indicateur--namespace <uipath> , où <uipath> représente l'espace de noms dans lequel Automation Suite est déployé.

Accéder au certificat TLS​

Pour imprimer les fichiers de certificat, exécutez la commande suivante :

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

Gestion des certificats CA supplémentaires​

Important :

Si vous souhaitez que le cluster fasse confiance à un logiciel externe, vous devrez peut-être fournir des certificats d'autorité de certification de confiance supplémentaires. Exemples : le certificat CA de serveur SQL, le certificat CA de serveur SMTP et le certificat CA de magasin d'objets externe compatible S3.

Vous devez fournir des certificats CA pour tout logiciel externe nécessitant une communication TLS sécurisée pendant l'installation. Cependant, si vous n'avez pas activé la communication TLS, vous pouvez la configurer après l'installation.

Pour afficher plus d'informations sur les certificats CA supplémentaires, exécutez la commande suivante :

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

Sortie :

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

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.

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

Les sections suivantes décrivent les opérations que vous pouvez effectuer à l'aide de la commande uipathctl config additional-ca-certificates .

Mise à jour des certificats CA​

Pour mettre à jour les certificats CA, procédez comme suit :

  1. Mettez à jour le fichier input.json pour pointer vers le fichier avec additional_ca_certs Pour des détails, reportez-vous à Configuration du certificat.
  2. Appliquez le manifeste :
    uipathctl manifest apply input.json --versions versions.json
    uipathctl manifest apply input.json --versions versions.json
    
    Cette commande peut échouer en générant des erreurs telles que :
    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]]
    
    Quel que soit l'échec, passez à l'étape 3 pour redémarrer les déploiements et stabiliser l'environnement.
  3. Redémarrez manuellement tous les déploiements et ensembles d'états dans l'espace de noms 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>
    
Remarque :

Pour ajouter les anciens certificats, vous devez utiliser la commande get de la section Accéder aux certificats CA et les ajouter dans le fichier de certificat CA .pem que vous devez fournir dans le champ additional_ca_certs .

Le fichier groupé de certificats CA doit être au format .pem valide et peut contenir plusieurs certificats.

Accéder aux certificats CA​

Pour télécharger les certificats CA déjà configurés, exécutez la commande suivante :

uipathctl config additional-ca-certificates get --namespace <uipath>
uipathctl config additional-ca-certificates get --namespace <uipath>

Gestion des certificats de signature de jeton d'identité​

Automation Suite propose deux méthodes pour gérer la rotation des certificats de signature de jeton d'identité : automatique et manuelle.

Pour afficher plus d'informations sur les certificats de signature de jeton d'identité, exécutez la commande suivante :

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

Sortie :

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

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.

************************************************************************************
Important :

Vous pouvez utiliser une longueur de clé maximale de 4096 bits pour la signature des certificats. Comme meilleure pratique, nous vous recommandons fortement d'utiliser une longueur de clé d'au moins 512 bits (64 octets).

La section suivante fournit des détails sur les opérations que vous pouvez effectuer à l'aide de la commande uipathctl config token-signing-certificates .

Rotation automatique des certificats​

La rotation automatique des certificats signifie qu’Automation Suite gère le cycle de vie des clés de signature. Cela inclut la rotation des clés tous les 90 jours, l'annonce de nouvelles clés 14 jours avant la rotation, la conservation des anciennes clés pendant 14 jours après la rotation, puis la suppression de celles-ci lorsque la période de 14 jours se termine.

Si vous effectuez la mise à niveau d'une ancienne version vers 2.2510, la rotation automatique des certificats est désactivée par défaut. Pour activer la gestion automatique des clés, exécutez la commande suivante:

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

L'activation de la rotation automatique des certificats peut entraîner un temps d'arrêt allant jusqu'à une heure.

La rotation automatique des certificats est activée par défaut pour les nouvelles installations d'Automation Suite. Pour désactiver la gestion automatique des clés, exécutez la commande suivante:

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

Si la fonctionnalité de gestion automatique est désactivée, les certificats de signature doivent être mis à jour et pivotés manuellement. Pour des détails sur la gestion manuelle des clés, reportez-vous à la documentation sur la mise à jour et la rotation manuelles du certificat.

Mise à jour manuelle du certificat​

Remarque :

La commande suivante ne remplace pas le certificat de signature de jeton existant.

Assurez-vous que le certificat que vous fournissez est au format .pem . Le fichier server.crt doit contenir l'ensemble de la chaîne, comme illustré dans l'exemple suivant:

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

Pour télécharger le nouveau certificat afin de signer le jeton, exécutez la commande suivante :

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

Faire pivoter manuellement le certificat​

Pour faire pivoter ou remplacer l'ancien certificat par le nouveau, exécutez la commande suivante :

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

Après la rotation, redémarrez les déploiements et les ensembles d'états en exécutant les commandes suivantes :

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

Accéder au certificat​

Pour télécharger le certificat de signature de jeton actuel, exécutez la commande suivante :

uipathctl config token-signing-certificates get --namespace <uipath>
uipathctl config token-signing-certificates get --namespace <uipath>
Remarque :

Il devrait y avoir un délai d'environ 24 à 48 heures entre la mise à jour du certificat et sa rotation.

Nous avons besoin de ce délai pour continuer à prendre en charge l'authentification pour le jeton mis en cache signé par l'ancien certificat.

La rotation du certificat trop tôt avant l'expiration du jeton de cache peut entraîner des temps d'arrêt. Dans ce cas, vous devrez peut-être redémarrer tous vos robots.

Cette page vous a-t-elle été utile ?

Connecter

Besoin d'aide ? Assistance

Vous souhaitez apprendre ? UiPath Academy

Vous avez des questions ? UiPath Forum

Rester à jour