Orchestrator
2022.4
False
Bannerhintergrundbild
Installationsanleitung für den Orchestrator
Letzte Aktualisierung 19. Apr. 2024

Fehlerbehebung bei Identity Server

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 öffentlicher Schlüssel für Zertifikate oder versteckter personenbezogener Daten (PII) zu aktivieren, aktualisieren Sie die folgende Einstellung in der Datei appsettings.Production.json von Identity Server in Ihrem vorhandenen AppSettings-Abschnitt:
"AppSettings": {
    "EnablePII": true
  },"AppSettings": {
    "EnablePII": true
  },
Hinweis: Selbst nach der Aktualisierung der 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.configvon 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.

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+

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.

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

/api/account/authenticate Fehler bei Aufrufen für Benutzer, die bei der ersten Anmeldung Kennwörter 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 Seite Profil von Orchestrator ändern.

Fehler „Keyset ist nicht vorhanden“ 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 $aclimport-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 schlägt während der Aktualisierung fehl

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

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

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.

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:

  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"
       }
     },"Authentication": {
       "Saml2": {
         "ConfigFile": "saml2.xml"
       }
     },
  3. Erstellen Sie eine XML-Datei mit dem Namen saml2.xml, und fügen Sie die SAML-Konfiguration hinzu.
  4. 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>
  5. 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.
  6. 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'UPDATE [identity].[Clients]
SET AccessTokenLifetime = 86400
WHERE ClientName = 'Orchestrator.Ropc'

Festlegen eines Timeout-Intervalls für die Verwaltungsportale

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

Im folgenden Beispiel wird das Timeout-Intervall auf 86400 Sekunden (24 Stunden) festgelegt:

UPDATE [identity].[Clients] SET AccessTokenLifetime = 86400 WHERE ClientName = 'Portal.OpenId'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:

Wichtig: Ä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).


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

Ändern der Identität „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><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] < @ConsumedTimeDELETE [identity].[PersistedGrants] WHERE [Expiration] < GETUTCDATE()
DECLARE @ConsumedTime DATETIME = DATEADD(SECOND, -7200, GETUTCDATE())
DELETE [identity].[PersistedGrants] WHERE [ConsumedTime] IS NOT NULL AND [ConsumedTime] < @ConsumedTime

404, wenn ein Benutzer in mehreren Mandanten versucht, sich zu authentifizieren

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.

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


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

Ändern der Identität „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><configuration>
      <location path="." inheritInChildApplications="false">
        <system.webServer>
          <security>
            <requestFiltering>
              <requestLimits maxQueryString="4096" />
            </requestFiltering>
          </security>
        </system.webServer>
      </location>
    </configuration>

AD-Vorgänge schlagen nach dem Upgrade auf Orchestrator 2021.10+ fehl.

Nach der Aktualisierung auf den eigenständigen Orchestrator 2021.10+ schlagen AD-Vorgänge beim Versuch der Authentifizierung fehl.

Hinweis:

Eine temporäre Lösung besteht darin, loadUserProfile in IIS auf True festzulegen.

War diese Seite hilfreich?

Hilfe erhalten
RPA lernen – Automatisierungskurse
UiPath Community-Forum
UiPath Logo weiß
Vertrauen und Sicherheit
© 2005-2024 UiPath. All rights reserved.