Abonnieren

UiPath Installation and Upgrade

Die UiPath-Installations- und Upgrade-Anleitung

Identity Server Troubleshooting

Anzeigen zusätzlicher Informationen in Protokollen

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.]'

Um die Protokollierung vertraulicher Informationen wie öffentliche Zertifikatschlüssel oder ausgeblendete personenbezogene Daten zu aktivieren, aktualisieren Sie die folgende Einstellung in der Datei appsettings.Production.json von Identity Server in Ihrem vorhandenen AppSettings-Abschnitt :

"AppSettings": {
    "EnablePII": true
  },

📘

Hinweis:

Selbst nach der Aktualisierung der EnablePII-Einstellung in der Datei appsettings.Production.json 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')

Fehlerhafte Installation des .NET Core-Hostingpakets

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. Klicken Sie hier für weitere Details.

Die offensichtliche Lösung für dieses Problem ist die Neuinstallation des .NET Core-Hostingpakets.

Kein Zugriff auf die Seite „Externe Anbieter“ nach dem Upgrade auf den Orchestrator 2020.4+

When you update your Orchestrator to 2020.4+, Identity Server migrates your previous settings. If you had previously enabled Windows authentication while having set up automatic login for Windows AD users, then after performing the upgrade, the users can't access the External Providers page if they previously logged into Identity Server. The users are logged in to the tenants directly after entering their Windows credentials.

Ohne Zugriff auf die Anmeldeseite kann sich der Host-Administrator nicht beim Hostmandanten anmelden, und er kann nicht auf Identity Management Portal zugreifen.

Wenn dies der Fall ist, öffnen Sie einen Browser im Inkognito-Modus neu, und geben Sie https://<OrchestratorURL>/identity/configuration ein.

/api/account/authenticate Fehlgeschlagene Aufrufe für Benutzer, die beim ersten Login das Kennwort geändert haben

Bei neu erstellten Benutzern, die ihr Kennwort ändern, wenn sie sich zum ersten Mal bei Orchestrator anmelden, führen alle Aufrufe, die über PowerShell an den Endpunkt /api/account/authenticate ausgeführt werden, zur Fehlermeldung Invalid credentials, failed to login.

Benutzer in dieser Situation sollten ihr Kennwort auf der Profilseite von Orchestrator ändern.

Keyset Does Not Exist Fehler nach der Installation

Nach der Installation vom UiPath Orchestrator 2020.4 kann der interne Serverfehler 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

📘

Hinweis:

Ändern Sie den Wert von $siteName entsprechend Ihrer Orchestrator-Installation.

Starten Sie die IIS-Site neu, nachdem Sie Konfigurationsänderungen vorgenommen haben.

RobotKeyMigration Fehler während der Aktualisierung

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.

Bereitstellungen mit Sprachen, die Nicht-ASCII-Zeichen enthalten

Multiple issues have been linked to localization issues in languages containing non-ascii characters. For full localization support, please upgrade to the 20.10 Insights release.

Konfigurieren von SAML-Einstellungen auf der Identity Server-Benutzeroberfläche nicht verfügbar

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.

Whereas the Identity Server UI should meet most of your needs in terms of SAML configuration, this section provides a way to control additional SAML settings that are not exposed by default. For a complete list of available settings, refer to the official Sustainsys.Saml2 documentation.

„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:

  1. Stellen Sie sicher, dass Sie den externen SAML-Identitätsanbieter auf der Seite Externe Anbieter im Identity Management-Portal aktiviert und ordnungsgemäß konfiguriert haben.
  2. Bearbeiten Sie die Datei appsettings.json oder appsettings.Production.json, um den folgenden Abschnitt auf Stammebene einzuschließen. Dadurch wird Identity Server aufgefordert, nach einer Datei namens saml2.xml zu suchen, die sich im gleichen Ordner wie die Webanwendung und appsettings.json oder appsettings.Production.json befindet.
"Authentication": {
   "Saml2": {
     "ConfigFile": "saml2.xml"
   }
 },
  1. Erstellen Sie eine XML-Datei mit dem Namen saml2.xml, und fügen Sie die SAML-Konfiguration hinzu.
  2. Ordnen Sie die Felder auf der Seite Externe Anbieter im Identity Management-Portal den entsprechenden Knoten in saml2.xml zu.
