- Primeros pasos
- Requisitos
- Mejores prácticas
- Instalación
- Actualizando
- Servidor de identidad
- Solución de problemas de errores de inicio
Ejecuta el script Publish-IdentityServer.ps1 para la implementación inicial o las actualizaciones de Identity Server
Publicar en Identity Server
La tabla siguiente describe todos los parámetros que puedes usar con el script Publish-IdentityServer.ps1.
| Parámetro | Descripción |
|---|---|
|
| Mandatory. Indicates the type of scenario you want to start. Las siguientes opciones están 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. |
|
| Obligatorio. La contraseña de token de Azure para el ID principal de servicio. |
|
| Obligatorio. El ID de suscripción de Azure para el App Service que aloja Orchestrator. |
|
| Obligatorio. El ID de tenant de Azure. |
|
| Obligatorio. La URL de la instancia de Orchestrator. |
|
| Obligatorio. La URL de Identity Server. /identity in lowercase.
Ejemplo: |
|
| Obligatorio. La URL del recurso Catálogo. |
|
| Este parámetro es una tabla hash que contiene los siguientes valores:
|
|
| Este parámetro es una tabla hash que contiene los siguientes valores:
|
|
| Obligatorio. Indica la ruta completa o relativa del archivo UiPath.IdentityServer.Web.zip. |
|
| Obligatorio. Indica la ruta completa o relativa del archivo UiPath.IdentityServer.Migrator.Cli.zip. |
|
| Opcional. Solo puede utilizarse si la ranura de la implementación de servicio de aplicaciones de Identity Server es distinta a la ranura del servicio de aplicaciones predeterminado de producción establecida por Azure. |
|
| Opcional. Si está presente, detiene la aplicación antes de su implementación y la inicia después de que esta finalice. |
|
| Opcional. Si está presente, la implementación continúa sin confirmación del usuario. |
|
| Opcional. Habilita la especificación de un directorio donde se descargan y descomprimen los archivos necesarios. |
|
| 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 |
El script Publish-IdentityServer.ps1 se usa para la implementación inicial o la actualización de Identity Server. El script supone que la aplicación web ya tiene configurada la cadena de conexión de la base de datos 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
Después de ejecutar el script anterior, comprueba que realizas los pasos adicionales que se indican a continuación para una correcta implementación inicial.
Después de publicar Identity Server, realiza los siguientes pasos:
- Dirígete al portal de Azure.
- Selecciona tu Servicio de aplicaciones de Identity Server.
- En el menú Certificados, ve a Traer tus propios certificados.
- Carga un archivo de certificado de clave privada
.pfxcon una contraseña válida.
Este certificado se utiliza para firmar los tokens de acceso y los tokens de ID.
-
En el menú de Configuración, añade los siguientes ajustes de la aplicación exactamente como se describe en la columna Configuración de aplicaciones:
6.Configuración de la aplicación
Valor
Descripción
AppSettings__IdentityServerAddressAppSettings__IdentityServerAddresshttps://[identity_server]/identity
Importante: La URL debe contener la dirección de Identity Server + el sufijoLa URL pública de Identity Server.
en minúsculas./identity/identityAppSettings__SigningCredentialSettings__StoreLocation__LocationAppSettings__SigningCredentialSettings__StoreLocation__LocationUsuario actual
Esta debe señalar a CurrentUser.
AppSettings__SigningCredentialSettings__StoreLocation__NameAppSettings__SigningCredentialSettings__StoreLocation__NameXXXXXXXXXXXXXXXXXXXXXXXXXX
La huella digital del certificado que has cargado anteriormente.
AppSettings__SigningCredentialSettings__StoreLocation__NameTypeAppSettings__SigningCredentialSettings__StoreLocation__NameTypeThumbprintThumbprintEnter como el tipo del campo anterior.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__SlidingExpirationTimeInSecondsNúmero de segundos
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/truetruefalsefalseEstablece su valor como 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
Nota: Esto no se recomienda si utilizas la característica Aplicaciones externas, ya que esta configuración almacena en caché a los clientes y las actualizaciones de las aplicaciones externas no se reflejarán.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/truetruefalsefalsePara las implementaciones de Orchestrator a través de una aplicación web de Azure, este parámetro debe establecerse en .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
significa que se omite la comprobación de certificado.falsefalseWEBSITE_LOAD_CERTIFICATESWEBSITE_LOAD_CERTIFICATESXXXXXXXXXXXXXXXXXXXXXXXXXX
El valor de la huella digital del certificado que has cargado anteriormente.
WEBSITE_LOAD_USER_PROFILEWEBSITE_LOAD_USER_PROFILE1
El perfil de usuario. -azureUSGovernmentLogin-azureUSGovernmentLoginOpcional. Este parámetro solo se utiliza para las implementaciones del gobierno de los Estados Unidos. Guarda los cambios.
Consulta más información en la documentación de Microsoft Azure.
Reemplazar el certificado de clave privada
Al reemplazar un certificado de clave privada por uno nuevo, asegúrate de seguir estos pasos:
- Reemplaza los valores de los parámetros
AppSettings__SigningCredentialSettings__StoreLocation__NameyWEBSITE_LOAD_CERTIFICATESpor la huella digital del nuevo certificado. - Reinicia el servicio de la aplicación Identity.
- Reinicia el servicio de aplicación de Orchestrator.
Migra a Identity Server
La siguiente tabla describe todos los parámetros que se pueden utilizar con
MigrateTo-IdentityServer.ps1.Parámetro
Descripción
-cliPackageMandatory . Indica la ruta completa o relativa del archivo
UiPath.IdentityServer.Migrator.Cli.zip.-azureDetailsEste parámetro es una tabla hash que contiene los siguientes valores:
-
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: Obligatorio. El ID de suscripción de Azure para el App Service que aloja Orchestrator. -
azureAccountTenantId: Obligatorio. El ID de tenant de Azure. -
azureAccountPassword: Obligatorio. La contraseña de token de Azure para el ID principal de servicio.
-orchDetailsEste parámetro es una tabla hash que contiene los siguientes valores:
-
resourceGroupName: Obligatorio. El nombre del grupo de recursos de Azure que contiene Orchestrator App Service. -
appServiceName: Obligatorio. El nombre de Orchestrator Azure App Service. -
targetSlot: Obligatorio. La ranura del servicio de aplicaciones de destino establecida por Azure.
-identityServerDetailsEste parámetro es una tabla hash que contiene los siguientes valores:
-
resourceGroupName: Obligatorio. El nombre del grupo de recursos de Azure que contiene el servicio de aplicaciones de Identity Server. -
appServiceName: Obligatorio. El nombre del servicio de aplicaciones de Azure del Identity Server. -
targetSlot: Obligatorio. La ranura del servicio de aplicaciones de destino establecida por Azure.
-identityServerUrlImportant: The URL must contain the address of Identity Server + the suffixObligatorio. La dirección pública de Identity Server.
/identityin lowercase.Ejemplo:
https://[identity_server]/identity-orchestratorUrlObligatorio. La dirección pública del Orchestrator.
-tmpDirectoryOpcional. Habilita la especificación de un directorio donde se descargan y descomprimen los archivos necesarios.
-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.El script
MigrateTo-IdentityServer.ps1se utiliza para migrar los datos de usuario desde Orchestrator a Identity Server y establecer las configuraciones para ambos. Establece Identity Server como la autoridad de identidad de Orchestrator y crea la configuración de cliente para Orchestrator en Identity Server.El script supone que ya se han publicado Orchestrator e Identity Server.
.\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" - Reemplaza los valores de los parámetros