Abonnieren

UiPath Installation and Upgrade

Die UiPath-Installations- und Upgrade-Anleitung

⚙ AppSettings.json für Identity Server

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 von appsettings.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):

  1. Wert in der Datei appsettings.Production.json
  2. Wert in der Datei appsettings.json
  3. Standardwert im Code festgelegt. Wird nur verwendet, wenn eine bestimmte Einstellung nicht in appsettings.Production.json oder appsettings.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 Wert ConfigFileKey innerhalb des Codes. Die akzeptierten Werte sind AzureKeyVault und ConfigFileKey. Während der Identity Server-Installation wird der Wert aus der EncryptionKeyPerTenant.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 KeyOrchestrator Key
EncryptionKeyPerTenantEncryptionKeyPerTenant.Enabled
AzureKeyVaultAddressAzure.KeyVault.VaultAddress
AzureKeyVaultCertificateThumbprintAzure.KeyVault.CertificateThumbprint
AzureKeyVaultClientIdAzure.KeyVault.ClientId
AzureKeyVaultDirectoryIdAzure.KeyVault.DirectoryId
MultiTenantEncryptionKeyProviderEncryptionKeyPerTenant.KeyProvider

🚧

Wichtig!

Wenn der Paramter CertificatesStoreLocation in UiPath.Orchestrator.dll.config auf LocalMachine festgelegt ist, stellen Sie sicher, dass AzureKeyVaultCertificateStoreLocation in appsettings.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 Datei appsettings.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=&#xD;&#xA;&#x9;}}"
    }
  },
  "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 von appsettings.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 in appsettings.Production.json und appsettings.json.

📘

Hinweis:

Stellen Sie sicher, dass Sie als Wert für IdentityServerAddress eine URL aus Kleinbuchstaben angeben; andernfalls tritt ein Fehler auf.

  • Saml2ValidCertificateOnly - Wenn auf true festgelegt, ist die Verwendung ungültiger Zertifikate beim Konfigurieren von SAML2 nicht zulässig.
    Standardmäßig hat die Einstellung den Wert true innerhalb des Codes.
  • EnablePII - Wenn auf true 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 Wert false in appsettings.json und im Code.
  • HideErrorCodesInUi - Steuern Sie, ob Anmeldefehlercodes auf der Benutzeroberfläche angezeigt werden. Dieser Parameter wird standardmäßig nicht angezeigt. Der Standardwert ist false. Legen Sie true 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 in appsetttings.Production.json wird automatisch von Orchestrator migriert, das dieselbe Einstellung hat.
    Standardmäßig wird der Wert in appsettings.Production.json und des Codes auf 60 Sekunden festgelegt.
  • CookieExpireMinutes - stellt das Zeitintervall (in Minuten) dar, nach dem das Identity Server-Cookie abläuft. Der Wert in appsetttings.Production.json wird automatisch von Orchestrator migriert, das dieselbe Einstellung hat.
    Standardmäßig wird der Wert in appsettings.Production.json und im Code auf 60 Minuten festgelegt.
  • UseRedisStoreCache – Legen Sie den Wert auf true 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 in LoadBalancerSettings angegeben ist. Die Einstellung UseRedisStoreCache 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.
  • 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 in appsettings.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": {
  "UseRedis": false,
  "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.

  • UseRedis- Verwenden Sie Redis als eine Datenbank zum Verteilen von Meldungen von und zu all den Maschinen, die über Ihren Lastausgleich verbunden sind. Dies ist für Multi-Node obligatorisch.
  • RedisConnectionString - Can only be used if LoadBalancer.UseRedis is set to true. 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"
  • 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).

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 Sie Name, Location und NameType 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 Abschnitt 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"
  }

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 Datei appsettings.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 Datei appsettings.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 ungefähr einem Jahr aktualisiert


⚙ AppSettings.json für Identity Server


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.