- Erste Schritte
- Anforderungen
- Best Practices
- Installation
- Wird aktualisiert
- Identity Server
- High Availability Add-on
- Fehlerbehebung bei Startfehlern
Fehlerbehebung bei Identity Server
Es kann Situationen geben, in denen Identity Server Fehlermeldungen mit vertraulichen Informationen ausgibt. Wenn es sich bei dem Zertifikat, das zum Signieren der von Identity Server generierten Zugriffstoken verwendet wird, beispielsweise um einen öffentlichen Schlüssel mit 1024 Bit statt 2048 Bit handelt, erhalten Sie folgende Fehlermeldung, wenn Sie versuchen, sich bei einem frisch installierten oder aktualisierten Orchestrator-Mandanten anzumelden:
InternalServerError - IDX10630 The '[PII is hidden. For more details, see https://aka.ms/IdentityModel/PII.]'
appsettings.Production.json
von Identity Server in Ihrem vorhandenen AppSettings-Abschnitt:
"AppSettings": {
"EnablePII": true
},
"AppSettings": {
"EnablePII": true
},
EnablePII
-Einstellung in der appsettings.Production.json
-Datei von Identity Server sind möglicherweise noch einige Informationen ausgeblendet. Um Orchestrator-PII anzuzeigen, fügen Sie die Einstellung ExternalAuth.ShowPII zur Datei UiPath.Orchestrator.dll.config
von Orchestrator hinzu.
Mit dieser neuen Einstellung zeigt die Fehlermeldung weitere nützliche Informationen an:
The 'Microsoft.IdentityModel.Tokens.X509SecurityKey, KeyId: 'F9B1F6C18B728C02C8853470C71C365F000C86B5', InternalId: 'd3dadcac-e5aa-48e6-a20a-9232a3c3d16f'.'
for signing cannot be smaller than '2048' bits. KeySize: '1024'. (Parameter 'key.KeySize')
Es kann Situationen geben, in denen das .NET Core-Hostingpaket nicht richtig installiert ist. Dies kann die folgenden Auswirkungen haben:
- .NET Core-Anwendungen, die in IIS ausgeführt werden (z. B. Identity Server), werden nicht gestartet. Stattdessen wird der Fehler
System.IO.IOException: IDX20807: Unable to retrieve document
angezeigt. - Beim Zugriff auf Handlerzuordnungen für Identity Server in IIS wird ein Fehler angezeigt.
- Der Fehler
500.19 Error Code: 0x8007000d
tritt auf, wenn Sie die URL https://localhost/identity in einem Browser aufrufen.
Die offensichtliche Lösung für dieses Problem ist die Neuinstallation des .NET Core-Hostingpakets.
Wenn Sie Ihre Orchestrator auf 2020.4+ aktualisieren, dann migriert der Identity Server Ihre vorherigen Einstellungen. Wenn Sie zuvor die Windows-Authentifizierung aktiviert haben, während Sie die automatische Anmeldung für Windows-AD-Benutzer eingerichtet haben, können die Benutzer nach dem Upgrade nicht auf die Seite Externe Anbieter zugreifen, wenn sie sich zuvor bei Identity Server angemeldet haben. Die Benutzer werden direkt nach Eingabe ihrer Windows-Anmeldeinformationen bei den Mandanten angemeldet.
Ohne Zugriff auf die Anmeldeseite kann sich der Host-Administrator nicht beim Hostmandanten anmelden, und er kann nicht auf Identity Management Portal zugreifen.
https://<OrchestratorURL>/identity/configuration
ein.
/api/account/authenticate Fehler bei Aufrufen für Benutzer, die bei der ersten Anmeldung Kennwörter geändert haben
Invalid credentials, failed to login
.
Benutzer in dieser Situation sollten ihr Kennwort auf der Seite Profil von Orchestrator ändern.
Keyset does not exist
auftreten, wenn das für den Identity Server verwendete Zertifikat nicht über die entsprechenden Berechtigungen verfügt.
Führen Sie das folgende PowerShell-Skript als Administrator aus, um Berechtigungen für das Zertifikat 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
$siteName
entsprechend Ihrer Orchestrator-Installation.
Starten Sie die IIS-Site neu, nachdem Sie Konfigurationsänderungen vorgenommen haben.
Der Orchestrator-Dienst muss vor jedem Update/Upgrade des Identity Server-Diensts beendet werden. Änderungen, die während der Identity Server-Aktualisierung an Robotern in Orchestrator vorgenommen wurden, führen zum Fehlschlagen der Aktualisierung.
Beenden Sie in diesem Fall den Orchestrator-Dienst, und führen Sie die Migration erneut aus.
Mehrere Probleme wurden mit Lokalisierungsproblemen in Sprachen verknüpft, die Nicht-ASCII-Zeichen enthalten. Um die vollständige Lokalisierungsunterstützung zu erhalten, aktualisieren Sie bitte auf Insights-Version 20.10+.
Die folgende Problemumgehung behandelt Szenarien, in denen Sie Orchestrator v2020.4 oder höher installiert haben und bestimmte Einstellungen benötigen, damit Ihr SAML-Anbieter funktioniert.
Während die Identity Server-Benutzeroberfläche die meisten Ihrer Anforderungen in Bezug auf die SAML-Konfiguration erfüllen sollte, bietet dieser Abschnitt eine Möglichkeit, zusätzliche SAML-Einstellungen zu steuern, die standardmäßig nicht verfügbar gemacht werden. Eine vollständige Liste der verfügbaren Einstellungen finden Sie in der offiziellen Sustainsys.Saml2-Dokumentation.
„Sustainsys.Saml2“ ist die Bibliothek, auf die Identity Server für SAML-Unterstützung angewiesen ist, und sie verwendet eine XML-Konfigurationsdatei. Um Zugriff auf die Felder zu erhalten, die auf der Identity Server-Benutzeroberfläche nicht verfügbar sind, müssen Sie diese XML-Datei überschreiben. Dies wird im folgenden Verfahren beschrieben:
- Stellen Sie sicher, dass Sie den externen SAML-Identitätsanbieter auf der Seite Externe Anbieter im Identity Management Portal aktiviert und ordnungsgemäß konfiguriert haben.
-
Bearbeiten Sie die Datei
appsettings.json
oderappsettings.Production.json
, um den folgenden Abschnitt auf Stammebene einzuschließen. Dadurch wird Identity Server aufgefordert, nach einer Datei namenssaml2.xml
zu suchen, die sich im gleichen Ordner wie die Webanwendung undappsettings.json
oderappsettings.Production.json
befindet."Authentication": { "Saml2": { "ConfigFile": "saml2.xml" } },
"Authentication": { "Saml2": { "ConfigFile": "saml2.xml" } }, - Erstellen Sie eine XML-Datei mit dem Namen
saml2.xml
, und fügen Sie die SAML-Konfiguration hinzu. -
Ordnen Sie die Felder auf der Seite Externe Anbieter im Identity Management-Portal den entsprechenden Knoten in
saml2.xml
zu.<?xml version="1.0" encoding="utf-8"?> <configuration> <configSections> <section name="sustainsys.saml2" type="Sustainsys.Saml2.Configuration.SustainsysSaml2Section, Sustainsys.Saml2" /> </configSections> <sustainsys.saml2 entityId="--1--" returnUrl="--5--"> <identityProviders> <add entityId="--2--" signOnUrl="--3--" allowUnsolicitedAuthnResponse="--4--" binding="--6--"> <signingCertificate storeName="--7--" storeLocation="--8--" findValue="--9--" x509FindType="FindByThumbprint"/> </add> </identityProviders> <serviceCertificates> <add use="Both" storeName="--10--" storeLocation="--11--" findValue="--12--" x509FindType="FindByThumbprint"/> </serviceCertificates> </sustainsys.saml2> </configuration>
<?xml version="1.0" encoding="utf-8"?> <configuration> <configSections> <section name="sustainsys.saml2" type="Sustainsys.Saml2.Configuration.SustainsysSaml2Section, Sustainsys.Saml2" /> </configSections> <sustainsys.saml2 entityId="--1--" returnUrl="--5--"> <identityProviders> <add entityId="--2--" signOnUrl="--3--" allowUnsolicitedAuthnResponse="--4--" binding="--6--"> <signingCertificate storeName="--7--" storeLocation="--8--" findValue="--9--" x509FindType="FindByThumbprint"/> </add> </identityProviders> <serviceCertificates> <add use="Both" storeName="--10--" storeLocation="--11--" findValue="--12--" x509FindType="FindByThumbprint"/> </serviceCertificates> </sustainsys.saml2> </configuration> - Fügen Sie die Einstellungen hinzu, die Sie benötigen. Verwenden Sie beispielsweise
publicOrigin
in Szenarien mit Lastenausgleich oderminIncomingSigningAlgorithm
, wenn Sie die SHA256-Standardoption ändern möchten. - Speichern Sie die Dateien, und starten Sie die Identity Server-Webanwendung in IIS neu. Wenn bei der SAML-Konfiguration Fehler auftreten, sollten Fehlerereignisse in Ihren Protokollen sichtbar sein. Sie können die Windows-Ereignisanzeige, das Standardtool für diesen Zweck, verwenden.
UiPath.Orchestrator.dll.config
des Orchestrators bietet keine Möglichkeit, die Ablaufzeit des Bearer-Token zu ändern.
AccessTokenLifetime
des Clients Orchestrator.Ropc
in der Clients
-Datenbank des Identity Servers angepasst wird.
Im folgenden Beispiel wird die Ablaufzeit des Bearer-Token auf 86400 Sekunden (24 Stunden) festgelegt.
UPDATE [identity].[Clients]
SET AccessTokenLifetime = 86400
WHERE ClientName = 'Orchestrator.Ropc'
UPDATE [identity].[Clients]
SET AccessTokenLifetime = 86400
WHERE ClientName = 'Orchestrator.Ropc'
UiPath.Orchestrator.dll.config
-Datei des Orchestrators bietet keine Möglichkeit, die Ablaufzeit für das Token zu aktualisieren, das zur Authentifizierung bei den Verwaltungsportalen auf Host- und Organisationsebene verwendet wird. Daher kommt es bei Benutzersitzungen nicht zu einer Zeitüberschreitung.
accessTokenLifetime
aktualisieren, indem Sie die folgenden Anweisungen befolgen:
- Rufen Sie ein Client-Installationstoken für den Host ab.
- Melden Sie den Systemadministratorbenutzer ab.
- Navigieren Sie zur Identity Server Swagger API unter
https://<server>/identity/swagger
. - Autorisieren Sie mithilfe von
Bearer <token>
, wobei der<token>
-Wert in Schritt 1 ermittelt wurde. - Rufen Sie Clientdetails mit GET
/api/Client/6654E78D-8490-4ABE-9C40-D28267C89F3A
ab. - Kopieren Sie den Antworttext und ändern Sie den Eigenschaftswert
accessTokenLifetime
in den gewünschten Wert für den Tokenablauf (in Sekunden). - Verwenden Sie den bearbeiteten Antworttext in einer PUT
/api/Client/6654E78D-8490-4ABE-9C40-D28267C89F3A
-Anforderung. - Stellen Sie sicher, dass der Antworttext den aktualisierten Wert für die Eigenschaft
accessTokenLifetime
enthält.
Die Abmeldeanforderung hat manchmal eine URL-Abfragezeichenfolge, die die standardmäßige maximale Abfragezeichenfolgelänge von IIS überschreitet. Hier sind zwei Möglichkeiten, diese Einstellung zu ändern:
web.config
werden beim Upgrade ab Version 2021.10 nicht beibehalten.
- Navigieren Sie in der Struktur Verbindungen zu Seiten -> UiPath Orchestrator -> Identity.
- Doppelklicken Sie auf das Symbol zum Filtern von Anfragen.
- Klicken Sie im rechten Bereich auf Funktionseinstellungen bearbeiten.
- Erhöhen Sie den Wert für die maximale Abfragezeichenfolge (Bytes).
-
Suchen Sie die Datei
web.config
für Identity.- Standardmäßig ist dies für
MSI
-InstallationenC:\Program Files (x86)\UiPath\Orchestrator\Identity\web.config
. - Öffnen Sie bei Azure App Service-Installationen den App Service-Editor unter Entwicklungstools und navigieren Sie zu
wwwroot/Web/web.config
. Stellen Sie sicher, dass Sie Identity ändern und nicht den Orchestrator.
- Standardmäßig ist dies für
-
Öffnen Sie die Datei mit einem Texteditor und suchen Sie den Knoten requestFiltering, der sich unter dem Knoten security befindet. Fügen Sie unter requestFiltering einen requestLimits-Knoten hinzu, wie unten gezeigt:
<configuration> <location path="." inheritInChildApplications="false"> <system.webServer> <security> <requestFiltering> <requestLimits maxQueryString="4096" /> </requestFiltering> </security> </system.webServer> </location> </configuration>
<configuration> <location path="." inheritInChildApplications="false"> <system.webServer> <security> <requestFiltering> <requestLimits maxQueryString="4096" /> </requestFiltering> </security> </system.webServer> </location> </configuration>
Upgrades auf 2022.4 können aufgrund eines Identity Server-Datenbankproblems mit einem Timeout-Fehler fehlschlagen. Um das Problem zu beheben, müssen Sie das folgende Skript ausführen und den Vorgang wiederholen.
DELETE [identity].[PersistedGrants] WHERE [Expiration] < GETUTCDATE()
DECLARE @ConsumedTime DATETIME = DATEADD(SECOND, -7200, GETUTCDATE())
DELETE [identity].[PersistedGrants] WHERE [ConsumedTime] IS NOT NULL AND [ConsumedTime] < @ConsumedTime
DELETE [identity].[PersistedGrants] WHERE [Expiration] < GETUTCDATE()
DECLARE @ConsumedTime DATETIME = DATEADD(SECOND, -7200, GETUTCDATE())
DELETE [identity].[PersistedGrants] WHERE [ConsumedTime] IS NOT NULL AND [ConsumedTime] < @ConsumedTime
Benutzer, die Teil mehrerer Mandanten sind, erhalten bei der Authentifizierung den Fehler „Fehler beim Kontaktieren des Partitionsdiensts zum Validieren der Organisation (#404)“. Dieser Fehler tritt auf, weil die Authentifizierungsanforderung die standardmäßige Längenbeschränkung der Abfragezeichenfolge in IIS (2048 Zeichen) überschreitet, insbesondere bei Benutzern, die einer beträchtlichen Anzahl von Mandanten zugeordnet sind (normalerweise mehr als 30 Mandanten).
Dieses Problem beheben Sie, indem Sie die Längenbegrenzung für Abfragezeichenfolgen im IIS anpassen.
- Navigieren Sie in der Struktur Verbindungen zu Seiten -> UiPath Orchestrator -> Identity.
- Doppelklicken Sie auf das Symbol zum Filtern von Anfragen.
- Klicken Sie im rechten Bereich auf Funktionseinstellungen bearbeiten.
- Erhöhen Sie den Wert für die maximale Abfragezeichenfolge (Bytes).
-
Suchen Sie die Datei
web.config
für Identity.- Standardmäßig ist dies für
MSI
-InstallationenC:\Program Files (x86)\UiPath\Orchestrator\Identity\web.config
. - Öffnen Sie bei Azure App Service-Installationen den App Service-Editor unter Entwicklungstools und navigieren Sie zu
wwwroot/Web/web.config
. Stellen Sie sicher, dass Sie Identity ändern und nicht den Orchestrator.
- Standardmäßig ist dies für
-
Öffnen Sie die Datei mit einem Texteditor und suchen Sie den Knoten requestFiltering, der sich unter dem Knoten security befindet. Fügen Sie unter requestFiltering einen requestLimits-Knoten hinzu, wie unten gezeigt:
<configuration> <location path="." inheritInChildApplications="false"> <system.webServer> <security> <requestFiltering> <requestLimits maxQueryString="4096" /> </requestFiltering> </security> </system.webServer> </location> </configuration>
<configuration> <location path="." inheritInChildApplications="false"> <system.webServer> <security> <requestFiltering> <requestLimits maxQueryString="4096" /> </requestFiltering> </security> </system.webServer> </location> </configuration>
- Anzeigen zusätzlicher Informationen in Protokollen
- Fehlerhafte Installation des .NET Core-Hostingpakets
- Kein Zugriff auf die Seite „Externe Anbieter“ nach dem Upgrade auf den Orchestrator 2020.4+
- /api/account/authenticate Fehler bei Aufrufen für Benutzer, die bei der ersten Anmeldung Kennwörter geändert haben
- Fehler „Keyset ist nicht vorhanden“ nach der Installation
- RobotKeyMigration schlägt während der Aktualisierung fehl
- Bereitstellungen mit Sprachen, die Nicht-ASCII-Zeichen enthalten
- Konfigurieren von SAML-Einstellungen auf der Identity Server-Benutzeroberfläche nicht verfügbar
- Ändern der Ablaufzeit des Bearer-Tokens
- Festlegen eines Timeout-Intervalls für die Verwaltungsportale
- A. Über API
- Über SQL
- Zeitweiser 404er Fehler beim Abmelden
- Verwenden des IIS-Manager-Tools
- Ändern der Identität „Web.config“
- Upgrade schlägt mit Timeout fehl
- 404, wenn ein Benutzer in mehreren Mandanten versucht, sich zu authentifizieren
- Verwenden des IIS-Manager-Tools
- Ändern der Identität „Web.config“
- AD-Vorgänge schlagen nach dem Upgrade auf Orchestrator 2021.10+ fehl.