- Démarrage
- Prérequis
- Prérequis matériels
- Prérequis logiciels
- Utilisation d'un certificat pour le protocole HTTPS
- Meilleures pratiques
- Installation
- Mise à jour en cours
- Serveur d'identité
- Résolution des erreurs de démarrage
Utilisation d'un certificat pour le protocole HTTPS
Cette section fournit une explication sur la façon d’activer le protocole HTTP pour la communication entre Orchestrator et les Robots.
Il est préférable d'utiliser un certificat SAN SSL soumis à une autorité de certification plutôt qu'un certificat auto-signé car aucun certificat ne doit être installé sur les ordinateurs Robot dans le premier cas. Le certificat SAN SLL émis par l'autorité de certification est approuvé par tous les ordinateurs du domaine.
Si la machine Orchestrator principale est enregistrée dans un Active Directory qui possède une Autorité de certification locale et une politique d'auto-inscription, l'utilisateur peut remplir une demande de certificat, comme décrit dans la procédure suivante.
Si vous devez créer rapidement un certificat SSL à des fins de test seulement, vous pouvez créer un certificat SAN SSL auto-signé.
Ouvrez une console PowerShell en tant qu'administrateur, et lancez les commandes suivantes. N'oubliez pas de personnaliser les valeurs en fonction de votre environnement.
$ssc = New-SelfSignedCertificate -FriendlyName "TestingCertificate" -DnsName "loadbalancer.domain.local","node1.domain.local","node2.domain.local"
$store = New-Object System.Security.Cryptography.X509Certificates.X509Store( "Root", "LocalMachine")
$store.Open("MaxAllowed")
$store.Add($ssc)
$pass = ConvertTo-SecureString -String "myPass" -Force -AsPlainText
Export-PfxCertificate -Cert $ssc -FilePath "C:\temp\testingCertificate.pfx" -Password $pass
$ssc = New-SelfSignedCertificate -FriendlyName "TestingCertificate" -DnsName "loadbalancer.domain.local","node1.domain.local","node2.domain.local"
$store = New-Object System.Security.Cryptography.X509Certificates.X509Store( "Root", "LocalMachine")
$store.Open("MaxAllowed")
$store.Add($ssc)
$pass = ConvertTo-SecureString -String "myPass" -Force -AsPlainText
Export-PfxCertificate -Cert $ssc -FilePath "C:\temp\testingCertificate.pfx" -Password $pass
C:\temp\testingCertificate.pfx
pour une utilisation ultérieure.
Une fois le certificat créé, procédez aux actions suivantes :
-
Si ApplicationPoolIdentity est utilisé, dans la console de certificat, accédez à Personnel > Certificats. Ensuite, cliquez droit sur votre certificat Orchestrator personnel, sélectionnez Toutes les tâches > Gérer les clés privées et accordez toutes les autorisations à IIS AppPool\Identity et IIS_IUSRS.
-
Si un compte personnalisé est utilisé, dans la console de certificat, accédez à Personnel > Certificats. Ensuite, cliquez droit sur votre certificat Orchestrator personnel, sélectionnez Toutes les tâches > Gérer les clés privées et accordez des autorisations complètes à l’utilisateur personnalisé défini sur le pool d’applications Orchestrator.
IIS AppPool\Identity et IIS_IUSRS sont des groupes locaux et doivent être recherchés non dans le domaine, mais dans la machine locale.
Afin de rendre le certificat auto-signé disponible sur d’autres machines (nœuds Orchestrator secondaires / machines Robot), ouvrez une console PowerShell en tant qu’administrateur et lancez les commandes suivantes.
$pass = ConvertTo-SecureString -String "myPass" -Force -AsPlainText
$imported = Import-PfxCertificate -FilePath "C:\temp\testingCertificate.pfx" -CertStoreLocation Cert:\LocalMachine\My\ -Exportable -Password $pass
$store = New-Object System.Security.Cryptography.X509Certificates.X509Store( "Root", "LocalMachine")
$store.Open("MaxAllowed")
$store.Add($imported)
$pass = ConvertTo-SecureString -String "myPass" -Force -AsPlainText
$imported = Import-PfxCertificate -FilePath "C:\temp\testingCertificate.pfx" -CertStoreLocation Cert:\LocalMachine\My\ -Exportable -Password $pass
$store = New-Object System.Security.Cryptography.X509Certificates.X509Store( "Root", "LocalMachine")
$store.Open("MaxAllowed")
$store.Add($imported)
Firefox gère le processus un peu différemment, car il ne lit pas les informations de certificats dans le magasin Windows. Au lieu d'installer les certificats, il permet de définir des exceptions pour les certificats SSL sur des sites spécifiques.
Lorsque vous visitez un site Web contenant une erreur de certificat, le message d'avertissement présenté dans la capture d'écran ci-dessous s'affiche. L'URL à laquelle vous tentez d'accéder s'affiche dans la zone bleue. Procédez comme suit pour créer une exception afin de contourner cet avertissement pour cette URL spécifique :
UiPathOrchestrator.msi
(lors de l’installation ou de la mise à niveau), voici où vous pouvez commencer votre dépannage :
Du panneau de configuration :
- Ouvrez Gérer les certificats d’ordinateur -> Personnel -> Certificats ->. Identifiez votre certificat et double-cliquez dessus. L’onglet Général doit comprendre des informations sur sa validité.
- À partir d’une ligne de commande, exécutez la commande suivante pour diagnostiquer le certificat :
certutil -v -verifystore My <certificateThumbprint>
– son résumé se trouve à la fin de la sortie.
Une erreur interne du serveur peut se produire si le certificat ne dispose pas des autorisations appropriées. Exécutez ce qui suit en tant qu’administrateur pour accorder les autorisations nécessaires :
import-module WebAdministration
$siteName = 'UiPath Orchestrator'
$binding = (Get-ChildItem -Path IIS:\SSLBindings | Where Sites -eq $siteName)[0]
$certLoc = "cert:\LocalMachine\MY\$($binding.Thumbprint)"
$cert = Get-Item $certLoc
$keyPath = $env:ProgramData + "\Microsoft\Crypto\RSA\MachineKeys\"
$keyName = $cert.PrivateKey.CspKeyContainerInfo.UniqueKeyContainerName
$keyFullPath = $keyPath + $keyName
$acl = (Get-Item $keyFullPath).GetAccessControl('Access')
$permission="IIS_IUSRS","Full","Allow"
$accessRule = New-Object -TypeName System.Security.AccessControl.FileSystemAccessRule -ArgumentList $permission
$acl.AddAccessRule($accessRule)
Set-Acl -Path $keyFullPath -AclObject $acl
import-module WebAdministration
$siteName = 'UiPath Orchestrator'
$binding = (Get-ChildItem -Path IIS:\SSLBindings | Where Sites -eq $siteName)[0]
$certLoc = "cert:\LocalMachine\MY\$($binding.Thumbprint)"
$cert = Get-Item $certLoc
$keyPath = $env:ProgramData + "\Microsoft\Crypto\RSA\MachineKeys\"
$keyName = $cert.PrivateKey.CspKeyContainerInfo.UniqueKeyContainerName
$keyFullPath = $keyPath + $keyName
$acl = (Get-Item $keyFullPath).GetAccessControl('Access')
$permission="IIS_IUSRS","Full","Allow"
$accessRule = New-Object -TypeName System.Security.AccessControl.FileSystemAccessRule -ArgumentList $permission
$acl.AddAccessRule($accessRule)
Set-Acl -Path $keyFullPath -AclObject $acl
Après avoir exécuté le script, procédez aux actions suivantes :
-
Si ApplicationPoolIdentity est utilisé, dans la console de certificat, accédez à Personnel > Certificats. Ensuite, cliquez droit sur votre certificat Orchestrator personnel, sélectionnez Toutes les tâches > Gérer les clés privées et accordez toutes les autorisations à IIS AppPool\Identity et IIS_IUSRS.
-
Si un compte personnalisé est utilisé, dans la console de certificat, accédez à Personnel > Certificats. Ensuite, cliquez droit sur votre certificat Orchestrator personnel, sélectionnez Toutes les tâches > Gérer les clés privées et accordez des autorisations complètes à l’utilisateur personnalisé défini sur le pool d’applications Orchestrator.
IIS AppPool\Identity et IIS_IUSRS sont des groupes locaux et doivent être recherchés non dans le domaine, mais dans la machine locale.
Si vous rencontrez des erreurs lorsque vous essayez de modifier votre certificat Insights, assurez-vous de suivre les instructions fournies dans Mise à jour du certificat Insights (Updating the Insights Certificate).
- Demande d’un certificat SAN SSL auprès de l’Autorité de certification
- Création d’un certificat SAN SSL auto-signé
- Création d’un certificat SSL auto-signé sur la Primary Orchestrator Machine
- Importation du certificat auto-signé SAN vers d’autres Machines
- Firefox : autorisation des exceptions
- Certificats de résolution des problèmes
- Erreur interne du serveur
- Erreur du certificat Insights
- Erreur de certificat des navigateurs basés sur Chromium