- Vue d'ensemble (Overview)
- Glossaire
- Produits Automation Suite
- Sécurité et conformité
- Présentation des certificats
- Prérequis
- Modèles de déploiement
- Manuel : Préparation de l'installation
- Manuel : Préparation de l'installation
- Étape 2 : configurer le registre compatible OCI pour les installations hors ligne
- Étape 3 : configurer le magasin d’objets externe
- Étape 4 : Configuration de High Availability Add-on
- Étape 5 : configurer les bases de données SQL
- Étape 7 : configurer le DNS
- Étape 8 : configuration des disques
- Étape 9 : configurer les paramètres au niveau du noyau et du système d’exploitation
- Étape 10 : configuration des ports de nœud
- Étape 11 : appliquer divers paramètres
- Étape 12 : Valider et installer les packages RPM requis
- Étape 13 : génération du fichier cluster_config.json
- Exemple Cluster_config.json
- Configuration générale
- Configuration du profil
- Configuration du certificat
- Configuration de la base de données
- Configuration du magasin d'objets externe
- Configuration d'URL pré-signée
- Configuration d'ArgoCD
- Configuration de l'authentification Kerberos
- Configuration du registre externe compatible OCI
- Disaster Recovery : configurations actif/passif et actif/actif
- Configuration de High Availability Add-on
- Configuration spécifique à Orchestrator
- Configuration spécifique à Insights
- Configuration spécifique à Process Mining
- Configuration spécifique à Document Understanding
- Configuration spécifique à Automation Suite Robots
- Configuration de la surveillance
- Facultatif : configuration du serveur proxy
- Facultatif : Activation de la résilience aux échecs locaux dans un cluster en mode production multi-nœuds compatible haute disponibilité
- Facultatif : Transmettre le fichier personnalisé resolv.conf
- Facultatif : augmentation de la tolérance aux pannes
- Ajout d'un nœud d'agent dédié avec prise en charge GPU
- Ajout d'un nœud d'agent dédié pour les Automation Suite Robots
- Étape 15 : configuration du registre Docker temporaire pour les installations hors ligne
- Étape 16 : validation des prérequis de l’installation
- Exécution de uipathctl
- Manuel : Exécution de l'installation
- Post-installation
- Administration du cluster
- Gestion des produits
- Premiers pas avec le portail d'administration du cluster
- Migration de Redis de High Availability Add-on externe vers un une version externe de High Availability Add-on
- Migration des données entre les librairies
- Migration d'un magasin d'objets intégré au cluster vers un magasin d'objets externe
- Migration du registre intégré au cluster vers un registre externe compatible OCI
- Basculer manuellement vers le cluster secondaire dans une configuration actif/passif
- Disaster Recovery : exécution d'opérations post-installation
- Conversion d'une installation existante en configuration multi-sites
- Recommandations pour mettre à niveau un déploiement actif/passif ou actif/actif
- Recommandations pour sauvegarder et restaurer un déploiement actif/passif ou actif/actif
- Mise à l'échelle d'un déploiement à nœud unique (évaluation) vers un déploiement multi-nœuds (HA)
- Surveillance et alerte
- Migration et mise à niveau
- Migration entre les clusters Automation Suite
- Mettre à niveau Automation Suite
- Téléchargement des packages d'installation et obtention de l'ensemble des fichiers sur le premier nœud de serveur
- Récupération de la dernière configuration appliquée à partir du cluster
- Mise à jour de la configuration du cluster
- Configuration du registre compatible OCI pour les installations hors ligne
- Exécution de la mise à niveau
- Exécution d'opérations post-mise à niveau
- Configuration spécifique au produit
- Configuration avancée d'Orchestrator
- Configuration des paramètres d'Orchestrator
- Configuration des paramètres d'application
- Configuration de la taille maximale de la requête
- Remplacement de la configuration du stockage au niveau du cluster
- Configuration de NLog
- Enregistrement des journaux du robot dans Elasticsearch
- Configuration des magasins d'informations d'identification
- Configuration de la clé de chiffrement par locataire
- Nettoyer la base de données Orchestrator
- Ignorer l’installation de la bibliothèque hôte
- Rotation des informations d’identification de stockage d’objets blob
- Désactivation de l'utilisation d'URL pré-signées lors du téléchargement de données vers le stockage Amazon S3
- Configuration de la sécurité de l'application de processus
- Configurer une authentification Kerberos avec l’authentification MSSQL de base pour Process Mining
- Bonnes pratiques et maintenance
- Résolution des problèmes
- Comment résoudre les problèmes des services lors de l'installation
- Comment réduire les autorisations d’un répertoire de sauvegarde NFS
- Comment désinstaller le cluster
- Comment nettoyer les artefacts hors ligne pour améliorer l'espace disque
- Comment effacer les données Redis
- Comment activer la journalisation Istio
- Comment nettoyer manuellement les journaux
- Sortie de Ceph du mode lecture seule
- Comment nettoyer les anciens journaux stockés dans le compartiment sf-logs
- Comment désactiver les journaux de diffusion pour AI Center
- Comment déboguer les installations d'Automation Suite ayant échoué
- Comment supprimer des images de l’ancien programme d’installation après la mise à niveau
- Comment désactiver le déchargement de la somme de contrôle txt
- Comment définir manuellement le niveau de journalisation d’ArgoCD sur Info
- Comment augmenter le stockage d’AI Center
- Comment générer la valeur pull_secret_value encodée pour les registres externes
- Comment résoudre les chiffrements faibles dans TLS 1.2
- Comment vérifier la version TLS
- Comment travailler avec les certificats
- Comment planifier la sauvegarde et la restauration des données Ceph
- Comment collecter les données d'utilisation de DU avec le magasin d'objets intégré au cluster (Ceph)
- Comment installer RKE2 SELinux dans des environnements isolés
- Comment nettoyer les anciennes sauvegardes différentielles sur un serveur NFS
- Comment déployer Insights dans un cluster compatible FIPS
- Comment migrer vers cgroup v2
- Comment récupérer l'authentification Kerberos après le redémarrage d'une machine virtuelle
- Comment transmettre une image Docker locale au registre intégré au cluster
- Comment exclure des compartiments de la sauvegarde
- Erreur lors du téléchargement du bundle
- L'installation hors ligne échoue en raison d'un fichier binaire manquant
- Disque Azure non marqué comme SSD
- Échec après la mise à jour du certificat
- Erreurs de validation du certificat TLS
- L'antivirus provoque des problèmes d'installation
- Automation Suite ne fonctionne pas après la mise à niveau du système d'exploitation
- Automation Suite requiert que backlog_wait_time soit défini sur 0
- L'installation du registre temporaire échoue sur RHEL 8.9
- Problème de redémarrage fréquent dans les déploiements d'espace de noms uipath lors des installations hors ligne
- Paramètres DNS non respectés par CoreDNS
- L’amorçage du registre intégré au cluster échoue en raison d’une mémoire insuffisante
- Les vérifications des prérequis échouent lorsque les projets modernes Document Understanding sont activés et qu’AI Center est désactivé
- Échec de la mise à niveau en raison d’un Ceph défectueux
- La mise à niveau échoue en raison d’objets classiques dans la base de données Orchestrator
- Cluster Ceph trouvé dans un état dégradé après une mise à niveau côte à côte
- La mise à niveau du service échoue pour Apps
- Délais d'attente de mise à niveau sur place
- La mise à niveau échoue dans les environnements hors ligne
- Le pod d'instantané-contrôleur-crds dans l'état CrashLoopBackOff après la mise à niveau
- La mise à niveau échoue en raison du remplacement des tailles de PVC Insights
- Échec de la mise à niveau en raison d’un nom d’hôte en majuscules
- Définition d'un délai d'expiration pour les portails de gestion
- L'authentification ne fonctionne pas après la migration
- kinit : Impossible de trouver le KDC pour le domaine <AD Domain> lors de l'obtention des informations d'identification initiales
- Kinit : Keytab ne contient aucune clé appropriée pour *** lors de l'obtention des informations d'identification initiales
- L'opération GSSAPI a échoué en raison d'un code de statut non valide
- Alarme reçue pour l'échec de la tâche Kerberos-tgt-update
- Fournisseur SSPI : serveur introuvable dans la base de données Kerberos
- La connexion a échoué pour l'utilisateur AD en raison d'un compte désactivé
- Échec de connexion à ArgoCD
- Impossible d'obtenir l'image du bac à sable
- Les pods ne s'affichent pas dans l'interface utilisateur ArgoCD
- Échec de la sonde Redis
- Le serveur RKE2 ne démarre pas
- ArgoCD passe à l'état Progression (Progressing) après la première installation
- Pod de serveur ArgoCD dans CrashLoopBackOff
- Atténuation manuelle de la politique réseau ArgoCD
- Métriques Ceph-rook manquantes dans les tableaux de bord de surveillance
- Discordance dans les erreurs signalées lors des vérifications de l'intégrité des diagnostics
- Configurer les requêtes et les limites de ressources pour les charges de travail créées par uipathctl
- Aucun problème sain en amont
- Démarrage de Redis bloqué par un antivirus
- Les pods AI Center et Document Understanding ne démarrent pas avec la vérification du certificat TLS activée
- Fluentd n’exporte pas les journaux dans les environnements IPv6
- Studio Desktop ne peut pas charger les connecteurs et activités Integration Service
- Document Understanding n'est pas affiché sur la barre de gauche d'Automation Suite
- État Échec (Failed) lors de la création d'une session de labellisation des données
- État Échec (Failed) lors de la tentative de déploiement d'une compétence ML
- La tâche de migration échoue dans ArgoCD
- La reconnaissance de l'écriture manuscrite avec l'Extracteur de formulaires intelligents (Intelligent Form Extractor) ne fonctionne pas
- Exécution de la haute disponibilité avec Process Mining
- Échec de l’ingestion de Process Mining lors de la connexion à l’aide de Kerberos
- Impossible de se connecter à la base de données AutomationSuite_ProcessMining_Authentication à l'aide d'une chaîne de connexion au format pyodbc
- L'installation d'airflow échoue avec sqlalchemy.exc.ArgumentError: impossible d'analyser l'URL rfc1738 de la chaîne ''
- Comment ajouter une règle de table d'adresse IP pour utiliser le port SQL Server 1433
- Le certificat Automation Suite n'est pas approuvé depuis le serveur sur lequel CData Sync est en cours d'exécution
- Process Mining ne parvient pas à se charger après sa désactivation et sa réactivation
- Exécution de l'outil de diagnostic
- Utilisation du pack d'assistance Automation Suite
- Explorer les journaux
Découvrez comment gérer les certificats requis par Automation Suite et comprendre le processus de rotation des certificats.
Cette page décrit tous les certificats requis par une installation d'Automation Suite ainsi que le principe du processus de rotation des certificats.
Pour plus de détails sur les certificats que vous devez fournir lors du remplacement des certificats auto-signés, consultez les Exigences du certificat.
Comprendre le fonctionnement des certificats de confiance
La communication interservices entre les produits au sein d'Automation Suite s'effectue via le nom de domaine complet du cluster. Les produits ne peuvent pas utiliser d'URL internes pour communiquer entre eux. Par exemple, Orchestrator peut se connecter à Identity Server pour l'authentification de l'utilisateur via https://automationsuite.mycompany.com/identity .
Bien que deux produits Automation Suite différents doivent utiliser le nom de domaine complet du cluster, ils peuvent également contenir plusieurs microservices. Ces microservices peuvent utiliser des URL internes pour communiquer entre eux.
Comprendre le fonctionnement de la communication
Le diagramme et le flux suivants expliquent comment le client se connecte à un service et comment l'authentification est effectuée via le service d'identité.
-
Le client effectue une connexion avec le service à l'aide d'une URL, telle qu'Orchestrator, Apps, Insights, etc. à l'aide de l'URL suivante :
https://automationsuite.mycompany.com/myorg/mytenant/service_. -
Istio intercepte l'appel et, en fonction du chemin d'accès de
service_, transfère l'appel au service spécifique. -
Le service appelle Identity Service pour authentifier la demande entrante du client via
https://automationsuite.mycompany.com/myorg/mytenant/identity_. -
Istio intercepte l'appel et, en fonction du chemin d'accès
identity_, transfère la demande au service d'identité. -
Identity Service renvoie la réponse avec le résultat à Istio.
-
Istio renvoie la réponse au service. Étant donné que l'appel est effectué à l'aide du protocole HTTPS, Istio renvoie la réponse avec le certificat TLS afin que la connexion soit sécurisée. Si le service approuve le certificat de serveur renvoyé par Istio, il approuve la réponse. Sinon, le service rejette la réponse.
-
Le service prépare la réponse et la renvoie à Istio.
-
Istio renvoie la demande au client. Si la machine cliente fait confiance au certificat, la totalité de la demande aboutit. Sinon, la requête échoue.
Comprendre la façon dont les robots et Orchestrator communiquent
Cette section décrit un scénario dans lequel un robot essaie de se connecter à Orchestrator dans Automation Suite. Le diagramme et le flux suivants expliquent comment le Robot se connecte à Orchestrator et comment l'authentification est effectuée via le serveur d'identité.
-
Le Robot établit une connexion avec Orchestrator à l'aide de l'URL suivante :
https://automationsuite.mycompany.com/myorg/mytenant/orchestrator_ -
Istio intercepte l'appel et, en fonction du chemin d'accès
orchestrator_, le transmet au service Orchestrator. -
Le service Orchestrator appelle Identity Server pour authentifier la demande entrante du robot via
https://automationsuite.mycompany.com/myorg/mytenant/identity_. -
Istio intercepte l'appel et, en fonction du chemin d'accès
identity_, transmet la demande au serveur d'identité. -
Identity Server renvoie la réponse avec les résultats à Istio.
-
Istio renvoie la réponse à Orchestrator. Étant donné que l'appel est effectué à l'aide du protocole HTTPS, Istio renvoie la réponse avec le certificat TLS, afin que la connexion soit sécurisée. Si Orchestrator approuve le certificat de serveur renvoyé par Istio, il approuve également la réponse. Sinon, Orchestrator rejette la réponse.
-
Orchestrator prépare la réponse et la renvoie à Istio.
-
Istio renvoie la demande au robot. Si la machine robot fait confiance au certificat, la totalité de la requête aboutit. Sinon, la requête échoue.
Comprendre l'architecture de conteneur liée aux certificats
Au niveau du conteneur
Le diagramme suivant présente l'architecture de certificat au niveau du conteneur.
Dans cet exemple, le conteneur possède son propre système d'exploitation (RHEL OS), et le service peut représenter un Orchestrator s'exécutant sur RHEL OS.
Chaque système d'exploitation possède son propre magasin de certificats. Dans le cas du système d'exploitation RHEL, le magasin approuvé de certificats se trouve dans /etc/pki/ca-trust/ca/.
Ce chemin est l'endroit où le système d'exploitation RHEL stocke tous les certificats. Chaque conteneur aura son propre magasin de confiance de certificats. Dans le cadre de la configuration d'Automation Suite, nous injectons l'ensemble du certificat de chaîne qui contient le certificat racine, tous les certificats intermédiaires, ainsi que le certificat de la feuille, et nous les stockons dans ce chemin.
Étant donné que les services approuvent les certificats racine et intermédiaires, ils approuvent automatiquement tous les autres certificats créés par les certificats racine et intermédiaires.
Au niveau du pod
Des centaines de conteneurs sont exécutés dans Automation Suite. L'ajout manuel de certificats pour chacun de ces conteneurs pour tous les services serait une tâche exigeante. Cependant, Automation Suite inclut un volume partagé et un cert-trustor de conteneur Init pour vous aider dans cette tâche. Init est un conteneur spécialisé qui s'exécute avant les conteneurs d'applications dans un pod, et son cycle de vie se termine dès qu'il a terminé son travail.
Comment le conteneur Cert-trustor partage les certificats
Dans l'exemple suivant, le service Orchestrator s'exécute dans un pod. Pour rappel, un pod peut contenir plusieurs conteneurs. Dans ce pod, nous injectons un autre conteneur Init appelé Cert-trustor . Ce conteneur contiendra le certificat racine, les certificats intermédiaires et le certificat feuille.
Le volume partagé est attaché à la fois au conteneur Cert-Trustor et au conteneur de service Orchestrator. Il a le même chemin que le magasin d'approbation de certificat de système d'exploitation RHEL : /etc/pki/ca-trust/ca/source/anchors.
Avant qu'Orchestrator puisse s'exécuter, l'autorité de certification Cert effectue une tâche qui ajoutera les certificats dans le volume partagé à l'emplacement /etc/pki/ca-trust/ca/source/anchors et se termine. Les certificats seront disponibles pour le service Orchestrator via le volume partagé.
Le diagramme suivant montre l'architecture de certificat au niveau du pod.
Inventaire de tous les certificats dans Automation Suite
Certificats générés lors de l'installation
Dans le cadre de l'installation d'Automation Suite, les certificats suivants sont générés :
- Certificat auto-signé généré au moment de l'installation, valable 3 mois. Vous devez remplacer le certificat auto-signé par un certificat de domaine après l'installation. Reportez-vous à la section Gestion des certificats
- Certificat de serveur d'identité pour la signature des jetons JWT utilisés dans l'authentification. Si le certificat de signature du jeton JWT n'est pas fourni, Automation Suite utilise le certificat TLS actuellement configuré (auto-signé ou fourni par le client), qui expire dans 90 jours. Si vous souhaitez disposer de votre propre certificat pour la signature des jetons d'identité, reportez-vous à la section Gérer les certificats.
- Les certificats RKE2 sont générés et expirent par défaut dans 12 mois. Si les certificats ont déjà expiré ou s'ils expirent dans moins de 90 jours, ils sont alternés lorsque RKE2 est redémarré.
Certificats supplémentaires
- S'il est activé, le protocole d'authentification SAML2 peut utiliser un certificat de service.
- Si vous configurez Active Directory à l’aide d’un nom d’utilisateur et d’un mot de passe, LDAPS (LDAP sur SSL) est facultatif. Si vous optez pour LDAPS, vous devez fournir un certificat. Ce certificat sera ajouté aux Autorités de certification racine approuvées d’Automation Suite. Pour de plus amples informations, consultez la documentation Microsoft.
Comprendre le fonctionnement de la mise à jour/de la rotation des certificats
Installation en ligne
Les certificats sont stockés à deux endroits :
istio-ingressgateway-certsdansistio-systemuipathespace de noms
Pour mettre à jour le certificat dans les espaces de noms istio-system et uipath , vous devez exécuter la commande uipathctl config tls-certificates update .
Les pods ne peuvent accéder qu'aux secrets qui se trouvent dans leur espace de noms. Par exemple, les pods s'exécutant dans l'espace de noms uipath ne peuvent pas accéder aux secrets stockés dans l'espace de noms istio-system . Par conséquent, les certificats sont copiés dans les deux espaces de noms.
Pour l'espace de noms uipath , nous montons les certificats sur les pods qui en ont besoin et redémarrons les pods afin qu'ils puissent utiliser les nouveaux certificats.
Pour les installations d'évaluation à nœud unique, la mise à jour réduira les pods. Tous les pods seront arrêtés et redémarrés. Cette opération entraînera un temps d'arrêt.
Pour les installations de production multi-nœuds compatibles haute disponibilité, la mise à jour s'effectue à l'aide de la méthode de déploiement progressif. Si les microservices ont deux pods à des fins de haute disponibilité, la mise à jour supprimera l'un des pods et une nouvelle version du pod apparaîtra. Une fois le nouveau démarré avec succès, l’ancien sera supprimé. Il y aura une brève période d'arrêt pendant que l'ancien pod n'est pas encore terminé.
Installation hors ligne
En plus des certificats spécifiques à une installation en ligne, un déploiement hors ligne comporte deux emplacements supplémentaires où rootCA.crt et tls.crt sont utilisés. Les certificats sont utilisés dans ArgoCD et le registre Docker, puis ils sont stockés dans les espaces de noms Docker et ArgoCD.
Vous pouvez vérifier les clés secrètes à l'aide de la commande suivante :
# For docker registry
kubectl -n docker-registry get secrets docker-registry-tls -o yaml
# For Argocd
argocd cert list --cert-type https
# For docker registry
kubectl -n docker-registry get secrets docker-registry-tls -o yaml
# For Argocd
argocd cert list --cert-type https
- Comprendre le fonctionnement des certificats de confiance
- Comprendre le fonctionnement de la communication
- Comprendre la façon dont les robots et Orchestrator communiquent
- Comprendre l'architecture de conteneur liée aux certificats
- Au niveau du conteneur
- Au niveau du pod
- Inventaire de tous les certificats dans Automation Suite
- Certificats générés lors de l'installation
- Certificats supplémentaires
- Comprendre le fonctionnement de la mise à jour/de la rotation des certificats
- Installation en ligne
- Installation hors ligne