orchestrator
2023.10
false
UiPath logo, featuring letters U and I in white
Installationsanleitung für den Orchestrator
Automation CloudAutomation Cloud Public SectorAutomation SuiteStandalone
Last updated 3. Okt. 2024

Identity Server AppSettings.json

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.
  • Wenn Sie Version 2023.4 und höher verwenden und applicationhost.config durch Hinzufügen von X-Content-Type-Options geändert haben, müssen Sie es aus der appsettings.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>
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>;" }"ConnectionStrings": { "DefaultConnection": "Server=.\\sqlexpress;Database=IdentityServer;User ID=<username>;Password=<password>;" }

Verschlüsselung

Der Abschnitt 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.
Diese Einstellung hat Werte in 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 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-Schlüssel

Orchestrator-Schlüssel

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 Parameter CertificatesStoreLocation in UiPath.Orchestrator.dll.config auf LocalMachinefestgelegt ist, stellen Sie sicher, dass AzureKeyVaultCertificateStoreLocation in appsettings.Production.json den gleichen Wert hat.
Wichtig: Wenn Sie den Verschlüsselungsschlüssel oder die Azure Key Vault -Einstellungen in UiPath.Orchestrator.dll.configvon Orchestrator ändern, müssen Sie auch appsettings.Production.json von Identity Server mit denselben Werten aktualisieren.

Protokollierung

Im Abschnitt Logging wird die Protokollebene für jede von Identity Server verwendete Komponente konfiguriert. Dies ist eine generische Protokollierungskonfiguration. Weitere Informationen finden Sie hier.
Dieser Abschnitt hat Werte in appsettings.json.
"Logging": {
  "LogLevel": {
    "Default": "Trace",
    "Microsoft": "Warning",
    "Microsoft.Hosting.Lifetime": "Information"
  }
}"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.
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"
    }
  ]
},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 30 Minuten 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 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"
      }
    }"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"
}"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

Der Abschnitt LoadBalancerSettings enthält die folgenden Standardwerte in appsettings.Production.json und im Code:
"LoadBalancerSettings": {
  "RedisConnectionString": "",
  "SlidingExpirationTimeInSeconds":  600
}"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 – Kann nur verwendet werden, wenn LoadBalancer.UseRedis auf true festgelegt 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"
  • 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 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.
  • UseRedisStoreClientCache – Legen Sie den Wert auf true fest, 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

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

War diese Seite hilfreich?

Hilfe erhalten
RPA lernen – Automatisierungskurse
UiPath Community-Forum
Uipath Logo White
Vertrauen und Sicherheit
© 2005–2024 UiPath. Alle Rechte vorbehalten