- Démarrage
- Prérequis
- Meilleures pratiques
- Installation
- Mise à jour en cours
- Serveur d'identité
- Résolution des erreurs de démarrage
Exécutez le script Publish-IdentityServer.ps1 pour le déploiement initial ou la mise à jour d'Identity Server
Publier sur le serveur d'identité
La table suivante décrit tous les paramètres pouvant être utilisés avec le script Publish-IdentityServer.ps1.
| Paramètre | Description |
|---|---|
|
| Mandatory. Indicates the type of scenario you want to start. Les options suivantes sont disponibles :
|
|
| 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. |
|
| Obligatoire. Mot de passe du jeton Azure pour l'ID de principal de service. |
|
| Obligatoire. ID d'abonnement Azure pour l'application App Service qui héberge Orchestrator. |
|
| Obligatoire. ID de locataire Azure. |
|
| Obligatoire. L'URL de l'instance Orchestrator. |
|
| Obligatoire (Mandatory). L'URL de l'Identity Server. /identity in lowercase.
Exemple : |
|
| Obligatoire (Mandatory). L'URL de la ressource. Catalogue. |
|
| Ce paramètre est une table de hachage qui contient les valeurs suivantes :
|
|
| Ce paramètre est une table de hachage qui contient les valeurs suivantes :
|
|
| Obligatoire. Indiquez le chemin complet ou le chemin relatif de l'archive UiPath.IdentityServer.Web.zip. |
|
| Obligatoire. Indiquez le chemin complet ou le chemin relatif de l'archive UiPath.IdentityServer.Migrator.Cli.zip. |
|
| Facultatif. Il ne peut être utilisé que si l'emplacement de déploiement de l'application App Service du serveur d'identité est différent de l'emplacement par défaut de l'application App Service de production défini par Azure. |
|
| Facultatif. S’il est actif, il arrête l’application avant le déploiement et la démarre une fois le déploiement terminé. |
|
| Facultatif. S'il est actif, le déploiement se poursuit sans confirmation de l'utilisateur. |
|
| Facultatif. Permet de télécharger et de décompresser les spécifications d’un répertoire lorsque les fichiers nécessaires sont téléchargés et dézippés. |
|
| 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 |
Le script Publish-IdentityServer.ps1 est utilisé pour le déploiement initial ou la mise à jour des Identity Server. Le script suppose que l’application web a déjà configuré la chaîne de connexion de la base de données DefaultConnection.
.\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
Après avoir exécuté le script ci-dessus, assurez-vous d'effectuer les étapes supplémentaires énumérées ci-dessous pour réussir le déploiement initial.
Après avoir publié le serveur d'identité, suivez les étapes suivantes :
- Rendez-vous sur votre portail Azure.
- Sélectionnez le service d'application de votre serveur d'identité.
- Dans le menu Certificats (Certificates), accédez à Apporter vos propres certificats (Bring your Own Certificates).
- Téléchargez un fichier de certificat de clé privée
.pfxavec un mot de passe valide.
Ce certificat sert à signer les jetons d’accès et les jetons d’identification.
-
Sous le menu Configuration, ajoutez les paramètres d’application suivants exactement comme écrit dans la colonne Paramètres de l’application :
6.Paramètre d’application
Valeur (Value)
Description
AppSettings__IdentityServerAddressAppSettings__IdentityServerAddresshttps://[identity_server]/identity
Attention : L'URL doit contenir l'adresse du serveur d'identité + le suffixeL'URL publique du serveur d'identité.
en minuscules./identity/identityAppSettings__SigningCredentialSettings__StoreLocation__LocationAppSettings__SigningCredentialSettings__StoreLocation__LocationCurrentUser
Doit indiquer CurrentUser.
AppSettings__SigningCredentialSettings__StoreLocation__NameAppSettings__SigningCredentialSettings__StoreLocation__NameXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXologie
Empreinte du certificat que vous avez téléchargé précédemment.
AppSettings__SigningCredentialSettings__StoreLocation__NameTypeAppSettings__SigningCredentialSettings__StoreLocation__NameTypeThumbprintThumbprintEnter comme le type du champ précédent.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__SlidingExpirationTimeInSecondsNombre de secondes
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/truetruefalsefalseDéfinir sa valeur sur 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
Remarque : Ceci n’est pas recommandé si vous utilisez la fonctionnalité Applications externes étant donné que ce paramètre met en cache les clients et que les mises à jour des Applications externes ne seront pas reflétées.AppSettings__LoadBalancerSettingsAppSettings__LoadBalancerSettingsAppSettings__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/truetruefalsefalsePour les déploiements Orchestrator via une application Web Azure, ce paramètre doit être défini sur .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
signifie que la vérification du certificat est ignorée.falsefalseWEBSITE_LOAD_CERTIFICATESWEBSITE_LOAD_CERTIFICATESXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXologie
Valeur d’empreinte du certificat que vous avez téléchargé précédemment.
WEBSITE_LOAD_USER_PROFILEWEBSITE_LOAD_USER_PROFILE1
Le profil de l'utilisateur. -azureUSGovernmentLogin-azureUSGovernmentLoginFacultatif (Optional). Ce paramètre est uniquement utilisé pour les déploiements du gouvernement américain. Enregistrez les modifications.
Pour en savoir plus, recherchez plus de détails dans la documentation Microsoft Azure.
Remplacement du certificat de clé privée
Lorsque vous remplacez un certificat de clé privée par un nouveau, assurez-vous de suivre ces étapes :
- Remplacez les valeurs des paramètres
AppSettings__SigningCredentialSettings__StoreLocation__NameetWEBSITE_LOAD_CERTIFICATESpar l’empreinte du nouveau certificat. - Redémarrez le service d’application Identity.
- Redémarrez le service d’application Orchestrator.
Migrer vers le serveur d'identité
Le tableau suivant décrit tous les paramètres pouvant être utilisés avec
MigrateTo-IdentityServer.ps1.Paramètre
Description
-cliPackageMandatory . Indiquez le chemin complet ou le chemin relatif de l'archive
UiPath.IdentityServer.Migrator.Cli.zip.-azureDetailsCe paramètre est une table de hachage qui contient les valeurs suivantes :
-
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- Obligatoire. ID d'abonnement Azure pour l'application App Service qui héberge Orchestrator. -
azureAccountTenantId- Obligatoire. Identifiants du locataire Azure. -
azureAccountPassword- Obligatoire. Mot de passe du jeton Azure pour l'ID principal du service.
-orchDetailsCe paramètre est une table de hachage qui contient les valeurs suivantes :
-
resourceGroupName- Obligatoire. Nom du groupe de ressources Azure qui contient l'application App Service d'Orchestrator. -
appServiceName- Obligatoire. Nom de l'application Azure App Service d'Orchestrator. -
targetSlot- Obligatoire. Créneau du service d'application cible fixé par Azure.
-identityServerDetailsCe paramètre est une table de hachage qui contient les valeurs suivantes :
-
resourceGroupName- Obligatoire. Nom du groupe de ressources Azure qui contient le service 'application Identity Server. -
appServiceName- Obligatoire. Nom du service d'application Azure d'Identity Server. -
targetSlot- Obligatoire. Créneau du service d'application cible fixé par Azure.
-identityServerUrlImportant: The URL must contain the address of Identity Server + the suffixObligatoire. L'adresse publique du serveur d'identité.
/identityin lowercase.Exemple :
https://[identity_server]/identity-orchestratorUrlObligatoire. L'adresse publique de l'Orchestrateur.
-tmpDirectoryFacultatif. Permet de télécharger et de décompresser les spécifications d’un répertoire lorsque les fichiers nécessaires sont téléchargés et dézippés.
-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.Le script
MigrateTo-IdentityServer.ps1est utilisé pour migrer les données utilisateur d'Orchestrator vers Identity Server et définir leurs configurations. Il définit l'autorité d'identité d'Orchestrator vers Identity Server et y crée la configuration client pour Orchestrator dans Identity Server.Le script suppose qu'Orchestrator et le serveur d'identité ont déjà été publiés.
.\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" - Remplacez les valeurs des paramètres