- 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 Aktualisierung von 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 |
|---|---|
|
| Obligatorisch. Gibt den Typ des Szenarios an, das Sie starten möchten. Die folgenden Optionen sind verfügbar:
|
|
| Obligatorisch. Die Azure-Dienstprinzipal-ID. Bitte beachten Sie, dass dem verwendeten Dienstprinzipal die Rolle Mitwirkender für den App-Dienst im Abonnementbereich zugewiesen werden muss. |
|
| 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 Kleinbuchstaben enthalten.
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. Ermöglicht Ihnen die Veröffentlichung im Azure App-Dienst, indem Sie sich auf Ihre eigene Benutzeridentität verlassen, ohne einen Dienstprinzipal erstellen zu müssen.
Wenn dieser Parameter verwendet wird, ist der Parametersatz |
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=XXXXXXEine Verbindungszeichenfolge, um Ihren Redis-Server einzurichten, die die URL des Servers, das Kennwort und den Port enthält.
Überdies besteht die Möglichkeit, mit SSL verschlüsselte Verbindungen zwischen den Orchestrator-Knoten und dem Redis-Dienst zu aktivieren.
AppSettings__LoadBalancerSettings__SlidingExpirationTimeInSecondsAppSettings__LoadBalancerSettings__SlidingExpirationTimeInSecondsAnzahl der Sekunden
Die gleitende Ablaufzeit eines Elements innerhalb des Caches.
Diese Ablaufzeit gilt sowohl für den Redis-Cache als auch für den InMemory-Cache.
AppSettings__RedisSettings__UseRedisStoreCacheAppSettings__RedisSettings__UseRedisStoreCache/truetruefalsefalseSetzen Sie den Wert auf um das Redis-Caching von OAuth Clientdaten zu aktivieren.truetrueDies hilft, Leistungsprobleme zu vermeiden, wenn die interaktive Anmeldung verwendet wird, um eine große Anzahl von Robotern in kurzer Zeit zu verbinden. Dieser Cache verwendet dieselbe Redis-Verbindungszeichenfolge, die im angegeben ist
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__LoadBalancerSettingsAppSettings__LoadBalancerSettingsAppSettings__RedisSettings__UseRedisStoreClientCacheAppSettings__RedisSettings__UseRedisStoreClientCache/truetruefalsefalseLegen Sie den Wert auf „true“ fest, um das 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.
App__Saml2ValidCertificateOnlyApp__Saml2ValidCertificateOnly/truetruefalsefalseFür Orchestrator-Bereitstellungen über eine Azure Web-App muss dieser Parameter auf festgelegt werden .falsefalseDies liegt daran, dass SAML2 erfordert, dass Zertifikate zu seinem Vertrauensspeicher hinzugefügt werden, Azure-Web-Apps diese Aktion jedoch nicht zulassen. Festlegen des Werts auf
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
-cliPackageObligatorisch. 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– Obligatorisch. Die Azure-Dienstprinzipal-ID.Bitte beachten Sie, dass dem verwendeten Dienstprinzipal die Rolle Mitwirkender für den App-Dienst im Abonnementbereich zugewiesen werden muss.
-
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.
-identityServerUrlWichtig: Die URL muss die Adresse von Identity Server sowie das SuffixObligatorisch. Die öffentliche Adresse von Identity Server.
/identityin Kleinbuchstaben enthalten.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.
-hostAdminPasswordObligatorisch nur für neue Bereitstellungen, wenn -actionaufDeployfestgelegt ist.Legen Sie ein benutzerdefiniertes Kennwort für den Hostadministrator fest. Bitte beachten Sie, dass Kennwörter mindestens 8 Zeichen lang sein müssen und mindestens ein Kleinbuchstaben und mindestens eine Ziffer haben müssen.
-isHostPassOneTimeOptional. Ermöglicht Ihnen, das Zurücksetzen eines Passworts nach dem ersten Anmelden des Host-Administrators zu erzwingen.
Wenn dieser Parameter ausgelassen wird, ist das Hostadministratorkennwort kein Einmal-Kennwort.
-defaultTenantAdminPasswordObligatorisch nur für neue Bereitstellungen, wenn -actionaufDeployfestgelegt ist.Geben Sie ein benutzerdefiniertes Kennwort für den Standard-Tenant Administrator an. Bitte beachten Sie, dass Kennwörter mindestens 8 Zeichen lang sein müssen und mindestens ein Kleinbuchstaben und mindestens eine Ziffer haben müssen.
-isDefaultTenantPassOneTimeOptional. Ermöglicht Ihnen, das Zurücksetzen eines Passworts nach dem ersten Anmelden des Host-Administrators zu erzwingen.
Wenn dieser Parameter ausgelassen wird, ist das Mandantenadministratorkennwort kein Einmal-Kennwort.
-noAzureAuthenticationOptional. Ermöglicht Ihnen die Veröffentlichung im Azure App-Dienst, indem Sie sich auf Ihre eigene Benutzeridentität verlassen, ohne einen Dienstprinzipal erstellen zu müssen. Wenn dieser Parameter verwendet wird, ist der Parametersatz
UseServicePrincipal(der Elemente wie die Azure Anwendungs-ID, das Kennwort, die Abonnement-ID und die Mandanten-ID enthält) nicht mehr erforderlich.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