orchestrator
2023.10
false
UiPath logo, featuring letters U and I in white
Guia de instalação do Orchestrator
Automation CloudAutomation Cloud Public SectorAutomation SuiteStandalone
Last updated 3 de out de 2024

AppSettings.json do Identity Server

O arquivo 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.
Importante:
  • Para configurar o Identity Server de acordo com sua preferência, você deve modificar o arquivo appsettings.Production.json. Este arquivo substitui todas as configurações preexistentes em appsettings.jsonapós cada processo de instalação.
  • Se você usar as versões 2023.4 e superiores e tiver modificado applicationhost.config adicionando X-Content-Type-Options, você deve removê-las do arquivo appsettings.Production.json de Identidade. Consulte o seguinte exemplo:
    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
    <location path="." inheritInChildApplications="false">
    <system.webServer>
    <httpProtocol>
    <customHeaders>
    <remove name="X-Powered-By" />
    
    <!--
    <add name="X-Content-Type-Options" value="nosniff" />
    -->
    </customHeaders><?xml version="1.0" encoding="utf-8"?>
    <configuration>
    <location path="." inheritInChildApplications="false">
    <system.webServer>
    <httpProtocol>
    <customHeaders>
    <remove name="X-Powered-By" />
    
    <!--
    <add name="X-Content-Type-Options" value="nosniff" />
    -->
    </customHeaders>
Observação:

Recomenda-se que apenas os administradores alterem os valores desses parâmetros.

Além disso, é recomendável que você desative o servidor IIS para modificar as configurações 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.

Prioridade de Configurações

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):

  1. Valor dentro do arquivo appsettings.Production.json
  2. Valor dentro do arquivo appsettings.json
  3. Valor padrão definido no código. Usado apenas se uma configuração específica não puder ser encontrada em appsettings.Production.jsonou appsettings.json.

Configurações

O arquivo appsettings.json tem uma estrutura interna composta de várias seções JSON separadas por uma vírgula.

Strings de conexão

A seção ConnectionStrings é usada para armazenar a string de conexão do banco de dados do Identity Server. Esse valor é preenchido pelo instalador.
Esta configuração tem valores entre 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

A seção 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.
Esta configuração tem valores entre 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 tem ConfigFileKey valor no código. Os valores aceitos são AzureKeyVault e ConfigFileKey. Durante a instalação do Identity Server, o valor é copiado da EncryptionKeyPerTenant.KeyProviderconfiguração do UiPath.Orchestrator.dll.config.
As seguintes chaves do Identity Server correspondem às chaves do Orchestrator na seção SecureAppSettings do UiPath.Orchestrator.dll.config:

Chave do Identity Server

Chave do Orchestrator

EncryptionKeyPerTenant

EncryptionKeyPerTenant.Enabled

AzureKeyVaultAddress

Azure.KeyVault.VaultAddress

AzureKeyVaultCertificateThumbprint

Azure.KeyVault.CertificateThumbprint

AzureKeyVaultClientId

Azure.KeyVault.ClientId

AzureKeyVaultDirectoryId

Azure.KeyVault.DirectoryId

MultiTenantEncryptionKeyProvider

EncryptionKeyPerTenant.KeyProvider

Importante: se o parâmetro CertificatesStoreLocation em UiPath.Orchestrator.dll.config estiver definido como LocalMachine, certifique-se de que AzureKeyVaultCertificateStoreLocation em appsettings.Production.json tenha o mesmo valor.
Importante: se você alterar a Chave de Criptografia ou as configurações do Azure Key Vault dentro do UiPath.Orchestrator.dll.configOrchestrator, você também deve atualizar a do Identity Server appsettings.Production.jsoncom os mesmos valores.

Geração de logs

A seção 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.
Esta seção tem valores em appsettings.json.
"Logging": {
  "LogLevel": {
    "Default": "Trace",
    "Microsoft": "Warning",
    "Microsoft.Hosting.Lifetime": "Information"
  }
}"Logging": {
  "LogLevel": {
    "Default": "Trace",
    "Microsoft": "Warning",
    "Microsoft.Hosting.Lifetime": "Information"
  }
}
O Identity Server fornece alguns padrões para alguns componentes principais como Microsofte Microsoft.Hosting.Lifetime.

NLog

A 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.
Esta seção tem valores em 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=&#xD;&#xA;&#x9;}}"
    }
  },
  "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=&#xD;&#xA;&#x9;}}"
    }
  },
  "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

A seção 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 do appsettings.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 entre appsettings.Production.json e appsettings.json.
    Observação: certifique-se de fornecer um URL minúsculo como valor para IdentityServerAddress; caso contrário, ocorrerá um erro.
  • Saml2ValidCertificateOnly- Se estiver definido como true, não permite o uso de certificados inválidos ao configurar o SAML2.
    Por padrão, a configuração tem valor true no código.
  • EnablePII- Quando definido como true, 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 valor falseem appsettings.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 como true para 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 em appsetttings.Production.jsoné migrado automaticamente do Orchestrator, que tem a mesma configuração.
    Por padrão, o valor é definido para 60segundos em appsettings.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 em appsetttings.Production.jsoné migrado automaticamente do Orchestrator, que tem a mesma configuração.
    Por padrão, o valor é definido para 30 minutos em appsettings.Production.jsone o código.
  • 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 em appsettings.Production.json.
    Observação: certifique-se de fornecer um URL minúsculo como valor para OrchestratorUrl; 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

A seçã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

A seção LoadBalancerSettings tem os seguintes valores padrão no appsettings.Production.json e o código:
"LoadBalancerSettings": {
  "RedisConnectionString": "",
  "SlidingExpirationTimeInSeconds":  600
}"LoadBalancerSettings": {
  "RedisConnectionString": "",
  "SlidingExpirationTimeInSeconds":  600
}
Os valores dentro do 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.
  • RedisConnectionString- Pode ser usado apenas se LoadBalancer.UseRedisestiver definido como true. 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": A"DOCWREDIS02:6379,password=12345678,ssl=true"
    • sem SSL habilitado -"RedisConnectionString": "DOCWREDIS02:6379,password=12345678"
  • 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).

Configurações do Redis

A seção RedisSettings controla quais caches são habilitados.
  • UseRedisStoreCache- Defina seu valor como truepara 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 na LoadBalancerSettings. A configuração UseRedisStoreCache não é exibida por padrão.
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.
  • UseRedisStoreClientCache - Defina seu valor como true para ativar o cache do Redis para clientes primários (aplicativos UiPath) ou clientes de terceiros (aplicativos externos). Se você tiver uma implantação em grande escala, é recomendável habilitar esse sinalizador.

Credencial de assinatura

A seção 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.
Observação:

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.

Consulte Certificate Rotation para saber mais sobre os ajustes que você precisa fazer na seção 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"
  }
Neste exemplo, Namerepresenta um valor de Impressão digital.
Não recomendamos usar outros valores para 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"
  }
Neste exemplo, 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 no appsettings.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 arquivo appsettings.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.
Esse parâmetro ultrapassa o parâmetro 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.

Esta página foi útil?

Obtenha a ajuda que você precisa
Aprendendo RPA - Cursos de automação
Fórum da comunidade da Uipath
Uipath Logo White
Confiança e segurança
© 2005-2024 UiPath. Todos os direitos reservados.