- Introdução
- Requisitos
- Melhores práticas
- Instalação
- Atualizando
- Servidor de Identidade
- Solução de problemas de erros de inicialização
Execute o script Publish-IdentityServer.ps1 para a implantação inicial ou atualização do Identity Server
Publicar no Identity Server
A tabela a seguir descreve todos os parâmetros que você pode usar com o script Publish-IdentityServer.ps1.
| Parâmetro | Description |
|---|---|
|
| Obrigatório. Indica o tipo de cenário que você deseja iniciar. As seguintes opções estão disponíveis:
|
|
| Obrigatório. A ID principal do serviço do Azure. Observe que o principal de serviço usado precisa ser atribuído à função Colaborador para o serviço do aplicativo no escopo de assinatura. |
|
| Obrigatório. O token de acesso do Azure para o ID principal do serviço. |
|
| Obrigatório. O ID de assinatura do Azure para o Serviço de Aplicativo que hospeda o Orchestrator. |
|
| Obrigatório. O ID de tenant do Azure. |
|
| Obrigatório. O URL da instância do Orchestrator. |
|
| Obrigatório. A URL do Identity Server. /identity em letras minúsculas.
Exemplo: |
|
| Obrigatório. A URL do catálogo de recursos. |
|
| Esse parâmetro é uma tabela de hash que contém os seguintes valores:
|
|
| Esse parâmetro é uma tabela de hash que contém os seguintes valores:
|
|
| Obrigatório. Indique o caminho completo ou o caminho relativo do arquivamento UiPath.IdentityServer.Web.zip. |
|
| Obrigatório. Indique o caminho completo ou o caminho relativo do arquivamento UiPath.IdentityServer.Migrator.Cli.zip. |
|
| Opcional. Ele pode ser usado apenas se o slot de implantação do Serviço de Aplicativo do Identity Server for diferente do slot de Serviço de Aplicativo de produção padrão definido pelo Azure. |
|
| Opcional. Se presente, ele interrompe a aplicação antes da implantação e reinicia após a conclusão da implantação. |
|
| Opcional. Se presente, a implantação continua sem qualquer confirmação do usuário. |
|
| Opcional. Permite a especificação de um diretório em que os arquivos necessários são baixados e descompactados. |
|
| Opcional. Permite publicar no Serviço de aplicativo do Azure usando sua própria identidade de usuário, sem ter que criar uma entidade de serviço.
Se esse parâmetro for usado, o conjunto de parâmetros |
O script Publish-IdentityServer.ps1 é usado para a implantação inicial ou atualização do Identity Server. O script pressupõe que o aplicativo da Web já tenha a string de conexão do banco de dados DefaultConnection configurada.
.\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
Após executar o script acima, certifique-se de executar as etapas extras listadas abaixo para uma implantação inicial bem-sucedida.
Após publicar o Identity Server, execute as seguintes etapas:
- Acesse o Portal do Azure.
- Selecione seu Serviço de Aplicativo do Identity Server.
- No menu Certificados, acesse Trazer seus próprios certificados.
- Carregue um arquivo de certificado de chave privada
.pfxcom uma senha válida.
Esse certificado é usado para assinar os tokens de acesso e os tokens de ID.
-
No menu Configuração, adicione as seguintes configurações de aplicativo exatamente como escrito na coluna Configurações do Aplicativo:
6.Configuração de aplicativos
Valor
Description
AppSettings__IdentityServerAddressAppSettings__IdentityServerAddresshttps://[identity_server]/identity
Importante: o URL deve conter o endereço do Identity Server + o sufixoO URL pública do Identity Server.
em letras minúsculas./identity/identityAppSettings__SigningCredentialSettings__StoreLocation__LocationAppSettings__SigningCredentialSettings__StoreLocation__LocationUsuário atual
Ela deve apontar para CurrentUser.
AppSettings__SigningCredentialSettings__StoreLocation__NameAppSettings__SigningCredentialSettings__StoreLocation__NameXXXXXXXXXXXXXXXXXXXXXXXXXXXX
A impressão digital do seu certificado que você carregou anteriormente.
AppSettings__SigningCredentialSettings__StoreLocation__NameTypeAppSettings__SigningCredentialSettings__StoreLocation__NameTypeThumbprintThumbprintEnter como o tipo do campo anterior.ThumbprintThumbprintAppSettings__LoadBalancerSettings__RedisConnectionStringAppSettings__LoadBalancerSettings__RedisConnectionStringXXXXXXXXXXXX:XXXX,password=XXXXXXXXXXXXXXXXXX:XXXX,password=XXXXXXA string de conexão necessária para configurar seu servidor do Redis, que contém o URL do servidor, a senha e a porta.
Você também pode habilitar as conexões criptografadas por SSL entre os nós do Orchestrator e o serviço do Redis.
AppSettings__LoadBalancerSettings__SlidingExpirationTimeInSecondsAppSettings__LoadBalancerSettings__SlidingExpirationTimeInSecondsNúmero de segundos
O tempo de expiração de deslizamento de um item dentro do cache.
Esse tempo de expiração aplica-se ao Cache do Redis e ao Cache InMemory.
AppSettings__RedisSettings__UseRedisStoreCacheAppSettings__RedisSettings__UseRedisStoreCache/truetruefalsefalseDefina seu valor como para habilitar o cache do Redis de dados do cliente OAuth.truetrueIsso ajuda a evitar problemas de desempenho ao usar o Login interativo para conectar um grande número de Robots em um curto período de tempo. Esse cache usa a mesma string de conexão do Redis especificada no
Observação: isso não é recomendado se você estiver usando a funcionalidade Aplicativos externos, pois essa configuração armazena em cache os clientes, e as atualizações para Aplicativos externos não serão refletidas.AppSettings__LoadBalancerSettingsAppSettings__LoadBalancerSettingsAppSettings__RedisSettings__UseRedisStoreClientCacheAppSettings__RedisSettings__UseRedisStoreClientCache/truetruefalsefalseDefina seu valor como verdadeiro para habilitar o cache do Redis para clientes da primeira parte (aplicativos do UiPath) ou clientes de terceira parte (aplicativos externos).
Se você tiver uma implantação em larga escala, recomenda-se habilitar essa sinalização.
App__Saml2ValidCertificateOnlyApp__Saml2ValidCertificateOnly/truetruefalsefalsePara implantações do Orchestrator por meio de um aplicativo web do Azure, esse parâmetro deve ser definido como .falsefalseIsso ocorre porque o SAML2 requer que os certificados sejam adicionados ao seu armazenamento de confiança, mas os aplicativos web do Azure não permitem essa ação. Definir o valor como
significa que a verificação do certificado é ignorada.falsefalseWEBSITE_LOAD_CERTIFICATESWEBSITE_LOAD_CERTIFICATESXXXXXXXXXXXXXXXXXXXXXXXXXXXX
O valor da impressão digital do seu certificado que você carregou anteriormente.
WEBSITE_LOAD_USER_PROFILEWEBSITE_LOAD_USER_PROFILE1
O perfil do usuário. -azureUSGovernmentLogin-azureUSGovernmentLoginOpcional. Este parâmetro é usado apenas para implantações do Governo dos EUA. Salve as alterações.
Encontre mais detalhes na documentação do Microsoft Azure.
Substituição do certificado de chave privada
Ao substituir um certificado de chave privada por um novo, certifique-se de seguir estas etapas:
- Substitua os valores dos parâmetros
AppSettings__SigningCredentialSettings__StoreLocation__NameeWEBSITE_LOAD_CERTIFICATESpela impressão digital do novo certificado. - Reinicie o serviço do aplicativo Identity.
- Reinicie o serviço do aplicativo do Orchestrator.
Migrar para o Identity Server
A seguinte tabela descreve todos os parâmetros que podem ser usados com a
MigrateTo-IdentityServer.ps1.Parâmetro
Description
-cliPackageObrigatório . Indique o caminho completo ou o caminho relativo do arquivamento
UiPath.IdentityServer.Migrator.Cli.zip.-azureDetailsEsse parâmetro é uma tabela de hash que contém os seguintes valores:
-
azureAccountApplicationId- Obrigatório. A ID principal do serviço do Azure.Observe que o principal de serviço usado precisa ser atribuído à função Colaborador para o serviço do aplicativo no escopo de assinatura.
-
azureSubscriptionId- Obrigatório. O ID de assinatura do Azure para o Serviço de Aplicativo que hospeda o Orchestrator. -
azureAccountTenantId- Obrigatório. O ID de tenant do Azure. -
azureAccountPassword- Obrigatório. O token de acesso do Azure para o ID principal do serviço.
-orchDetailsEsse parâmetro é uma tabela de hash que contém os seguintes valores:
-
resourceGroupName- Obrigatório. O nome do Grupo de Recursos do Azure que contém o Serviço de Apps do Orchestrator. -
appServiceName- Obrigatório. O nome do Serviço de App do Azure via Orchestrator. -
targetSlot- Obrigatório. O slot do Serviço do Aplicativo de Destino definido pelo Azure.
-identityServerDetailsEsse parâmetro é uma tabela de hash que contém os seguintes valores:
-
resourceGroupName- Obrigatório. O nome do Grupo de Recursos do Azure que contém o Serviço de Aplicativo do Identity Server. -
appServiceName- Obrigatório. O nome do Serviço de Aplicativo do Azure do Identity Server. -
targetSlot- Obrigatório. O slot do Serviço do Aplicativo de Destino definido pelo Azure.
-identityServerUrlImportante: o URL deve conter o endereço do Identity Server + o sufixoObrigatório. O endereço público do Identity Server.
/identityem minúsculas.Exemplo:
https://[identity_server]/identity-orchestratorUrlObrigatório. O endereço público do Orchestrator.
-tmpDirectoryOpcional. Permite a especificação de um diretório em que os arquivos necessários são baixados e descompactados.
-hostAdminPasswordObrigatório apenas para novas implantações, quando -actionestá definido comoDeploy.Especifique uma senha personalizada para o administrador do host. Observe que as senhas devem ter pelo menos 8 caracteres, pelo menos um caractere minúsculo e pelo menos um número.
-isHostPassOneTimeOpcional. Permite que você imponha uma redefinição de senha no primeiro logon para o administrador do host.
Se este parâmetro for omitido, a senha de administrador do host não será uma senha de uma só vez.
-defaultTenantAdminPasswordObrigatório apenas para novas implantações, quando -actionestá definido comoDeploy.Especifique uma senha personalizada para o administrador padrão do tenant. Observe que as senhas devem ter pelo menos 8 caracteres, pelo menos um caractere minúsculo e pelo menos um número.
-isDefaultTenantPassOneTimeOpcional. Permite que você imponha uma redefinição de senha no primeiro logon para o administrador padrão do tenant.
Se este parâmetro for omitido, a senha de administrador do tenant não será uma senha de uma só vez.
-noAzureAuthenticationOpcional. Permite publicar no Serviço de aplicativo do Azure usando sua própria identidade de usuário, sem ter que criar uma entidade de serviço. Se esse parâmetro for usado, o conjunto de parâmetros
UseServicePrincipal(que inclui itens como a ID do aplicativo do Azure, senha, ID de assinatura e ID de tenant) não é mais necessário.O script
MigrateTo-IdentityServer.ps1é usado para migrar dados do usuário do Orchestrator para o Identity Server e definir as configurações para ambos. Ele define a autoridade de identidade do Orchestrator para o Identity Server e cria a configuração do cliente para o Orchestrator no Identity Server.O script pressupõe que o Orchestrator e o Identity Server já estejam publicados.
.\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" - Substitua os valores dos parâmetros