- Introdução
- Requisitos
- Melhores práticas
- Instalação
- Atualizando
- Servidor de Identidade
- Solução de problemas de erros de inicialização
Scripts de Identity Server
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. O 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. Importante: o URL deve conter o endereço do Identity Server + o sufixo
/identity em letras minúsculas. Exemplo: 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
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. |
-azureUSGovernmentLogin | Opcional. Este parâmetro é usado apenas para implantações do Governo dos EUA. |
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 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
.pfx
com 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__IdentityServerAddress
https://[identity_server]/identity
O URL pública do Identity Server.
Importante: o URL deve conter o endereço do Identity Server + o sufixo/identity
em minúsculas.AppSettings__SigningCredentialSettings__StoreLocation__Location
Usuário atual
Ela deve apontar para CurrentUser.
AppSettings__SigningCredentialSettings__StoreLocation__Name
XXXXXXXXXXXXXXXXXXXXXXXXXXXX
A impressão digital do seu certificado que você carregou anteriormente.
AppSettings__SigningCredentialSettings__StoreLocation__NameType
Thumbprint
InsiraThumbprint
como o tipo do campo anterior.AppSettings__LoadBalancerSettings__UseRedis
true
/false
Insiratrue
para 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__RedisConnectionString
XXXXXXXXXXXX:XXXX,password=XXXXXX
A 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.
Observação: só pode ser usado seAppSettings__LoadBalancerSettings__UseRedis
estiver definido como verdadeiro.AppSettings__LoadBalancerSettings__SlidingExpirationTimeInSeconds
Nú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__UseRedisStoreCache
true
/false
Defina seu valor comotrue
para 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
.Observação: não é recomendável se você estiver usando a funcionalidade de Aplicativos Externos, pois essa configuração vincula clientes e as atualizações para Aplicativos Externos não serão refletidas.App__Saml2ValidCertificateOnly
true/false
Para implantações do Orchestrator por meio de um aplicativo web do Azure, esse parâmetro deve ser definido parafalse
. 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 parafalse
significa que a verificação do certificado é ignorada.WEBSITE_LOAD_CERTIFICATES
XXXXXXXXXXXXXXXXXXXXXXXXXXXX
O valor da impressão digital do seu certificado que você carregou anteriormente.
WEBSITE_LOAD_USER_PROFILE
1
O perfil do usuário.
- Salve as alterações.
Veja mais detalhes na documentação do Microsoft Azure.
- Substitua os valores dos parâmetros
AppSettings__SigningCredentialSettings__StoreLocation__Name
eWEBSITE_LOAD_CERTIFICATES
pela impressão digital do novo certificado. - Reinicie o serviço do aplicativo Identity.
- Reinicie o serviço do aplicativo do Orchestrator.
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. Importante: o URL deve conter o endereço do Identity Server + o sufixo
/identity em minúsculas. Exemplo:
|
|
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. |
|
Obrigatório apenas para novas implantações, quando
-action está definido como Deploy . 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.
|
|
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. |
|
Obrigatório apenas para novas implantações, quando
-action está definido como Deploy . 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.
|
|
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. |
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"