orchestrator
2023.10
false
UiPath logo, featuring letters U and I in white

Guía de instalación de Orchestrator

Automation CloudAutomation Cloud Public SectorAutomation SuiteStandalone
Última actualización 5 de dic. de 2024

Identity Server AppSettings.json

El archivo appsettings.json (C:\Program Files (x86)\UiPath\Orchestrator\Identity) contiene los ajustes de configuración listos para usarse para Identity Server. Un segundo archivo idéntico, appsettings.Production.json, es el que contiene tu configuración específica de Identity Server.
Importante:
  • Para configurar Identity Server a tu gusto, debes modificar el archivo appsettings.Production.json. Este archivo anula cualquier configuración preexistente dentro de appsettings.json después de cada proceso de instalación.
  • Si utilizas las versiones 2023.4 y posteriores y has modificado applicationhost.config añadiendo X-Content-Type-Options, debes eliminarlo del archivo Identity appsettings.Production.json. Consulta el siguiente ejemplo:
    <?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>
Nota:

Recomendamos que solo los administradores cambien los valores de estos parámetros.

Además, se recomienda que desconectes el sitio de IIS para modificar la appsettings.Production.jsonconfiguración en cualquier caso.

Los parámetros que no se documentan en esta página no deben cambiarse.

Todos los parámetros distinguen entre mayúsculas y minúsculas.

Prioridad de configuración

Puedes cambiar la configuración en varios lugares. Aquí se muestran las prioridades que utiliza Identity Server al determinar el valor de una configuración, desde la alta (1) hasta la baja (3):

  1. Valor dentro del archivo appsettings.Production.json
  2. Valor dentro del archivo appsettings.json
  3. Valor predeterminado establecido en el código. Solo se utiliza si no se puede encontrar una configuración específica dentro de appsettings.Production.json o appsettings.json.

Configuración

El archivo appsettings.json tiene una estructura interna compuesta de varias secciones JSON separadas por una coma.

Cadenas de conexión

La sección ConnectionStrings se utiliza para almacenar la cadena de conexión de la base de datos de Identity Server. El instalador es quien rellena este valor.
Esta configuración tiene valores dentro de appsettings.Production.json y appsettings.json.
"ConnectionStrings": { "DefaultConnection": "Server=.\\sqlexpress;Database=IdentityServer;User ID=<username>;Password=<password>;" }"ConnectionStrings": { "DefaultConnection": "Server=.\\sqlexpress;Database=IdentityServer;User ID=<username>;Password=<password>;" }

Cifrado

La EncryptionSettingssección se utiliza para almacenar las claves de cifrado de los tenants. Los valores se migrarán automáticamente desde UiPath.Orchestrator.dll.config de Orchestrator durante la instalación.
Esta configuración tiene valores dentro de appsettings.Production.json y appsettings.json.
"EncryptionSettings": {
  "EncryptionKey": "3wkO1hkaXLwR9LZoRZIueIxG3GIEB/YMDZUWhD9AR8g="
}"EncryptionSettings": {
  "EncryptionKey": "3wkO1hkaXLwR9LZoRZIueIxG3GIEB/YMDZUWhD9AR8g="
}

Identity Server puede configurarse para utilizar una clave local (ver más arriba) o una Azure Key Vault (ver más abajo), igual que 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 en qué aplicación de administración de claves almacenar las claves de cifrado generadas por tenant desde Orchestrator. De forma predeterminada, esta configuración tiene el valor ConfigFileKey como parte del código. Los valores aceptados son AzureKeyVault y ConfigFileKey. Durante la instalación de Identity Server, el valor se copiará desde la configuración EncryptionKeyPerTenant.KeyProvider de UiPath.Orchestrator.dll.config.
Las siguientes claves de Identity Server coinciden con las claves de Orchestrator dentro de la sección SecureAppSettings UiPath.Orchestrator.dll.configde:

Clave de Identity Server

Clave de Orchestrator

EncryptionKeyPerTenant

EncryptionKeyPerTenant.Enabled

AzureKeyVaultAddress

Azure.KeyVault.VaultAddress

AzureKeyVaultCertificateThumbprint

Azure.KeyVault.CertificateThumbprint

AzureKeyVaultClientId

Azure.KeyVault.ClientId

AzureKeyVaultDirectoryId

Azure.KeyVault.DirectoryId

MultiTenantEncryptionKeyProvider

EncryptionKeyPerTenant.KeyProvider

Importante: Si el parámetro CertificatesStoreLocation en UiPath.Orchestrator.dll.config se ha establecido como LocalMachine, asegúrate de que AzureKeyVaultCertificateStoreLocation en appsettings.Production.json tenga el mismo valor.
Si cambias la configuración de la clave de cifrado o de la Azure Key Vault dentro de de UiPath.Orchestrator.dll.configOrchestrator, también deberás actualizar de Identity Server appsettings.Production.jsoncon los mismos valores.

Registro

