- Introdução
- Requisitos
- Melhores práticas
- Instalação
- Atualizando
- Servidor de Identidade
- Solução de problemas de erros de inicialização

Guia de instalação do Orchestrator
appsettings.json (C:\Program Files (x86)\UiPath\Orchestrator\Identity) contém as definições de configuração pré-definidas para o Identity Server. Um segundo arquivo, idêntico, appsettings.Production.json é aquele que contém suas configurações específicas do Identity Server.
appsettings.Production.json. Este arquivo substitui todas as configurações preexistentes em appsettings.jsonapós cada processo de instalação.
Recomenda-se que apenas os administradores alterem os valores desses parâmetros.
appsettings.Production.json sob qualquer circunstância.
Os parâmetros que não estão documentados nesta página não devem ser alterados.
Todos os parâmetros diferenciam maiúsculas de minúsculas.
As configurações podem ser definidas em vários locais. Aqui estão as prioridades usadas pelo Identity Server ao determinar o valor de uma configuração, listadas da mais alta (1) a mais baixa (3):
- Valor dentro do arquivo
appsettings.Production.json - Valor dentro do arquivo
appsettings.json - Valor padrão definido no código. Usado apenas se uma configuração específica não puder ser encontrada em
appsettings.Production.jsonouappsettings.json.
appsettings.json tem uma estrutura interna composta de várias seções JSON separadas por uma vírgula.
Strings de conexão
ConnectionStrings é usada para armazenar a string de conexão do banco de dados do Identity Server. Esse valor é preenchido pelo instalador.
appsettings.Production.json e appsettings.json.
"ConnectionStrings": { "DefaultConnection": "Server=.\\sqlexpress;Database=IdentityServer;User ID=<username>;Password=<password>;" }"ConnectionStrings": { "DefaultConnection": "Server=.\\sqlexpress;Database=IdentityServer;User ID=<username>;Password=<password>;" }Criptografia
EncryptionSettings é usada para armazenar chaves de criptografia do tenant.Os valores são migrados do UiPath.Orchestrator.dll.config do Orchestrator durante a instalação.
appsettings.Production.json e appsettings.json.
"EncryptionSettings": {
"EncryptionKey": "3wkO1hkaXLwR9LZoRZIueIxG3GIEB/YMDZUWhD9AR8g="
}"EncryptionSettings": {
"EncryptionKey": "3wkO1hkaXLwR9LZoRZIueIxG3GIEB/YMDZUWhD9AR8g="
}O Identity Server pode ser configurado para usar uma chave local (veja acima) ou um Azure Key Vault (veja abaixo), assim como o Orchestrator.
"EncryptionSettings": {
"MultiTenantEncryptionKeyProvider": "AzureKeyVault",
"EncryptionKeyPerTenant": true,
"AzureKeyVaultAddress": "keyVaultAddress",
"AzureKeyVaultCertificateThumbprint": "keyvaultCertificateThumbprint",
"AzureKeyVaultClientId" : "azureClientId"
},"EncryptionSettings": {
"MultiTenantEncryptionKeyProvider": "AzureKeyVault",
"EncryptionKeyPerTenant": true,
"AzureKeyVaultAddress": "keyVaultAddress",
"AzureKeyVaultCertificateThumbprint": "keyvaultCertificateThumbprint",
"AzureKeyVaultClientId" : "azureClientId"
},MultiTenantEncryptionKeyProvider- Indica em qual aplicativo de gerenciamento de chaves é preciso armazenar as chaves de criptografia geradas por tenant do Orchestrator. Por padrão, a configuração temConfigFileKeyvalor no código. Os valores aceitos sãoAzureKeyVaulteConfigFileKey. Durante a instalação do Identity Server, o valor é copiado daEncryptionKeyPerTenant.KeyProviderconfiguração do UiPath.Orchestrator.dll.config.
UiPath.Orchestrator.dll.config:
|
Chave do Identity Server |
Chave do Orchestrator |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
UiPath.Orchestrator.dll.config estiver definido como LocalMachine, certifique-se de que AzureKeyVaultCertificateStoreLocation em appsettings.Production.json tenha o mesmo valor.
UiPath.Orchestrator.dll.configOrchestrator, você também deve atualizar a do Identity Server appsettings.Production.jsoncom os mesmos valores.
Geração de logs
Logging configura o nível do registro em log para cada componente usado pelo Identity Server. Esta é uma configuração de log genérica. Encontre mais informações aqui.
appsettings.json.
"Logging": {
"LogLevel": {
"Default": "Trace",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
}"Logging": {
"LogLevel": {
"Default": "Trace",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
}Microsofte Microsoft.Hosting.Lifetime.
NLog
NLogseção é usada para definir como as informações são registradas no Identity Server por meio de destinos do NLog, assim como no Orchestrator.
appsettings.json.
json
"NLog": {
"IncludeScopes": true,
"throwConfigExceptions": false,
"targets": {
"EventLog": {
"type": "EventLog",
"source": "IdentityService",
"layout": "${longdate} ${logger} ${message}${onexception:${newline}${exception:maxInnerExceptionLevel=10:format=shortType,message,stacktrace:separator=*:innerExceptionSeparator=
	}}"
}
},
"rules": [
{
"logger": "*",
"minLevel": "Info",
"writeTo": "EventLog"
}
]
},json
"NLog": {
"IncludeScopes": true,
"throwConfigExceptions": false,
"targets": {
"EventLog": {
"type": "EventLog",
"source": "IdentityService",
"layout": "${longdate} ${logger} ${message}${onexception:${newline}${exception:maxInnerExceptionLevel=10:format=shortType,message,stacktrace:separator=*:innerExceptionSeparator=
	}}"
}
},
"rules": [
{
"logger": "*",
"minLevel": "Info",
"writeTo": "EventLog"
}
]
},
Por padrão, o NLog é configurado para gravar logs no ApplicationEvents. Leia aqui mais informações sobre como configurar o NLog usando uma seção JSON.
Configurações de Aplicativo
AppSettings é a seção de configuração principal do Identity Server. Esta seção tem valores entre appsettings.Production.json e appsettings.json.
-
IdentityServerAddress- Representa a audiência que o Identity Server verifica ao validar o token usado para chamar a API do Identity Server. Durante a instalação, esse campo é preenchido automaticamente dentro doappsettings.Production.jsoncom o endereço do Identity Server. Não modifique esse valor porque isso interromperá a propagação de dados do Orchestrator.Esta configuração tem valores entreappsettings.Production.jsoneappsettings.json.Observação: certifique-se de fornecer um URL minúsculo como valor paraIdentityServerAddress; caso contrário, ocorrerá um erro. -
Saml2ValidCertificateOnly- Se estiver definido comotrue, não permite o uso de certificados inválidos ao configurar o SAML2.Por padrão, a configuração tem valortrueno código. -
EnablePII- Quando definido comotrue, as exceções contêm informações confidenciais (por exemplo, o endereço de URL do provedor de identidade externa ou o endereço do Identity Server, etc.)Por padrão, a configuração tem valorfalseemappsettings.jsone o código. HideErrorCodesInUi- Controla se os códigos de erro de login são exibidos na IU. Esse parâmetro não é exibido por padrão. O valor padrão éfalse. Defina comotruepara ocultar os códigos de erro de login da IU. Por exemplo,"HideErrorCodesInUi": true.-
CookieValidationInterval- Representa o intervalo de tempo (em segundos) após o qual o cookie é verificado para ver se o usuário e o tenant ainda estão ativos e se o usuário não fez login em outro navegador. O valor emappsetttings.Production.jsoné migrado automaticamente do Orchestrator, que tem a mesma configuração.Por padrão, o valor é definido para60segundos emappsettings.Production.jsone o código. -
CookieExpireMinutes- Representa o intervalo de tempo (em minutos) após o qual o cookie do Identity Server expira. O valor emappsetttings.Production.jsoné migrado automaticamente do Orchestrator, que tem a mesma configuração.Por padrão, o valor é definido para30minutos emappsettings.Production.jsone o código. UseRedisStoreCache- Defina seu valor comotruepara habilitar o cache do Redis dos dados do cliente da 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 naLoadBalancerSettings. A configuraçãoUseRedisStoreCachenão é exibida por padrão.
-
OrchestratorUrl— representa o URL do Orchestrator. É aqui que o Identity Server o redireciona quando você clica no ícone do Orchestrator no menu Hub do Portal de Gerenciamento de Identidades.O valor é definido durante a instalação emappsettings.Production.json.Observação: certifique-se de fornecer um URL minúsculo como valor paraOrchestratorUrl; caso contrário, ocorrerá um erro."AppSettings": { "IdentityServerAddress": "https://myIdentity.domain.local/identity", "EnablePII": false, "HideErrorCodesInUi": true, "CookieExpireMinutes": 30, "OrchestratorUrl": "https://myOrchestratorURL.domain.local" } }"AppSettings": { "IdentityServerAddress": "https://myIdentity.domain.local/identity", "EnablePII": false, "HideErrorCodesInUi": true, "CookieExpireMinutes": 30, "OrchestratorUrl": "https://myOrchestratorURL.domain.local" } }
Localização
LocalizationSettings tem os seguintes valores padrão no código:
"LocalizationSettings": {
"EnabledLanguages": "en,ja,de,es,es-MX,fr,ko,pt,pt-BR,ru,tr,zh-CN"
}"LocalizationSettings": {
"EnabledLanguages": "en,ja,de,es,es-MX,fr,ko,pt,pt-BR,ru,tr,zh-CN"
}EnabledLanguages- Lista os idiomas disponíveis no Identity Server. É usada para limitar o número de idiomas disponíveis.
Load balancer
LoadBalancerSettings tem os seguintes valores padrão no appsettings.Production.json e o código:
"LoadBalancerSettings": {
"UseRedis": false,
"RedisConnectionString": "",
"SlidingExpirationTimeInSeconds": 600
}"LoadBalancerSettings": {
"UseRedis": false,
"RedisConnectionString": "",
"SlidingExpirationTimeInSeconds": 600
}appsetttings.Production.json são migrados automaticamente do UiPath.Orchestrator.dll.config do Orchestrator no caso de uma atualização de vários nós. Se o Redis não estiver configurado no Orchestrator, então o appsettings.Production.json conterá essa configuração.
UseRedis- Use o Redis como um banco de dados para distribuir mensagens e cache para e de todas as máquinas conectadas por meio do seu balanceador de carga. Isso é obrigatório para vários nós.-
RedisConnectionString- Pode ser usado apenas seLoadBalancer.UseRedisestiver definido comotrue. Uma string de conexão que permite que você configure seu servidor do Redis, que contém a URL do servidor, a senha e a porta usada com o Redis. Também é possível habilitar as conexões criptografadas por SSL entre os nós do Orchestrator e o serviço do Redis. Para obter mais informações, clique aqui. Exemplos:- com SSL habilitado -
"RedisConnectionString": "DOCWREDIS02:6379,password=12345678,ssl=true" - sem SSL habilitado -
"RedisConnectionString": "DOCWREDIS02:6379,password=12345678"
- com SSL habilitado -
SlidingExpirationTimeInSeconds- Controla o tempo de expiração de deslizamento de um item dentro do cache. Esse tempo de expiração se aplica para o Cache do Redis e o InMemory Cache (esse é o padrão quando o Redis não está disponível).
Credencial de assinatura
SigningCredentialSettings descreve o local do certificado usado para assinar os tokens gerados pelo Identity Server. Os valores das configurações nesta seção são preenchidos pelo instalador com base na sua entrada. As configurações podem ser definidas para permitir a leitura do certificado a partir de um armazenamento de certificados ou do Azure Key Vault.
Configurações de rotação de certificado
ValidationKeys- Use para indicar o Name, Location, e NameType do seu segundo certificado. Isso é necessário para a rotação do certificado.
Por razões de segurança, o certificado de assinatura deve ter uma chave pública de 2048 bits. Certifique-se de que o certificado seja válido, não expirado, e o Identity Server tenha acesso à chave privada.
SigningCredentialSettings para garantir que você sempre use um certificado no seu período de validade.
Exemplo de Configurações de Local do Armazenamento de Certificado
Aqui está uma configuração clássica para encontrar um certificado no armazenamento de certificados:
"SigningCredentialSettings": {
"StoreLocation": {
"Name": "30f3c11e676fc8eb1f9dd4e330f3ce668d796796",
"Location": "LocalMachine",
"NameType": "Thumbprint"
}"SigningCredentialSettings": {
"StoreLocation": {
"Name": "30f3c11e676fc8eb1f9dd4e330f3ce668d796796",
"Location": "LocalMachine",
"NameType": "Thumbprint"
}Namerepresenta um valor de Impressão digital.
Location e NameType.
Exemplo de Configurações de Local do Azure Key Vault
"SigningCredentialSettings": {
"AzureKeyVaultLocation": {
"KeyName": "key_name_534553553"
}"SigningCredentialSettings": {
"AzureKeyVaultLocation": {
"KeyName": "key_name_534553553"
}KeyNamerepresenta a chave para pesquisar no interior do Azure Key Vault.
Autorização
-
RestrictBasicAuthentication- Permite que você controle se os usuários podem fazer login em uma instância do Orchestrator usando credenciais de autenticação básica. Esta configuração não é exibida por padrão noappsettings.Production.json. Os seguintes valores estão disponíveis:true- Os usuários não podem fazer login usando credenciais de autenticação básica.false- Os usuários podem fazer login usando credenciais de autenticação básica. Esse é o valor padrão.
-
EnableBasicAuthenticationForHostTenant- Permite que você controle se um administrador do host pode fazer login no tenant do host de uma instância do Orchestrator usando credenciais de autenticação básica. Esta configuração não é exibida por padrão no arquivoappsettings.Production.json. Os seguintes valores estão disponíveis:true- O administrador do host pode fazer login usando credenciais de autenticação básica. Esse é o valor padrão.false- O administrador do host não pode fazer login usando credenciais de autenticação básica.
RestrictBasicAuthentication, o que significa que se você definir EnableBasicAuthenticationForHostTenantcomo truee RestrictBasicAuthenticationcomo true, pode fazer login apenas com credenciais de autenticação básica no nível do host.