Die Datei 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.
Wichtig!
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
.
Hinweis:
Es empfiehlt sich, dass nur Administratoren die Werte dieser Parameter ändern.
Außerdem empfiehlt es sich, den IIS-Server herunterzufahren, um die
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.
Priorität der Einstellungen
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.json
oderappsettings.json
gefunden werden kann.
Einstellungen
Die Datei appsettings.json
hat eine interne Struktur, die aus mehreren JSON-Abschnitten besteht, die durch ein Komma getrennt sind.
Verbindungszeichenfolge
Der Abschnitt ConnectionStrings
wird zum Speichern der Identity Server-Datenbankverbindungszeichenfolge verwendet. Dieser Wert wird vom Installationsprogramm aufgefüllt.
Diese Einstellung hat Werte in appsettings.Production.json
und appsettings.json
.
"ConnectionStrings": {
"DefaultConnection": "Server=.\\sqlexpress;Database=IdentityServer;User ID=<username>;Password=<password>;"
}
Verschlüsselung
The EncryptionSettings
section is used to store tenant encryption keys. The values are automatically migrated from Orchestrator's UiPath.Orchestrator.dll.config
during installation.
Diese Einstellung hat Werte in appsettings.Production.json
und appsettings.json
.
"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"
},
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 WertConfigFileKey
innerhalb des Codes. Die akzeptierten Werte sindAzureKeyVault
undConfigFileKey
. Während der Identity Server-Installation wird der Wert aus derEncryptionKeyPerTenant.KeyProvider
-Einstellung von UiPath.Orchestrator.dll.config kopiert.
Die folgenden Identity Server-Schlüssel stimmen mit den Orchestrator-Schlüsseln im Abschnitt SecureAppSettings von UiPath.Orchestrator.dll.config
überein:
Identity Server Key | Orchestrator Key |
---|---|
EncryptionKeyPerTenant | EncryptionKeyPerTenant.Enabled |
AzureKeyVaultAddress | Azure.KeyVault.VaultAddress |
AzureKeyVaultCertificateThumbprint | Azure.KeyVault.CertificateThumbprint |
AzureKeyVaultClientId | Azure.KeyVault.ClientId |
AzureKeyVaultDirectoryId | Azure.KeyVault.DirectoryId |
MultiTenantEncryptionKeyProvider | EncryptionKeyPerTenant.KeyProvider |
Wichtig!
Wenn der Paramter
CertificatesStoreLocation
inUiPath.Orchestrator.dll.config
aufLocalMachine
festgelegt ist, stellen Sie sicher, dassAzureKeyVaultCertificateStoreLocation
inappsettings.Production.json
denselben Wert hat.
Wichtig!
Wenn Sie den Verschlüsselungsschlüssel oder die Azure Key Vault-Einstellungen in der Datei
UiPath.Orchestrator.dll.config
von Orchestrator ändern, müssen Sie auch die Dateiappsettings.Production.json
von Identity Server mit denselben Werten aktualisieren.
Protokollierung
The Logging
section configures the log level for each component used by Identity Server. This is a generic logging configuration. Find more information here.
Dieser Abschnitt hat Werte in appsettings.json
.
"Logging": {
"LogLevel": {
"Default": "Trace",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
}
Identity Server stellt einige Standardeinstellungen für einige wichtige Komponenten wie Microsoft
und Microsoft.Hosting.Lifetime
bereit.
NLog
Im Abschnitt NLog
wird definiert, wie Informationen in Identity Server über NLog-Ziele protokolliert werden, genau wie in Orchestrator.
Dieser Abschnitt hat Werte in appsettings.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
Der Abschnitt 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.json
automatisch 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.json
undappsettings.json
.
Hinweis:
Stellen Sie sicher, dass Sie als Wert für
IdentityServerAddress
eine URL aus Kleinbuchstaben angeben; andernfalls tritt ein Fehler auf.
Saml2ValidCertificateOnly
- Wenn auftrue
festgelegt, ist die Verwendung ungültiger Zertifikate beim Konfigurieren von SAML2 nicht zulässig.
Standardmäßig hat die Einstellung den Werttrue
innerhalb des Codes.EnablePII
- Wenn auftrue
festgelegt, 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 Wertfalse
inappsettings.json
und im Code.HideErrorCodesInUi
- Steuern Sie, ob Anmeldefehlercodes auf der Benutzeroberfläche angezeigt werden. Dieser Parameter wird standardmäßig nicht angezeigt. Der Standardwert istfalse
. Legen Sietrue
fest, 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.json
wird automatisch von Orchestrator migriert, das dieselbe Einstellung hat.
Standardmäßig wird der Wert inappsettings.Production.json
und des Codes auf60
Sekunden festgelegt.CookieExpireMinutes
- stellt das Zeitintervall (in Minuten) dar, nach dem das Identity Server-Cookie abläuft. Der Wert inappsetttings.Production.json
wird automatisch von Orchestrator migriert, das dieselbe Einstellung hat.
Standardmäßig wird der Wert inappsettings.Production.json
und im Code auf60
Minuten festgelegt.OrchestratorUrl
- Represents the URL of the Orchestrator. This is where Identity Server redirects you when you click the Orchestrator icon within Identity Management Portal's Hub menu.
Der Wert wird während der Installation inappsettings.Production.json
festgelegt.
Hinweis:
Stellen Sie sicher, dass Sie als Wert für
OrchestratorUrl
eine 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"
}
}
Lokalisierung
Der Abschnitt 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"
}
EnabledLanguages
- listet die in Identity Server verfügbaren Sprachen auf. Wird verwendet, um die Anzahl der verfügbaren Sprachen zu begrenzen.
Lastausgleich
Der Abschnitt LoadBalancerSettings
enthält die folgenden Standardwerte in appsettings.Production.json
und im Code:
"LoadBalancerSettings": {
"RedisConnectionString": "",
"SlidingExpirationTimeInSeconds": 600
}
Die Werte in 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
- Can only be used ifLoadBalancer.UseRedis
is set totrue
. A connection string that enables you to set up your Redis server, which contains the URL of the server, the password, and port used with Redis. It is also possible to enable SSL encrypted connections between the Orchestrator nodes and the Redis service. For more information, please click here. Examples:- mit aktiviertem SSL -
"RedisConnectionString": "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
Der Abschnitt RedisSettings
steuert, welche Caches aktiviert sind.
UseRedisStoreCache
– Legen Sie den Wert auftrue
fest, 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 inLoadBalancerSettings
angegeben ist. Die EinstellungUseRedisStoreCache
wird nicht standardmäßig angezeigt.
Hinweis: Dies wird nicht empfohlen, wenn Sie die Funktion Externe Anwendungen verwenden, da diese Einstellung Clients zwischenspeichert und Aktualisierungen für externe Anwendungen nicht widergespiegelt werden.UseRedisStoreClientCache
- Set its value totrue
to enable Redis caching for first-party clients (UiPath applications) or third-party clients (external applications). If you have a large-scale deployment, it is recommended to enable this flag.
Signierungsanmeldeinformationen
Im Abschnitt 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 SieName
,Location
undNameType
Ihres zweiten Zertifikats an. Dies ist für die Zertifikatsrotation erforderlich.
Hinweis:
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.
Weitere Informationen zu den Anpassungen, die Sie im AbschnittSigningCredentialSettings
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"
}
In diesem Beispiel stellt Name
einen Fingerabdruckwert dar.
Es wird nicht empfohlen, andere Werte für Location
und NameType
zu verwenden.
Beispiel für Azure Key Vault-Pfadeinstellungen
"SigningCredentialSettings": {
"AzureKeyVaultLocation": {
"KeyName": "key_name_534553553"
}
In diesem Beispiel stellt 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.json
angezeigt. 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.json
angezeigt. 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.
Dieser Parameter umgeht den 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.
Vor etwa einem Monat aktualisiert