La sección Logging configura el nivel de registro de cada componente utilizado por Identity Server. Esta es una configuración de registro genérica.Más información aquí.
Esta sección tiene valores dentro de appsettings.json.
"Logging": {
  "LogLevel": {
    "Default": "Trace",
    "Microsoft": "Warning",
    "Microsoft.Hosting.Lifetime": "Information"
  }
}"Logging": {
  "LogLevel": {
    "Default": "Trace",
    "Microsoft": "Warning",
    "Microsoft.Hosting.Lifetime": "Information"
  }
}
Identity Server proporciona algunos valores predeterminados para unos pocos componentes principales como Microsoft y Microsoft.Hosting.Lifetime.

NLog

La sección NLog se utiliza para definir cómo se registra la información en Identity Server a través de los valores de destino de NLog, igual que en Orchestrator.
Esta sección tiene valores dentro de 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"
    }
  ]
},

De forma predeterminada, NLog se configura para escribir registros en ApplicationEvents. Aquí podrás encontrar más información sobre cómo configurar NLog utilizando una sección JSON.

Ajustes de la aplicación

La sección AppSettings es la sección de configuración principal de Identity Server. Esta sección tiene valores dentro de appsettings.Production.json y appsettings.json.
  • IdentityServerAddress: representa la audiencia que Identity Server comprueba cuando valida el token utilizado para llamar a la API de Identity Server. Durante la instalación, este campo se rellenará automáticamente dentro de appsettings.Production.json con la dirección de Identity Server. No modifiques este valor, ya que se rompería la propagación de datos de Orchestrator.
    Esta configuración tiene valores dentro de appsettings.Production.json y appsettings.json.
    Nota: Asegúrate de proporcionar una URL en minúsculas como valor para IdentityServerAddress; de lo contrario, se produce un error.
  • Saml2ValidCertificateOnly: si se establece en true, no permite el uso de certificados no válidos al configurar SAML2.
    De forma predeterminada, esta configuración tiene el valor true dentro del código.
  • EnablePII: si se establece en true, las excepciones contendrán información confidencial (por ejemplo, la dirección URL del proveedor de identidades externo o la dirección de Identity Server, etc).
    De forma predeterminada, esta configuración tiene el valor false dentro de appsettings.json y el código.
  • HideErrorCodesInUi: controla si se muestran o no los códigos de error de inicio de sesión en la IU. Este parámetro no se muestra por defecto. El valor predeterminado es false. Establécelo en true para ocultar los códigos de error de inicio de sesión desde la IU. Por ejemplo, "HideErrorCodesInUi": true.
  • CookieValidationInterval: representa el intervalo de tiempo (en segundos) tras el cual se comprueba la cookie para ver si el usuario y el tenant aún están activos, y si el usuario no ha iniciado sesión en otro navegador. El valor dentro de appsetttings.Production.json se migrará automáticamente desde Orchestrator, que tiene la misma configuración.
    De forma predeterminada, el valor está establecido en 60 segundos dentro de appsettings.Production.json y el código.
  • CookieExpireMinutes: representa el intervalo de tiempo (en minutos) tras el cual caducará la cookie de Identity Server. El valor dentro de appsetttings.Production.json se migrará automáticamente desde Orchestrator, que tiene la misma configuración.
    De forma predeterminada, el valor está establecido en 30 minutos dentro de appsettings.Production.json y el código.
  • OrchestratorUrl : representa la URL del Orchestrator. Aquí es donde Identity Server te redirige al hacer clic en el icono de Orchestrator dentro del menú Hub del Identity Management Portal.
    El valor está establecido durante la instalación dentro de appsettings.Production.json.
    Nota: Asegúrate de proporcionar una URL en minúsculas como valor para OrchestratorUrl; de lo contrario, se produce un error.
    "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"
      }
    }

Localización

La sección LocalizationSettings tiene los siguientes valores predeterminados dentro del 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: muestra los idiomas disponibles en Identity Server. Se utiliza para limitar el número de idiomas disponibles.

Load balancer

La sección LoadBalancerSettings tiene los siguientes valores predeterminados dentro de appsettings.Production.json y el código:
"LoadBalancerSettings": {
  "RedisConnectionString": "",
  "SlidingExpirationTimeInSeconds":  600
}"LoadBalancerSettings": {
  "RedisConnectionString": "",
  "SlidingExpirationTimeInSeconds":  600
}
Los valores de appsetttings.Production.json se migrarán automáticamente desde UiPath.Orchestrator.dll.config de Orchestrator en caso de una actualización multinodo. Si Redis no está configurado dentro de Orchestrator, appsettings.Production.json contendrá esta configuración.
  • RedisConnectionString: solo se puede utilizar si LoadBalancer.UseRedis está establecido en true.Una cadena de conexión que te permite configurar tu servidor Redis, que contiene la URL del servidor, la contraseña y el puerto utilizado con Redis.También es posible habilitar las conexiones cifradas de SSL entre los nodos de Orchestrator y el servicio Redis. Para obtener más información, haz clic aquí. Ejemplos:
    • con SSL habilitado:n "RedisConnectionString": A"DOCWREDIS02:6379,password=12345678,ssl=true"
    • sin SSL habilitado: "RedisConnectionString": "DOCWREDIS02:6379,password=12345678"
  • SlidingExpirationTimeInSeconds: controla el tiempo de vencimiento de desplazamiento de un elemento dentro de la caché. Este tiempo de vencimiento se aplica tanto para la caché de Redis como para la caché de InMemory (comportamiento predeterminado si Redis no está disponible).

