- Erste Schritte
- Anforderungen
- Best Practices
- Installation
- Wird aktualisiert
- Identity Server
- Fehlerbehebung bei Startfehlern

Installationsanleitung für den Orchestrator
appsettings.json (C:\Program Files (x86)\UiPath\Orchestrator\Identity) enthält die sofort einsatzbereiten Konfigurationseinstellungen für Identity Server. Eine zweite, identische Datei, appsettings.Production.json, enthält ihre spezifischen Identity Server-Einstellungen.
-
Um Identity Server nach Bedarf zu konfigurieren, müssen Sie die Datei
appsettings.Production.jsonändern. Diese Datei überschreibt nach jedem Installationsvorgang alle bereits vorhandenen Einstellungen innerhalb vonappsettings.json. -
Wenn Sie Version 2023.4 und höher verwenden und
applicationhost.configdurch Hinzufügen vonX-Content-Type-Optionsgeändert haben, müssen Sie es aus derappsettings.Production.json-Datei von Identity entfernen. Siehe folgendes Beispiel:<?xml version="1.0" encoding="utf-8"?> <configuration> <location path="." inheritInChildApplications="false"> <system.webServer> <httpProtocol> <customHeaders> <remove name="X-Powered-By" /> <!-- <add name="X-Content-Type-Options" value="nosniff" /> --> </customHeaders><?xml version="1.0" encoding="utf-8"?> <configuration> <location path="." inheritInChildApplications="false"> <system.webServer> <httpProtocol> <customHeaders> <remove name="X-Powered-By" /> <!-- <add name="X-Content-Type-Options" value="nosniff" /> --> </customHeaders>
Es empfiehlt sich, dass nur Administratoren die Werte dieser Parameter ändern.
appsettings.Production.json-Einstellungen unter allen Umständen zu ändern.
Parameter, die nicht auf dieser Seite dokumentiert sind, dürfen nicht geändert werden.
Bei allen Parametern wird Groß-/Kleinschreibung berücksichtigt.
Einstellungen können an mehreren Stellen konfiguriert werden. Hier sind die Prioritäten, die von Identity Server bei der Bestimmung des Werts einer Einstellung verwendet werden, geordnet von hoch (1) nach niedrig (3):
- Wert in der Datei
appsettings.Production.json - Wert in der Datei
appsettings.json - Standardwert im Code festgelegt. Wird nur verwendet, wenn eine bestimmte Einstellung nicht in
appsettings.Production.jsonoderappsettings.jsongefunden werden kann.
appsettings.json hat eine interne Struktur, die aus mehreren JSON-Abschnitten besteht, die durch ein Komma getrennt sind.
Verbindungszeichenfolge
ConnectionStrings wird zum Speichern der Identity Server-Datenbankverbindungszeichenfolge verwendet. Dieser Wert wird vom Installationsprogramm aufgefüllt.
appsettings.Production.json und appsettings.json.
"ConnectionStrings": { "DefaultConnection": "Server=.\\sqlexpress;Database=IdentityServer;User ID=<username>;Password=<password>;" }"ConnectionStrings": { "DefaultConnection": "Server=.\\sqlexpress;Database=IdentityServer;User ID=<username>;Password=<password>;" }Verschlüsselung
EncryptionSettings wird zum Speichern von Mandantenverschlüsselungsschlüsseln verwendet. Die Werte werden während der Installation automatisch aus UiPath.Orchestrator.dll.config von Orchestrator migriert.
appsettings.Production.json und appsettings.json.
"EncryptionSettings": {
"EncryptionKey": "3wkO1hkaXLwR9LZoRZIueIxG3GIEB/YMDZUWhD9AR8g="
}"EncryptionSettings": {
"EncryptionKey": "3wkO1hkaXLwR9LZoRZIueIxG3GIEB/YMDZUWhD9AR8g="
}Identity Server kann für die Verwendung eines lokalen Schlüssels (siehe oben) oder eines Azure-Schlüsseltresors (siehe unten) konfiguriert werden, genau wie Orchestrator.
"EncryptionSettings": {
"MultiTenantEncryptionKeyProvider": "AzureKeyVault",
"EncryptionKeyPerTenant": true,
"AzureKeyVaultAddress": "keyVaultAddress",
"AzureKeyVaultCertificateThumbprint": "keyvaultCertificateThumbprint",
"AzureKeyVaultClientId" : "azureClientId"
},"EncryptionSettings": {
"MultiTenantEncryptionKeyProvider": "AzureKeyVault",
"EncryptionKeyPerTenant": true,
"AzureKeyVaultAddress": "keyVaultAddress",
"AzureKeyVaultCertificateThumbprint": "keyvaultCertificateThumbprint",
"AzureKeyVaultClientId" : "azureClientId"
},MultiTenantEncryptionKeyProvider- gibt an, in welcher Schlüsselverwaltungsanwendung die von Orchestrator pro Mandant generierten Verschlüsselungsschlüssel gespeichert werden sollen. Standardmäßig hat die Einstellung den WertConfigFileKeyinnerhalb des Codes. Die akzeptierten Werte sindAzureKeyVaultundConfigFileKey. Während der Identity Server-Installation wird der Wert aus derEncryptionKeyPerTenant.KeyProvider-Einstellung von UiPath.Orchestrator.dll.config kopiert.
UiPath.Orchestrator.dll.config überein:
|
Identity Server-Schlüssel |
Orchestrator-Schlüssel |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
UiPath.Orchestrator.dll.config auf LocalMachinefestgelegt ist, stellen Sie sicher, dass AzureKeyVaultCertificateStoreLocation in appsettings.Production.json den gleichen Wert hat.
UiPath.Orchestrator.dll.configvon Orchestrator ändern, müssen Sie auch appsettings.Production.json von Identity Server mit denselben Werten aktualisieren.
Protokollierung
Logging wird die Protokollebene für jede von Identity Server verwendete Komponente konfiguriert. Dies ist eine generische Protokollierungskonfiguration. Weitere Informationen finden Sie hier.
appsettings.json.
"Logging": {
"LogLevel": {
"Default": "Trace",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
}"Logging": {
"LogLevel": {
"Default": "Trace",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
}Microsoft und Microsoft.Hosting.Lifetime bereit.
NLog
NLog wird definiert, wie Informationen in Identity Server über NLog-Ziele protokolliert werden, genau wie in Orchestrator.
appsettings.json.
json
"NLog": {
"IncludeScopes": true,
"throwConfigExceptions": false,
"targets": {
"EventLog": {
"type": "EventLog",
"source": "IdentityService",
"layout": "${longdate} ${logger} ${message}${onexception:${newline}${exception:maxInnerExceptionLevel=10:format=shortType,message,stacktrace:separator=*:innerExceptionSeparator=
	}}"
}
},
"rules": [
{
"logger": "*",
"minLevel": "Info",
"writeTo": "EventLog"
}
]
},json
"NLog": {
"IncludeScopes": true,
"throwConfigExceptions": false,
"targets": {
"EventLog": {
"type": "EventLog",
"source": "IdentityService",
"layout": "${longdate} ${logger} ${message}${onexception:${newline}${exception:maxInnerExceptionLevel=10:format=shortType,message,stacktrace:separator=*:innerExceptionSeparator=
	}}"
}
},
"rules": [
{
"logger": "*",
"minLevel": "Info",
"writeTo": "EventLog"
}
]
},
Standardmäßig ist NLog so konfiguriert, dass Protokolle in ApplicationEvents geschrieben werden. Lesen Sie hier weitere Informationen zum Konfigurieren von NLog mithilfe eines json-Abschnitts.
App-Einstellungen
AppSettings ist der Hauptkonfigurationsabschnitt von Identity Server. Dieser Abschnitt hat Werte in appsettings.Production.json und appsettings.json.
-
IdentityServerAddress- stellt die Zielgruppe dar, die Identity Server bei der Validierung des Token prüft, das zum Aufruf der Identity Server-API verwendet wird. Während der Installation wird dieses Feld innerhalb vonappsettings.Production.jsonautomatisch mit der Adresse von Identity Server ausgefüllt. Ändern Sie diesen Wert nicht, da dies die Orchestrator-Datenweitergabe unterbricht.Diese Einstellung hat Werte inappsettings.Production.jsonundappsettings.json.Hinweis: Stellen Sie sicher, dass Sie als Wert fürIdentityServerAddresseine URL aus Kleinbuchstaben angeben; andernfalls tritt ein Fehler auf. -
Saml2ValidCertificateOnly- Wenn auftruefestgelegt, ist die Verwendung ungültiger Zertifikate beim Konfigurieren von SAML2 nicht zulässig.Standardmäßig hat die Einstellung den Werttrueinnerhalb des Codes. -
EnablePII- Wenn auftruefestgelegt, enthalten die Ausnahmen vertrauliche Informationen (z. B. die URL-Adresse des externen Identitätsanbieters oder die Adresse von Identity Server usw.).Standardmäßig hat die Einstellung den Wertfalseinappsettings.jsonund im Code. HideErrorCodesInUi- Steuern Sie, ob Anmeldefehlercodes auf der Benutzeroberfläche angezeigt werden. Dieser Parameter wird standardmäßig nicht angezeigt. Der Standardwert istfalse. Legen Sietruefest, um Anmeldefehlercodes auf der Benutzeroberfläche auszublenden. Beispiel:"HideErrorCodesInUi": true.-
CookieValidationInterval- stellt das Zeitintervall (in Sekunden) dar, nach dem das Cookie überprüft wird, um festzustellen, ob der Benutzer und der Mandant noch aktiv sind und ob sich der Benutzer nicht in einem anderen Browser angemeldet hat. Der Wert inappsetttings.Production.jsonwird automatisch von Orchestrator migriert, das dieselbe Einstellung hat.Standardmäßig wird der Wert inappsettings.Production.jsonund des Codes auf60Sekunden festgelegt. -
CookieExpireMinutes- stellt das Zeitintervall (in Minuten) dar, nach dem das Identity Server-Cookie abläuft. Der Wert inappsetttings.Production.jsonwird automatisch von Orchestrator migriert, das dieselbe Einstellung hat.Standardmäßig wird der Wert inappsettings.Production.jsonund im Code auf30Minuten festgelegt. -
OrchestratorUrl– Stellt die URL des Orchestrators dar. Hierhin werden Sie von Identity Server umgeleitet, wenn Sie auf das Orchestrator-Symbol im Hub-Menü des Identity Management Portalsklicken.Der Wert wird während der Installation inappsettings.Production.jsonfestgelegt.Hinweis: Stellen Sie sicher, dass Sie als Wert fürOrchestratorUrleine URL aus Kleinbuchstaben angeben; andernfalls tritt ein Fehler auf."AppSettings": { "IdentityServerAddress": "https://myIdentity.domain.local/identity", "EnablePII": false, "HideErrorCodesInUi": true, "CookieExpireMinutes": 30, "OrchestratorUrl": "https://myOrchestratorURL.domain.local" } }"AppSettings": { "IdentityServerAddress": "https://myIdentity.domain.local/identity", "EnablePII": false, "HideErrorCodesInUi": true, "CookieExpireMinutes": 30, "OrchestratorUrl": "https://myOrchestratorURL.domain.local" } }
Lokalisierung
LocalizationSettings enthält die folgenden Standardwerte im Code:
"LocalizationSettings": {
"EnabledLanguages": "en,ja,de,es,es-MX,fr,ko,pt,pt-BR,ru,tr,zh-CN"
}"LocalizationSettings": {
"EnabledLanguages": "en,ja,de,es,es-MX,fr,ko,pt,pt-BR,ru,tr,zh-CN"
}EnabledLanguages- listet die in Identity Server verfügbaren Sprachen auf. Wird verwendet, um die Anzahl der verfügbaren Sprachen zu begrenzen.
Load balancer
LoadBalancerSettings enthält die folgenden Standardwerte in appsettings.Production.json und im Code:
"LoadBalancerSettings": {
"RedisConnectionString": "",
"SlidingExpirationTimeInSeconds": 600
}"LoadBalancerSettings": {
"RedisConnectionString": "",
"SlidingExpirationTimeInSeconds": 600
}appsetttings.Production.json werden im Falle eines Upgrades mehrerer Knoten automatisch aus UiPath.Orchestrator.dll.config von Orchestrator migriert. Wenn Redis nicht innerhalb von Orchestrator konfiguriert ist, enthält appsettings.Production.json diese Einstellung.
-
RedisConnectionString– Kann nur verwendet werden, wennLoadBalancer.UseRedisauftruefestgelegt ist. Eine Verbindungszeichenfolge, die Ihnen ermöglicht, Ihren Redis-Server einzurichten, der die URL des Servers, das Kennwort und den mit Redis verwendeten Port enthält. Überdies besteht die Möglichkeit, mit SSL verschlüsselte Verbindungen zwischen den Orchestrator-Knoten und dem Redis-Dienst zu aktivieren. Weitere Informationen finden Sie hier. Beispiele:- mit aktiviertem SSL -
"RedisConnectionString": A"DOCWREDIS02:6379,password=12345678,ssl=true" - ohne aktiviertes SSL -
"RedisConnectionString": "DOCWREDIS02:6379,password=12345678"
- mit aktiviertem SSL -
SlidingExpirationTimeInSeconds- steuert die gleitende Ablaufzeit eines Elements im Cache. Diese Ablaufzeit gilt sowohl für Redis Cache als auch für InMemory Cache (dies ist die Standardeinstellung, wenn Redis nicht verfügbar ist).
Redis-Einstellungen
RedisSettings steuert, welche Caches aktiviert sind.
UseRedisStoreCache– Legen Sie den Wert auftruefest, um das Redid-Caching von OAuth-Clientdaten zu aktivieren. Dies verhindert Leistungsprobleme bei der Verwendung der interaktiven Anmeldung, um eine große Anzahl von Robotern in kurzer Zeit zu verbinden. Dieser Cache verwendet dieselbe Redis-Verbindungszeichenfolge, die inLoadBalancerSettingsangegeben ist. Die EinstellungUseRedisStoreCachewird nicht standardmäßig angezeigt.
UseRedisStoreClientCache– Legen Sie den Wert auftruefest, um Redis-Caching für Erstanbieter-Clients (UiPath-Anwendungen) oder Drittanbieter-Clients (externe Anwendungen) zu aktivieren. Wenn Sie eine umfangreiche Bereitstellung haben, wird empfohlen, dieses Flag zu aktivieren.
Signierungsanmeldeinformationen
SigningCredentialSettings wird der Speicherort des Zertifikats beschrieben, das zum Signieren der von Identity Server generierten Token verwendet wird. Die Werte der Einstellungen in diesem Abschnitt werden vom Installationsprogramm basierend auf Ihrer Eingabe aufgefüllt. Die Einstellungen können so konfiguriert werden, dass das Zertifikat aus einem Zertifikatspeicher oder aus Azure Key Vault gelesen werden kann.
Einstellungen zur Zertifikatsrotation
ValidationKeys – Geben Sie Name, Location und NameType Ihres zweiten Zertifikats an. Dies ist für die Zertifikatsrotation erforderlich.
Aus Sicherheitsgründen muss das Signaturzertifikat über einen öffentlichen 2048-Bit-Schlüssel verfügen. Stellen Sie sicher, dass das Zertifikat gültig und nicht abgelaufen ist, und dass Identity Server Zugriff auf den privaten Schlüssel hat.
SigningCredentialSettings vornehmen müssen, um sicherzustellen, dass Sie immer ein Zertifikat innerhalb seiner Gültigkeitsdauer verwenden, finden Sie unter Zertifikatsrotation.
Beispiel für Pfadeinstellungen für den Zertifikatspeicher
Hier ist eine klassische Konfiguration zum Suchen eines Zertifikats im Zertifikatspeicher:
"SigningCredentialSettings": {
"StoreLocation": {
"Name": "30f3c11e676fc8eb1f9dd4e330f3ce668d796796",
"Location": "LocalMachine",
"NameType": "Thumbprint"
}"SigningCredentialSettings": {
"StoreLocation": {
"Name": "30f3c11e676fc8eb1f9dd4e330f3ce668d796796",
"Location": "LocalMachine",
"NameType": "Thumbprint"
}Name einen Fingerabdruckwert dar.
Location und NameType zu verwenden.
Beispiel für Azure Key Vault-Pfadeinstellungen
"SigningCredentialSettings": {
"AzureKeyVaultLocation": {
"KeyName": "key_name_534553553"
}"SigningCredentialSettings": {
"AzureKeyVaultLocation": {
"KeyName": "key_name_534553553"
}KeyName den Schlüssel dar, nach dem in Azure Key Vault gesucht werden soll.
Autorisierung
-
RestrictBasicAuthentication: Ermöglicht die Steuerung, ob sich Benutzer mit grundlegenden Authentifizierungsanmeldeinformationen bei einer Orchestrator-Instanz anmelden können. Diese Einstellung wird nicht standardmäßig in der Dateiappsettings.Production.jsonangezeigt. Die folgenden Werte sind verfügbar:true: Benutzer können sich nicht mit Standard-Authentifizierungsanmeldeinformationen anmelden.false: Benutzer können sich mit Standard-Authentifizierungsanmeldeinformationen anmelden. Dies ist der Standardwert.
-
EnableBasicAuthenticationForHostTenant: Ermöglicht die Steuerung, ob sich ein Hostadministrator mit Standard-Authentifizierungsanmeldeinformationen beim Hostmandanten einer Orchestrator-Instanz anmelden kann. Diese Einstellung wird nicht standardmäßig in der Dateiappsettings.Production.jsonangezeigt. Die folgenden Werte sind verfügbar:true- Der Hostadministrator kann sich mit Standard-Authentifizierungsanmeldeinformationen anmelden. Dies ist der Standardwert.false- Der Hostadministrator kann sich nicht mit Standard-Authentifizierungsanmeldeinformationen anmelden.
RestrictBasicAuthentication-Parameter, d. h. wenn Sie EnableBasicAuthenticationForHostTenant auf true und RestrictBasicAuthentication auf true setzen, können Sie sich nur mit Standard-Authentifizierungsanmeldeinformationen auf Host-Ebene anmelden.