- Introdução
- Requisitos
- Melhores práticas
- Instalação
- Atualizando
- Servidor de Identidade
- Solução de problemas de erros de inicialização
Publicar no Identity Server
A seguinte tabela descreve todos os parâmetros que podem ser usados com a 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:
|
|
|
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. |
|
|
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 in lowercase. Example: https://[identity_server]/identity
|
|
|
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 |
|
|
Obrigatório. Indique o caminho completo ou o caminho relativo do arquivamento |
|
|
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. |
-azureUSGovernmentLogin | Opcional. Este parâmetro é usado apenas para implantações do Governo dos EUA. |
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
-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
-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.Observação: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:
Configuração de aplicativos Valor Description AppSettings__IdentityServerAddresshttps://[identity_server]/identity O URL pública do Identity Server.
The URL must contain the address of Identity Server + the suffix/identityin lowercase.AppSettings__SigningCredentialSettings__StoreLocation__LocationUsuário atual Ela deve apontar para CurrentUser. AppSettings__SigningCredentialSettings__StoreLocation__NameXXXXXXXXXXXXXXXXXXXXXXXXXXXX A impressão digital do seu certificado que você carregou anteriormente. AppSettings__SigningCredentialSettings__StoreLocation__NameTypeThumbprintInsira Thumbprintcomo o tipo do campo anterior.AppSettings__LoadBalancerSettings__UseRedistrue/falseInsira truepara usar o Redis como um banco de dados para distribuir mensagens e fazer cache de e para todas as máquinas conectadas por meio do seu balanceador de carga. Obrigatório para vários nós.AppSettings__LoadBalancerSettings__RedisConnectionStringXXXXXXXXXXXX: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.
Can only be used ifAppSettings__LoadBalancerSettings__UseRedisis set to true.AppSettings__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__UseRedisStoreCachetrue/falseDefina seu valor como truepara habilitar o cache do Redis dos dados do cliente OAuth. Isso ajuda a evitar problemas de desempenho ao usar o Logon Interativo para conectar um grande número de robôs em um curto período. Este cache usa a mesma string de conexão do Redis especificada naAppSettings__LoadBalancerSettings.
Não é recomendável se você estiver usando a funcionalidade Aplicativos externos, pois essa configuração armazena em cache os clientes, e as atualizações feitas para Aplicativos externos não serão refletidas.App__Saml2ValidCertificateOnlytrue/falsePara implantações do Orchestrator por meio de um aplicativo web do Azure, esse parâmetro deve ser definido para false. Isso ocorre porque o SAML2 requer que sejam adicionados certificados ao seu armazenamento de confiança, mas os aplicativos web do Azure não permitem essa ação. Definir o valor parafalsesignifica que a verificação do certificado é ignorada.WEBSITE_LOAD_CERTIFICATESXXXXXXXXXXXXXXXXXXXXXXXXXXXX O valor da impressão digital do seu certificado que você carregou anteriormente. WEBSITE_LOAD_USER_PROFILE1 O perfil do usuário. -
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 |
|---|---|
|
|
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:
|
|
|
Esse parâmetro é uma tabela de hash que contém os seguintes valores:
|
|
|
Obrigatório. O endereço público do Identity Server. /identity in lowercase. Example:
|
|
|
Obrigatório. O endereço público do Orchestrator. |
|
|
Opcional. Permite a especificação de um diretório em que os arquivos necessários são baixados e descompactados. |
|
|
Mandatory only for fresh deployments, when |
|
|
Opcional. 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. |
|
|
Mandatory only for fresh deployments, when |
|
|
Opcional. 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. |
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"