Configuración de Redis

La sección RedisSettings controla qué cachés están habilitadas.
  • UseRedisStoreCache: establece su valor en truepara habilitar la caché de Redis de los datos del cliente de OAuth. Esto ayuda a evitar problemas de rendimiento cuando se utiliza el inicio de sesión interactivo para conectar una gran cantidad de robots en un breve periodo de tiempo. Esta caché utiliza la misma cadena de conexión de Redis especificada en LoadBalancerSettings. La configuración UseRedisStoreCache no se muestra de forma predeterminada.
Nota: no se recomienda si utilizas la característica Aplicaciones externas, ya que esta configuración de caché de clientes y actualizaciones de Aplicaciones externas no se reflejará.
  • UseRedisStoreClientCache : establece su valor en true para habilitar el almacenamiento en caché de Redis para clientes propios (aplicaciones de UiPath) o clientes de terceros (aplicaciones externas). Si tiene una implementación a gran escala, se recomienda habilitar este marcador.

Credencial de firma

La sección SigningCredentialSettings describe la ubicación del certificado utilizado para firmar los tokens generados por Identity Server. El instalador rellena los valores de la configuración de esta sección según tus datos de entrada. Puede configurarse para permitir la lectura del certificado desde un almacén de certificados o desde Azure Key Vault.

Configuración de la rotación de certificados

ValidationKeys: utilízalo para indicar Name, Location, y NameType de tu segundo certificado. Esto es necesario para la rotación de certificados.
Nota:

Por motivos de seguridad, el certificado de firma debe tener una clave pública de 2048 bits. Asegúrate de que el certificado sea válido, no haya expirado y de que Identity Server tenga acceso a la clave privada.

Consulta Rotación de certificados para más información sobre los ajustes que necesitas realizar en la SigningCredentialSettingssección para asegurarte de que siempre utilizas un certificado dentro de su periodo de validez.

Ejemplo de configuración de ubicación del almacén de certificados

Aquí se muestra una configuración clásica para encontrar un certificado dentro del almacén de certificados:

"SigningCredentialSettings": {
  "StoreLocation": {
    "Name": "30f3c11e676fc8eb1f9dd4e330f3ce668d796796",
    "Location": "LocalMachine",
    "NameType": "Thumbprint"
  }"SigningCredentialSettings": {
  "StoreLocation": {
    "Name": "30f3c11e676fc8eb1f9dd4e330f3ce668d796796",
    "Location": "LocalMachine",
    "NameType": "Thumbprint"
  }
En este ejemplo, Name representa un valor de huella digital.
No recomendamos que utilices otros valores para Location y NameType.

Ejemplo de configuración de ubicación de Azure Key Vault

"SigningCredentialSettings": {
  "AzureKeyVaultLocation": {
    "KeyName": "key_name_534553553"
  }"SigningCredentialSettings": {
  "AzureKeyVaultLocation": {
    "KeyName": "key_name_534553553"
  }
En este ejemplo, KeyName representa la clave que se busca dentro de Azure Key Vault.

Autorización

  • RestrictBasicAuthentication: te permite controlar si los usuarios pueden iniciar sesión en una instancia de Orchestrator utilizando las credenciales de autenticación básicas. Esta configuración no se muestra por defecto en appsettings.Production.json. Están disponibles los siguientes valores:
    • true: los usuarios no pueden iniciar sesión utilizando las credenciales de autenticación básicas.
    • false: los usuarios pueden iniciar sesión utilizando las credenciales de autenticación básicas. Este es el valor predeterminado.
  • EnableBasicAuthenticationForHostTenant: te permite controlar si un administrador de host puede iniciar sesión en el tenant de host de una instancia de Orchestrator utilizando las credenciales de autenticación básicas. Esta configuración no se muestra por defecto en el archivo appsettings.Production.json. Están disponibles los siguientes valores:
    • true: el administrador de host puede iniciar sesión utilizando las credenciales de autenticación básicas. Este es el valor predeterminado.
    • false: el administrador de host no puede iniciar sesión utilizando las credenciales de autenticación básicas.
Este parámetro se salta el parámetro RestrictBasicAuthentication, lo que significa que, si estableces EnableBasicAuthenticationForHostTenant en true y RestrictBasicAuthentication en true, podrás iniciar sesión con las credenciales de autenticación básicas en el nivel de host.

¿Te ha resultado útil esta página?

Obtén la ayuda que necesitas
RPA para el aprendizaje - Cursos de automatización
Foro de la comunidad UiPath
Uipath Logo White
Confianza y seguridad
© 2005-2024 UiPath. Todos los derechos reservados.