- Erste Schritte
- Anforderungen
- Best Practices
- Installation
- Wird aktualisiert
- Identity Server
- Fehlerbehebung bei Startfehlern
Führen Sie das Skript Publish-IdentityServer.ps1 für die erste Bereitstellung oder Aktualisierungen des Identity Server aus
Veröffentlichen auf Identity Server
In der folgenden Tabelle sind alle Parameter beschrieben, die mit dem Skript Publish-IdentityServer.ps1 verwendet werden können.
| Parameter | Beschreibung |
|---|---|
|
| Mandatory. Indicates the type of scenario you want to start. Die folgenden Optionen sind verfügbar:
|
|
| Mandatory. The Azure service principal ID. Please note that the used service principal needs to be assigned the Contributor role to the app service at the subscription scope. |
|
| Obligatorisch. Das Azure-Tokenkennwort für die Dienstprinzipal-ID. |
|
| Obligatorisch. Die Azure-Abonnement-ID für den App Service, der Orchestrator hostet. |
|
| Obligatorisch. Die Azure-Mandanten-ID. |
|
| Obligatorisch. Die URL der Orchestrator-Instanz. |
|
| Obligatorisch. Die URL des Identity Servers. /identity in lowercase.
Beispiel: |
|
| Obligatorisch. Die URL des Ressourcenkatalogs. |
|
| Dieser Parameter ist eine Hashtabelle, die die folgenden Werte enthält:
|
|
| Dieser Parameter ist eine Hashtabelle, die die folgenden Werte enthält:
|
|
| Obligatorisch. Geben Sie den vollständigen Pfad oder relativen Pfad des Archivs UiPath.IdentityServer.Web.zip an. |
|
| Obligatorisch. Geben Sie den vollständigen Pfad oder relativen Pfad des Archivs UiPath.IdentityServer.Migrator.Cli.zip an. |
|
| Optional. Kann nur verwendet werden, wenn sich der Bereitstellungs-Slot des App Service für Identity Server von dem durch Azure festgelegten Standard-Produktionsslot von App-Service unterscheidet. |
|
| Optional. Wenn vorhanden, wird die Anwendung vor der Bereitstellung angehalten und nach Abschluss der Bereitstellung gestartet. |
|
| Optional. Wenn vorhanden, wird die Bereitstellung ohne Benutzerbestätigung fortgesetzt. |
|
| Optional: Ermöglicht das Festlegen eines Verzeichnisses, in dem benötigte Dateien heruntergeladen und entpackt werden. |
|
| Optional. Allows you to publish to the Azure App Service by relying on your own user identity, without having to create a service principal.
If this parameter is used, the |
Das Skript Publish-IdentityServer.ps1 wird für die anfängliche Bereitstellung oder Aktualisierung von Identity Server verwendet. Das Skript geht davon aus, dass die Web-App bereits die Datenbankverbindungszeichenfolge DefaultConnection konfiguriert hat.
.\Publish-IdentityServer.ps1 `
-action Deploy `
-orchestratorUrl "<orchestrator_address>" `
-identityServerUrl "https://<identity_server_url>/identity" ` // must be in lowercase
-resourceCatalogUrl "<resource_catalog_address>" `
-orchDetails @{ resourceGroupName = "<resourcegroup_name>"; appServiceName = "<appservice_name>"; targetSlot = "Production" } `
-identityServerDetails @{ resourceGroupName = "<resourcegroup_name>"; appServiceName = "<appservice_name>"; targetSlot = "Production" } `
-azureSubscriptionId "<subscription_id>" `
-azureAccountTenantId "<azure_tenant_id>" `
-azureAccountApplicationId "<azure_application_id>" `
-azureAccountPassword "<azure_account_password>" `
-package "UiPath.IdentityServer.Web.zip" `
-cliPackage "UiPath.IdentityServer.Migrator.Cli.zip" `
-stopApplicationBeforePublish `
-unattended
.\Publish-IdentityServer.ps1 `
-action Deploy `
-orchestratorUrl "<orchestrator_address>" `
-identityServerUrl "https://<identity_server_url>/identity" ` // must be in lowercase
-resourceCatalogUrl "<resource_catalog_address>" `
-orchDetails @{ resourceGroupName = "<resourcegroup_name>"; appServiceName = "<appservice_name>"; targetSlot = "Production" } `
-identityServerDetails @{ resourceGroupName = "<resourcegroup_name>"; appServiceName = "<appservice_name>"; targetSlot = "Production" } `
-azureSubscriptionId "<subscription_id>" `
-azureAccountTenantId "<azure_tenant_id>" `
-azureAccountApplicationId "<azure_application_id>" `
-azureAccountPassword "<azure_account_password>" `
-package "UiPath.IdentityServer.Web.zip" `
-cliPackage "UiPath.IdentityServer.Migrator.Cli.zip" `
-stopApplicationBeforePublish `
-unattended
Stellen Sie nach dem Ausführen des obigen Skripts sicher, dass Sie die unten aufgeführten zusätzlichen Schritte ausführen, um eine erfolgreiche Erstbereitstellung zu ermöglichen.
Führen Sie nach der Veröffentlichung von Identity Server die folgenden Schritte aus:
- Wechseln Sie zum Azure-Portal.
- Wählen Sie Ihren Identity Server-App-Service aus.
- Wechseln Sie im Menü Zertifikate zu Eigene Zertifikate einbringen.
- Laden Sie die
.pfx-Zertifikatdatei eines privaten Schlüssels mit einem gültigen Kennwort hoch.
Dieses Zertifikat wird zum Signieren der Zugriffstoken und der ID-Token verwendet.
-
Fügen Sie unter dem Konfigurationsmenü die folgenden Anwendungseinstellungen genau wie in der Spalte Anwendungseinstellungen geschrieben hinzu:
6.Anwendungseinstellung
Wert
Beschreibung
AppSettings__IdentityServerAddressAppSettings__IdentityServerAddresshttps://[identity_server]/identity
Wichtig: Die URL muss die Adresse von Identity Server sowie das Suffix enthaltenDie öffentliche URL von Identity Server.
in Kleinbuchstaben./identity/identityAppSettings__SigningCredentialSettings__StoreLocation__LocationAppSettings__SigningCredentialSettings__StoreLocation__LocationCurrentUser
Dies muss auf CurrentUser verweisen.
AppSettings__SigningCredentialSettings__StoreLocation__NameAppSettings__SigningCredentialSettings__StoreLocation__NameXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Der Fingerabdruckwert Ihres Zertifikats, das Sie zuvor hochgeladen haben.
AppSettings__SigningCredentialSettings__StoreLocation__NameTypeAppSettings__SigningCredentialSettings__StoreLocation__NameTypeThumbprintThumbprintEnter als Typ des vorherigen Felds.ThumbprintThumbprintAppSettings__LoadBalancerSettings__RedisConnectionStringAppSettings__LoadBalancerSettings__RedisConnectionStringXXXXXXXXXXXX:XXXX,password=XXXXXXXXXXXXXXXXXX:XXXX,password=XXXXXXThe connection string needed to set up your Redis server, which contains the URL of the server, the password, and the port.
You can also enable SSL encrypted connections between the Orchestrator nodes and the Redis service.
AppSettings__LoadBalancerSettings__SlidingExpirationTimeInSecondsAppSettings__LoadBalancerSettings__SlidingExpirationTimeInSecondsAnzahl der Sekunden
The sliding expiration time of an item inside the cache.
This expiration time applies to both Redis Cache and InMemory Cache.
AppSettings__RedisSettings__UseRedisStoreCacheAppSettings__RedisSettings__UseRedisStoreCache/truetruefalsefalseSetzen Sie den Wert auf to enable Redis caching of OAuth client data.truetrueThis helps prevent performance issues when using Interactive Sign In to connect a large number of robots in a short amount of time. This cache uses the same Redis connection string specified in the
AppSettings__LoadBalancerSettingsAppSettings__LoadBalancerSettings
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.AppSettings__RedisSettings__UseRedisStoreClientCacheAppSettings__RedisSettings__UseRedisStoreClientCache/truetruefalsefalseSet its value to true 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.
App__Saml2ValidCertificateOnlyApp__Saml2ValidCertificateOnly/truetruefalsefalseFür Orchestrator-Bereitstellungen über eine Azure Web-App muss dieser Parameter auf festgelegt werden .falsefalseThis is because SAML2 requires certificates to be added to its trust store, but Azure web apps do not allow this action. Setting the value to
bedeutet, dass die Zertifikataktivierung umgangen wird.falsefalseWEBSITE_LOAD_CERTIFICATESWEBSITE_LOAD_CERTIFICATESXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Der Fingerabdruckwert Ihres Zertifikats, das Sie zuvor hochgeladen haben.
WEBSITE_LOAD_USER_PROFILEWEBSITE_LOAD_USER_PROFILE1
Das Benutzerprofil. -azureUSGovernmentLogin-azureUSGovernmentLoginOptional. Dieser Parameter wird nur für Bereitstellungen der US-Regierung verwendet. Speichern Sie die Änderungen.
Weitere Informationen finden Sie in der Microsoft Azure-Dokumentation.
Ersetzen des Zertifikats mit privatem Schlüssel
Wenn Sie ein Zertifikat mit privatem Schlüssel durch ein neues ersetzen, stellen Sie sicher, dass Sie die folgenden Schritte ausführen:
- Ersetzen Sie die Werte der Parameter
AppSettings__SigningCredentialSettings__StoreLocation__NameundWEBSITE_LOAD_CERTIFICATESdurch den Fingerabdruck des neuen Zertifikats. - Starten Sie den Identitäts-App-Dienst neu.
- Starten Sie den Orchestrator-App-Dienst neu.
Migrieren zu Identity Server
In der folgenden Tabelle sind alle Parameter beschrieben, die mit
MigrateTo-IdentityServer.ps1verwendet werden können.Parameter
Beschreibung
-cliPackageMandatory . Geben Sie den vollständigen Pfad oder relativen Pfad des Archivs
UiPath.IdentityServer.Migrator.Cli.zipan.-azureDetailsDieser Parameter ist eine Hashtabelle, die die folgenden Werte enthält:
-
azureAccountApplicationId- Mandatory. The Azure service principal ID.Please note that the used service principal needs to be assigned the Contributor role to the app service at the subscription scope.
-
azureSubscriptionId– Obligatorisch. Die Azure-Abonnement-ID für den App-Dienst, der den Orchestrator hostet. -
azureAccountTenantId– Obligatorisch. Die Azure-Mandanten-ID. -
azureAccountPassword– Obligatorisch. Das Azure-Tokenkennwort für die Dienstprinzipal-ID.
-orchDetailsDieser Parameter ist eine Hashtabelle, die die folgenden Werte enthält:
-
resourceGroupName– Obligatorisch. Der Name der Azure-Ressourcengruppe, die den App-Dienst des Orchestrators enthält. -
appServiceName– Obligatorisch. Der Name des Azure App-Diensts des Orchestrators. -
targetSlot– Obligatorisch. Der von Azure festgelegte Ziel-App-Dienst-Slot.
-identityServerDetailsDieser Parameter ist eine Hashtabelle, die die folgenden Werte enthält:
-
resourceGroupName– Obligatorisch. Der Name der Azure-Ressourcengruppe, die den Identity Server App-Dienst enthält. -
appServiceName– Obligatorisch. Der Name des Azure App-Diensts des Identity Servers. -
targetSlot– Obligatorisch. Der von Azure festgelegte Ziel-App-Dienst-Slot.
-identityServerUrlImportant: The URL must contain the address of Identity Server + the suffixObligatorisch. Die öffentliche Adresse von Identity Server.
/identityin lowercase.Beispiel:
https://[identity_server]/identity.-orchestratorUrlObligatorisch. Die öffentliche Adresse von Orchestrator.
-tmpDirectoryOptional: Ermöglicht das Festlegen eines Verzeichnisses, in dem benötigte Dateien heruntergeladen und entpackt werden.
-hostAdminPasswordMandatory only for fresh deployments, when -actionis set toDeploy.Specify a custom password for the host administrator. Please note that passwords have to be least 8 characters long, and must have at least one lowercase character and at least one digit.
-isHostPassOneTimeOptional. Enables you to enforce a password reset on the first login for the host administrator.
If this parameter is omitted, the host admin password is not a one-time password.
-defaultTenantAdminPasswordMandatory only for fresh deployments, when -actionis set toDeploy.Specify a custom password for the default tenant administrator. Please note that passwords have to be least 8 characters long, and must have at least one lowercase character and at least one digit.
-isDefaultTenantPassOneTimeOptional. Enables you to enforce a password reset on the first login for the default tenant administrator.
If this parameter is omitted, the tenant admin password is not a one-time password.
-noAzureAuthenticationOptional. Allows you to publish to the Azure App Service by relying on your own user identity, without having to create a service principal. If this parameter is used, the
UseServicePrincipalparameter set (which includes items such as the Azure application ID, password, subscription ID, and tenant ID) are no longer necessary.Das Skript
MigrateTo-IdentityServer.ps1wird verwendet, um Benutzerdaten vom Orchestrator zum Identity Server zu migrieren und die Konfigurationen für beide festzulegen. Es überträgt die Identifikationsautorität des Orchestrators auf den Identity Server und erstellt die Clientkonfiguration für den Orchestrator im Identity Server.Das Skript geht davon aus, dass Orchestrator und Identity Server bereits veröffentlicht wurden.
.\MigrateTo-IdentityServer.ps1 ` -cliPackage "UiPath.IdentityServer.Migrator.Cli.zip" ` -azureDetails @{azureSubscriptionId = "<subscription_id>"; azureAccountTenantId = "<azure_tenant_id>"; azureAccountApplicationId = "<azure_application_id>"; azureAccountPassword = "<azure_account_password>" } ` -orchDetails @{ resourceGroupName = "<resourcegroup_name>"; appServiceName = "<appservice_name>"; targetSlot = "Production" } ` -identityServerDetails @{ resourceGroupName = "<resourcegroup_name>"; appServiceName = "<appservice_name>"; targetSlot = "Production" } ` -identityServerUrl "https://<identity_server_url>/identity" ` // must be in lowercase -orchestratorUrl "https://<OrchestratorURL>" ` -hostAdminPassword "12345qwert" ` -defaultTenantAdminPassword "12345qwert".\MigrateTo-IdentityServer.ps1 ` -cliPackage "UiPath.IdentityServer.Migrator.Cli.zip" ` -azureDetails @{azureSubscriptionId = "<subscription_id>"; azureAccountTenantId = "<azure_tenant_id>"; azureAccountApplicationId = "<azure_application_id>"; azureAccountPassword = "<azure_account_password>" } ` -orchDetails @{ resourceGroupName = "<resourcegroup_name>"; appServiceName = "<appservice_name>"; targetSlot = "Production" } ` -identityServerDetails @{ resourceGroupName = "<resourcegroup_name>"; appServiceName = "<appservice_name>"; targetSlot = "Production" } ` -identityServerUrl "https://<identity_server_url>/identity" ` // must be in lowercase -orchestratorUrl "https://<OrchestratorURL>" ` -hostAdminPassword "12345qwert" ` -defaultTenantAdminPassword "12345qwert" - Ersetzen Sie die Werte der Parameter