1022
<?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>
  1. Fügen Sie die Einstellungen hinzu, die Sie benötigen. Verwenden Sie beispielsweise publicOrigin in Szenarien mit Lastenausgleich oder minIncomingSigningAlgorithm, wenn Sie die SHA256-Standardoption ändern möchten.
  2. 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.

Ändern der Ablaufzeit des Bearer-Tokens

Die Datei UiPath.Orchestrator.dll.config des Orchestrators bietet keine Möglichkeit, die Ablaufzeit des Bearer-Token zu ändern.

Änderungen sind jetzt nur noch möglich, indem die Eigenschaft 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'

 

Setting a timeout interval for the Management portals

Die 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.

Um ein Zeitintervall für das Timeout für diese Portale festzulegen, können Sie die Eigenschaft accessTokenLifetime aktualisieren, indem Sie die folgenden Anweisungen befolgen:

A. Über API

  1. Rufen Sie ein Client-Installationstoken für den Host ab. Installationsschlüssel
  2. Melden Sie den Systemadministratorbenutzer ab.
  3. Navigieren Sie zur Identity Server Swagger API unter https://<server>/identity/swagger.
  4. Autorisieren Sie mithilfe von Bearer <token>, wobei der <token>-Wert in Schritt 1 ermittelt wurde.
  5. Rufen Sie Clientdetails mit GET /api/Client/6654E78D-8490-4ABE-9C40-D28267C89F3A ab.
  6. Kopieren Sie den Antworttext und ändern Sie den Eigenschaftswert accessTokenLifetime in den gewünschten Wert für den Tokenablauf (in Sekunden).
  7. Verwenden Sie den bearbeiteten Antworttext in einer PUT ​/api​/Client​/6654E78D-8490-4ABE-9C40-D28267C89F3A-Anforderung.
  8. Stellen Sie sicher, dass der Antworttext den aktualisierten Wert für die Eigenschaft accessTokenLifetime enthält.

Über SQL

The below example sets the timeout interval to 86400 seconds (24 hours):

UPDATE [identity].[Clients] SET AccessTokenLifetime = 86400 WHERE ClientName = 'Portal.OpenId'

Zeitweiser 404er Fehler beim Abmelden

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.

🚧

Einstellungen können beim Upgrade verlorengehen

Änderungen an den web.config werden beim Upgrade ab Version 2021.10 nicht beibehalten.

Verwenden des IIS-Manager-Tools

  1. Navigieren Sie in der Struktur Verbindungen zu Seiten -> UiPath Orchestrator -> Identity.
  2. Doppelklicken Sie auf das Symbol zum Filtern von Anfragen.
  3. Klicken Sie im rechten Bereich auf Funktionseinstellungen bearbeiten.
  4. Erhöhen Sie den Wert für die maximale Abfragezeichenfolge (Bytes).
391

📘

Hinweis:

Erhöhen Sie gegebenenfalls auch die maximale URL-Länge (Bytes), da die Abfragezeichenfolge Teil der Gesamtlänge der URL ist.

Ändern von Identity web.config

  1. Suchen Sie die Datei web.config für Identity.
    • Standardmäßig ist dies für MSI-Installationen C:\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.
  2. Ö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>

Upgrade schlägt mit Timeout fehl

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.

🚧

Wichtig!

Die Ausführung des folgenden Skripts macht alle Token ungültig und erfordert, dass sich alle Anwendungen und Roboter erneut authentifizieren.

DELETE [identity].[PersistedGrants] WHERE [Expiration] < GETUTCDATE()
DECLARE @ConsumedTime DATETIME = DATEADD(SECOND, -7200, GETUTCDATE())
DELETE [identity].[PersistedGrants] WHERE [ConsumedTime] IS NOT NULL AND [ConsumedTime] < @ConsumedTime

Aktualisiert vor 10 Monaten


Identity Server Troubleshooting


Auf API-Referenzseiten sind Änderungsvorschläge beschränkt

Sie können nur Änderungen an dem Textkörperinhalt von Markdown, aber nicht an der API-Spezifikation vorschlagen.