orchestrator
2020.10
false
Importante :
A tradução automática foi aplicada parcialmente neste conteúdo.
UiPath logo, featuring letters U and I in white
Fora do período de suporte
Guia de instalação do Orchestrator
Automation CloudAutomation Cloud Public SectorAutomation SuiteStandalone
Last updated 12 de dez de 2023

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.
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 de tenant. Os valores são migrados automaticamente 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

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 60 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": {
  "UseRedis": false,
  "RedisConnectionString": "",
  "SlidingExpirationTimeInSeconds":  600
}"LoadBalancerSettings": {
  "UseRedis": false,
  "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.
  • 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 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": "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).

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

  • SigningCredential - Use para especificar o Name, Location, e NameType do seu certificado padrão.
  • 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.