- Erste Schritte
- Anforderungen
- Hardwareanforderungen
- Softwareanforderungen
- Verwendung eines Zertifikats für das HTTPS-Protokoll
- Best Practices
- Installation
- Wird aktualisiert
- Identity Server
- Fehlerbehebung bei Startfehlern
Verwendung eines Zertifikats für das HTTPS-Protokoll
Dieser Abschnitt enthält eine Erläuterung zum Aktivieren des HTTP-Protokolls für die Kommunikation zwischen Orchestrator und den Robotern.
Es wird empfohlen, ein SAN-SSL-Zertifikat zu verwenden, das an eine Zertifizierungsstelle übermittelt wird, anstatt ein selbstsigniertes Zertifikat zu verwenden, da im ersten Fall kein Zertifikat auf Robotercomputern installiert werden muss. Das von der Zertifizierungsstelle ausgestellte SAN-SLL-Zertifikat wird von allen Computern in der Domäne als vertrauenswürdig eingestuft.
Wenn die primäre Orchestrator-Maschine in einem Active Directory registriert ist, das über eine lokale Zertifizierungsstelle und eine Richtlinie für die automatische Registrierung verfügt, kann der Benutzer eine Zertifikatanforderung ausfüllen, wie im folgenden Verfahren beschrieben.
Wenn Sie schnell ein SSL-Zertifikat nur zu Testzwecken erstellen müssen, können Sie ein selbstsigniertes SAN-SSL-Zertifikat erstellen.
Öffnen Sie eine PowerShell-Konsole als Administrator, und geben Sie die folgenden Befehle aus. Vergessen Sie nicht, Werte an Ihre Umgebung anzupassen.
$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
-Datei zur späteren Verwendung.
Nach der Erstellung des Zertifikats:
-
Wenn ApplicationPoolIdentity verwendet wird, navigieren Sie in der Zertifikatskonsole zu Persönlich > Zertifikate. Klicken Sie dann mit der rechten Maustaste auf Ihr persönliches Orchestrator-Zertifikat, wählen Sie Alle Aufgaben > Private Schlüssel verwalten aus und erteilen Sie IIS AppPool\Identity sowie IIS_IUSRS vollständige Berechtigungen.
-
Wenn ein benutzerdefiniertes Konto verwendet wird, navigieren Sie in der Zertifikatskonsole zu Persönlich > Zertifikate. Klicken Sie dann mit der rechten Maustaste auf Ihr persönliches Orchestrator-Zertifikat, wählen Sie Alle Aufgaben > Private Schlüssel verwalten aus und erteilen Sie dem benutzerdefinierten Benutzer, der im Orchestrator-Anwendungspool festgelegt wurde, vollständige Berechtigungen.
IIS AppPool\Identity und IIS_IUSRS sind lokale Gruppen und sollten auf der lokalen Maschine und nicht in der Domäne gesucht werden.
Um das selbstsignierte Zertifikat auf anderen Maschinen (sekundäre Orchestrator-Knoten/Robotermaschinen) verfügbar zu machen, öffnen Sie eine PowerShell-Konsole als Administrator, und geben Sie die folgenden Befehle aus.
$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 behandelt den Vorgang ein wenig anders, da es die Zertifikatinformationen nicht im Windows-Speicher liest. Anstatt Zertifikate zu installieren, wird Ihnen erlaubt Ausnahmen für SSL-Zertikate auf bestimmten Sites zu definieren.
Beim Besuch einer Site, die einen Zertifikatsfehler aufweist, wird die Warnmeldung wie im nachfolgenden Screenshot angezeigt. Die URL, auf die Sie zuzugreifen versuchen, wird im blauen Bereich angezeigt. Um eine Ausnahme zur Umgehung dieser Warnung auf dieser speziellen URL zu erstellen:
UiPathOrchestrator.msi
(während der Installation oder des Upgrades) auf Probleme stoßen, können Sie hier mit der Fehlerbehebung beginnen:
In der Systemsteuerung:
- Öffnen Sie Computerzertifikate verwalten -> Persönlich -> Zertifikate. Identifizieren Sie Ihr Zertifikat, und doppelklicken Sie darauf. Auf der Registerkarte Allgemein sollten Informationen über seine Gültigkeit angezeigt werden.
- Führen Sie in einer Befehlszeile den folgenden Befehl aus, um das Zertifikat zu diagnostizieren:
certutil -v -verifystore My <certificateThumbprint>
– seine Zusammenfassung befindet sich am Ende der Ausgabe.
Ein interner Serverfehler kann auftreten, wenn das Zertifikat nicht über die entsprechenden Berechtigungen verfügt. Führen Sie Folgendes als Administrator aus, um die erforderlichen Berechtigungen zu erteilen:
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
Nach dem Ausführen des Skripts:
-
Wenn ApplicationPoolIdentity verwendet wird, navigieren Sie in der Zertifikatskonsole zu Persönlich > Zertifikate. Klicken Sie dann mit der rechten Maustaste auf Ihr persönliches Orchestrator-Zertifikat, wählen Sie Alle Aufgaben > Private Schlüssel verwalten aus und erteilen Sie IIS AppPool\Identity sowie IIS_IUSRS vollständige Berechtigungen.
-
Wenn ein benutzerdefiniertes Konto verwendet wird, navigieren Sie in der Zertifikatskonsole zu Persönlich > Zertifikate. Klicken Sie dann mit der rechten Maustaste auf Ihr persönliches Orchestrator-Zertifikat, wählen Sie Alle Aufgaben > Private Schlüssel verwalten aus und erteilen Sie dem benutzerdefinierten Benutzer, der im Orchestrator-Anwendungspool festgelegt wurde, vollständige Berechtigungen.
IIS AppPool\Identity und IIS_IUSRS sind lokale Gruppen und sollten auf der lokalen Maschine und nicht in der Domäne gesucht werden.
Wenn beim Versuch, Ihr Insights-Zertifikat zu ändern, Fehler auftreten, befolgen Sie die Anweisungen unter Aktualisieren des Insights-Zertifikats.
Wenn bei der Verwendung von Chromium-basierten Browsern ein Zertifikatsfehler auftritt, erstellen Sie wie folgt ein selbstsigniertes Zertifikat mit einer digitalen Signatur:
Erstellen eines selbstsignierten SAN-SSL-Zertifikats auf einer Orchestrator-Maschine mit Windows Server 2012 R2
-FriendlyName
nicht. Wenn Ihre Orchestrator-Maschine mit diesem Betriebssystem läuft, müssen Sie die folgenden Schritte ausführen, um ein selbstsigniertes SAN-SSL-Zertifikat zu erstellen:
- Anfordern eines SAN-SSL-Zertifikats von der Zertifizierungsstelle
- Erstellen eines selbstsignierten SAN-SSL-Zertifikats
- Erstellen eines selbstsignierten SSL-Zertifikats auf der primären Orchestrator-Maschine
- Importieren des selbstsignierten SAN-Zertifikats auf andere Maschinen
- Firefox – Ausnahmen erlauben
- Zertifikaten zur Fehlerbehebung
- Interner Serverfehler
- Insights-Zertifikatsfehler
- Zertifikatsfehler bei Chromium-basierten Browsern
- Erstellen eines selbstsignierten SAN-SSL-Zertifikats auf einer Orchestrator-Maschine mit Windows Server 2012 R2