Orchestrator
Más reciente
False
Imagen de fondo del banner
Guía del usuario de Orchestrator
Última actualización 30 de abr. de 2024

El proxy de credenciales de Orchestrator

Puede añadir sus propios almacenes de credenciales a Orchestrator para controlar de forma independiente la seguridad de los datos de conexión.

Para ello, puedes cargar los complementos del almacén de credenciales deseados, en forma de archivos .dll, al servicio web Credentials Proxy de Orchestrator. El kit de instalación contiene todos los complementos compatibles con UiPath, pero también puedes desarrollar tus propios archivos .dll de complementopara cargarlos. Este servicio hace que los complementos estén disponibles para Orchestrator a través de un proxy, que se crea en Orchestrator a partir de la URL pública y la clave secreta generada por el proxy.

Instalación

El proxy de credenciales de Orchestrator se puede instalar a través de un archivo .msi instalador o mediante una imagen de Docker proporcionada por UiPath.

A través del archivo .msi instalador

Requisitos previos

Se requiere lo siguiente para poder utilizar el proxy:

  • ASP.NET Core versiones 3.1 o 6.0.x
  • IIS versión 8.0 o superior
  • Deben estar instaladas las siguientes características de Windows:

    • Documento predeterminado de IIS
    • Errores de IIS-Http
    • Contenido estático de IIS
    • Filtro de solicitudes IIS
    • Autorización de IIS
    • Autenticación de IIS-Windows
    • IIS-ASPNET45
    • Extensiones de IIS-ISAPI
    • FiltroDeIIS
    • IIS-WebSockets
    • InicioDeAplicación IIS
    • Consola de administración de IIS

Requisitos de hardware y software

Requisitos de hardware

Estos son los requisitos mínimos para ejecutar el proxy en un servidor Windows con IIS:

Núcleos de la CPU

RAM

2

4 GB

Requisitos de software

Se requieren las siguientes versiones de Windows Server para instalar el proxy:

  • 2012 R2
  • 2016
  • 2019
  • 2022

Pasos de la instalación

Siga estos pasos para realizar la instalación:

  1. Descarga el instalador del Credential Proxy de UiPath Orchestrator desde Customer Portal.
  2. Instala el proxy.

    Proxy conectado

    • URL pública: la URL del proxy de credenciales de Orchestrator que se expone públicamente
    • Certificado SSL: el asunto o huella digital del certificado SSL utilizado para proteger las conexiones con el Credentials Proxy de Orchestrator. Este es el certificado SSL instalado en el ordenador o servidor web que aloja el proxy.

      Tenga en cuenta que debe ser válido para la URL pública.

    • Puerto : el puerto correspondiente a la URL pública
    • Clave secreta : (generada automáticamente) la clave necesaria para configurar un proxy personalizado en la interfaz de Orchestrator; asegúrese de copiarlo en su portapapeles para usarlo en el futuro.

      Esto se puede cambiar manualmente y también es adecuado para la rotación de teclas.

    Proxy desconectado

    Esta característica solo está disponible si estás en el plan de licencia Empresarial - Avanzado.

    • Certificado SSL : el certificado SSL utilizado para proteger las conexiones con el proxy de credenciales de Orchestrator. Este es el certificado SSL instalado en el equipo o servidor web que aloja el proxy.

    • Puerto: el puerto correspondiente a la URL

    • Clave secreta : (generada automáticamente) la clave necesaria para configurar un proxy personalizado en la interfaz de Orchestrator; asegúrese de copiarlo en su portapapeles para usarlo en el futuro.

    Al instalar, el parámetro AppSettings.CredentialsProxyType del archivo appsettings.Production.json se establece en Desconectado. Así es como el proxy detecta el tipo al inicio.

A través de la imagen de Docker

Informacion preliminar

Todos los ajustes del proxy de credenciales de Orchestrator que se pueden editar están disponibles en su archivo appsettings.json. Los siguientes parámetros son importantes en la configuración inicial:

  • Jwt:Keys : (inicialmente vacía) esta matriz de cadenas se usa para configurar la autenticación del proxy. Esta constituye la clave secreta que utilizará durante el proceso de creación del proxy y que permite a Orchestrator recuperar datos del proxy. Se ignoran los valores no válidos. Si no se encuentran valores válidos, el proxy no se iniciará.

    Las claves secretas deben estar en base64 y se pueden generar usando uno de los scripts de PowerShell a continuación.

    $bytes = [System.Security.Cryptography.RandomNumberGenerator]::GetBytes(64)
    $jwtSigningKey = [Convert]::ToBase64String($bytes);
    Write-Host $jwtSigningKey$bytes = [System.Security.Cryptography.RandomNumberGenerator]::GetBytes(64)
    $jwtSigningKey = [Convert]::ToBase64String($bytes);
    Write-Host $jwtSigningKey
El script anterior genera 64 bytes aleatorios (usando SeccureRandom) y los convierte en una cadena base64.
[Byte[]] $bytes = 1..64
$rng = New-Object System.Security.Cryptography.RNGCryptoServiceProvider
$rng.GetBytes($bytes)
$jwtSigningKey = [Convert]::ToBase64String($bytes);
Write-Host $jwtSigningKey[Byte[]] $bytes = 1..64
$rng = New-Object System.Security.Cryptography.RNGCryptoServiceProvider
$rng.GetBytes($bytes)
$jwtSigningKey = [Convert]::ToBase64String($bytes);
Write-Host $jwtSigningKey
  • appSettings:Plugins.SecureStores : (inicialmente establecido en los almacenes de credenciales predeterminados disponibles en Orchestrator) esta es una cadena CSV que se usa para especificar qué archivos .dll los ensamblados deben cargarse desde el disco (desde path/plugins) para permitir que el proxy utilice los almacenes seguros. Agregar ensamblados no válidos a la lista no interrumpirá el inicio, pero recibirá errores de registro cuando intente implementarlo.
  • appSettings:SigningCredentialSettings:FileLocation:SigningCredential:FilePath y appSettings:SigningCredentialSettings:FileLocation:SigningCredential:Password: (inicialmente oculto) para cifrar los parámetros Jwt:Keys y SecureStoreConfigurations:Context. Esto representa la ruta de archivo a tu certificado de firma.
  • appSettings:SigningCredentialSettings:StoreLocation:Name, appSettings:SigningCredentialSettings:StoreLocation:Location, appSettings:SigningCredentialSettings:StoreLocation:NameType: (inicialmente oculto) para cifrar los parámetros Jwt:Keys y SecureStoreConfigurations:Context.

Cifrar el parámetro Jwt:Keys

Para añadir una capa adicional de seguridad, puedes cifrar los parámetros Jwt:Keys y SecureStoreConfigurations:Context en tu archivo appsettings.json.
Nota: esto requiere UiPath.ConfigProtector.exe la versión 1.0.9 o superior.

Configurar y ejecutar la imagen de Docker

Para ejecutar el proxy de credenciales de Orchestrator mediante Docker, sigue los pasos que se indican a continuación.

  1. Descargar la imagen de Docker

    Puedes descargar la imagen desde http://registry.uipath.com/.

    Ten en cuenta que la versión 1.0.0 solo admite el proxy conectado, mientras que la versión 2.0.0 también admite el proxy desconectado.

    Utilice este comando para obtener la imagen:

    $bytes = [System.Security.Cryptography.RandomNumberGenerator]::GetBytes(64);
    $jwtSigningKey = [Convert]::ToBase64String($bytes);
    docker run -e LICENSE_AGREEMENT=accept -e Jwt__Keys__0=$jwtSigningKey -p 8000:8080 registry.uipath.com/orchestrator-credentialsproxy:1.0.0$bytes = [System.Security.Cryptography.RandomNumberGenerator]::GetBytes(64);
    $jwtSigningKey = [Convert]::ToBase64String($bytes);
    docker run -e LICENSE_AGREEMENT=accept -e Jwt__Keys__0=$jwtSigningKey -p 8000:8080 registry.uipath.com/orchestrator-credentialsproxy:1.0.0

    Esta es la imagen predeterminada de UiPath, que contiene los almacenes de credenciales que ya están disponibles en tu cuenta de la nube. Puedes implementar la imagen en el entorno en la nube de tu elección.

    El comando anterior también genera la clave secreta.

  2. Crear su propia imagen personalizada de Docker

    Puedes crear tu propia imagen de Docker, con ensamblados adicionales, basada en la imagen proporcionada por UiPath y descargada en el paso 1. Para ello:

    1. Crea un nuevo Dockerfile (con fines ilustrativos, lo llamaremos CustomDockerfile) y agrégale lo siguiente:
      FROM {docker-image-path}
      RUN rm -rf ./plugins 
      COPY --chown=1001:0 {path of your custom assemblies} ./plugins 
      ENTRYPOINT ["dotnet", "UiPath.OrchestratorCredentialsProxy.dll"]FROM {docker-image-path}
      RUN rm -rf ./plugins 
      COPY --chown=1001:0 {path of your custom assemblies} ./plugins 
      ENTRYPOINT ["dotnet", "UiPath.OrchestratorCredentialsProxy.dll"]
      • Reemplaza {docker-image-path} con la ruta de la imagen inicial de Docker, proporcionada por UiPath.
      • Reemplace {path of your custom assemblies} con la ruta a su propio almacén de credenciales .dll Archivos
      Descubre cómo Visual Studio utiliza este Dockerfile para crear tus imágenes con el fin de depurar más rápido.
    2. Genera la imagen de Docker con este comando, que incluye el nombre del Dockerfile recién creado:
      docker build -f CustomDockerfile . -t customproxydocker build -f CustomDockerfile . -t customproxy
    3. Ejecuta la imagen de Docker:
      docker run --publish 8000:8080 -e LICENSE_AGREEMENT="accept" -e Jwt__Keys__0=$jwtSigningKey -e appSettings__Plugins.SecureStores="{your-list-of-assemblies}" customproxydocker run --publish 8000:8080 -e LICENSE_AGREEMENT="accept" -e Jwt__Keys__0=$jwtSigningKey -e appSettings__Plugins.SecureStores="{your-list-of-assemblies}" customproxy
      • Reemplazar {your-list-of-assemblies} con el archivo .dll de los almacenes de credenciales personalizadas que desea añadir a Orchestrator.
      Para ejecutar la imagen con un parámetro Jwt:Keys :
      docker run --publish 8000:8080 -e LICENSE_AGREEMENT="accept" -e Jwt__Keys__0=$jwtSigningKey {docker-image-name}docker run --publish 8000:8080 -e LICENSE_AGREEMENT="accept" -e Jwt__Keys__0=$jwtSigningKey {docker-image-name}
      Para ejecutar la imagen con varios parámetros de Jwt:Keys:
      docker run --publish 8000:8080 -e LICENSE_AGREEMENT="accept" -e Jwt__Keys__0==$jwtSigningKey" -e Jwt__Keys__1==$jwtSigningKey" -e Jwt__Keys__2==$jwtSigningKey ... {docker-image-name}docker run --publish 8000:8080 -e LICENSE_AGREEMENT="accept" -e Jwt__Keys__0==$jwtSigningKey" -e Jwt__Keys__1==$jwtSigningKey" -e Jwt__Keys__2==$jwtSigningKey ... {docker-image-name}
      • Reemplaza {docker-image-name} con el nombre que estableciste para tu imagen de Docker personalizada.
      Para ejecutar la imagen con un valor personalizado para el parámetro appSettings:Plugins.SecureStores (es decir, con su almacén de credenciales deseado), reemplace el contenido de este parámetro con su propio almacén de credenciales .dll archivos:
      docker run --publish 8000:8080 -e LICENSE_AGREEMENT="accept" -e Jwt__Keys__0=$jwtSigningKey -e appSettings__Plugins.SecureStores="UiPath.Orchestrator.CyberArk.dll;UiPath.Orchestrator.AzureKeyVault.SecureStore.dll" {docker-image-name}docker run --publish 8000:8080 -e LICENSE_AGREEMENT="accept" -e Jwt__Keys__0=$jwtSigningKey -e appSettings__Plugins.SecureStores="UiPath.Orchestrator.CyberArk.dll;UiPath.Orchestrator.AzureKeyVault.SecureStore.dll" {docker-image-name}
    4. (Opcional) Pruebe la nueva imagen de Docker
      Para probar tu imagen, accede a su interfaz Swagger (http://localhost:8000/swagger/index.html) y comprueba que los puntos finales funcionan.

Configuración

El primer paso para configurar tu proxy es añadir cualquier complemento .dll personalizado que quieras utilizar en la carpeta C:\Program Files\UiPath\CredentialsProxy\plugins.

Los siguientes pasos solo se aplican al proxy desconectado, ya que el proxy conectado no requiere una configuración dedicada.

Proxy desconectado

Este tipo de proxy está completamente separado de Orchestrator, por lo que debes proporcionar la información relacionada con las bóvedas de credenciales de forma local, en el archivo de configuración appsettings.Production.json, que se encuentra en la siguiente ubicación: C:\Program Files\UiPath\OrchestratorCredentialsProxy\appsettings.Production.json.
Estos son los campos que deben editarse en dicho archivo, en la sección AppSettings> SecureStoreConfigurations:
  • Key - la clave del identificador para la configuración
  • Type - el tipo de almacén de credenciales, como se identifica en los archivos .dll configurados mediante el parámetro Plugins.SecureStores encontrado en appsettings.json (consulta los ejemplos siguientes)
  • Context - la información de conectividad relacionada con la implementación del almacén seguro
Importante:

Una vez que edites el archivo de configuración, debes reiniciar el servicio desde IIS.

Ejemplos de configuración

Se trata de ejemplos que debes añadir al archivo de configuración appsettings.Production.json para iniciar el proxy desconectado. Si no lo haces, el servicio no se iniciará.

Elige el ejemplo adecuado en función de tu tipo de almacén de credenciales o añade varios almacenes de credenciales utilizando el último ejemplo de esta página.

AWS Secrets Manager/AWS Secrets Manager (solo lectura)

"SecureStoreConfigurations": [
      {
        "Key": "<MyAwsStore>",
        "Type": "AWS Secrets Manager" / "AWS Secrets Manager (read only)",
        "Context": {
          "UseDefaultCredentials": "true",
          "AccessKey": "<AccessKey>",
          "SecretKey": "<SecretKey>",
          "Region": "<SelectedRegion>"
        }
      },
    ]"SecureStoreConfigurations": [
      {
        "Key": "<MyAwsStore>",
        "Type": "AWS Secrets Manager" / "AWS Secrets Manager (read only)",
        "Context": {
          "UseDefaultCredentials": "true",
          "AccessKey": "<AccessKey>",
          "SecretKey": "<SecretKey>",
          "Region": "<SelectedRegion>"
        }
      },
    ]

Azure Key Vault (solo lectura)

"SecureStoreConfigurations": [
      {
        "Key": "<MyAzureStore>",
        "Type": "AzureKeyVault (read only)",
        "Context": {
          "KeyVaultUri": "<KeyVaultUri>",
          "DirectoryId": "<DirectoryId>",
          "ClientId": "<ClientId>",
          "ClientSecret": "<ClientSecret>"
        }
      },
    ]"SecureStoreConfigurations": [
      {
        "Key": "<MyAzureStore>",
        "Type": "AzureKeyVault (read only)",
        "Context": {
          "KeyVaultUri": "<KeyVaultUri>",
          "DirectoryId": "<DirectoryId>",
          "ClientId": "<ClientId>",
          "ClientSecret": "<ClientSecret>"
        }
      },
    ]
Importante:

Azure Key Vault (lectura/escritura) no es compatible.

BeyondTrust Password Safe - cuentas administradas

"SecureStoreConfigurations": [
      {
        "Key": "<MyBeyondTrustManagedAccountsSafe>",
        "Type": "BeyondTrust Password Safe - Managed Accounts",
        "Context": {
          "Hostname": "<HostName>",
          "APIRegistrationKey": "<ApiRegistrationKey>",
          "APIRunAsUsername": "<Username>",
          "DefaultManagedSystemName": "", // can be empty or a string
          "SystemAccountDelimiter": "/", // default account delimiter is "/", but it can be changed
          "ManagedAccountType": "<ManagedAccountType>" // expected value is one of "system", "domainlinked", "database", "cloud", "application"
        }
      },
    ]"SecureStoreConfigurations": [
      {
        "Key": "<MyBeyondTrustManagedAccountsSafe>",
        "Type": "BeyondTrust Password Safe - Managed Accounts",
        "Context": {
          "Hostname": "<HostName>",
          "APIRegistrationKey": "<ApiRegistrationKey>",
          "APIRunAsUsername": "<Username>",
          "DefaultManagedSystemName": "", // can be empty or a string
          "SystemAccountDelimiter": "/", // default account delimiter is "/", but it can be changed
          "ManagedAccountType": "<ManagedAccountType>" // expected value is one of "system", "domainlinked", "database", "cloud", "application"
        }
      },
    ]

BeyondTrust Password Safe - contraseñas de equipos

"SecureStoreConfigurations": [
      {
        "Key": "<MyBeyondTrustTeamPasswordSafe>",
        "Type": "BeyondTrust Password Safe - Team Passwords",
        "Context": {
          "Hostname": "<HostName>",
          "APIRegistrationKey": "<ApiRegistrationKey>",
          "APIRunAsUsername": "<Username>",
          "FolderPathPrefix" : "/", // default delimiter is "/", but it can be changed
          "FolderPasswordDelimiter" : "/" // default delimiter is "/", but it can be changed
        }
      },
    ]"SecureStoreConfigurations": [
      {
        "Key": "<MyBeyondTrustTeamPasswordSafe>",
        "Type": "BeyondTrust Password Safe - Team Passwords",
        "Context": {
          "Hostname": "<HostName>",
          "APIRegistrationKey": "<ApiRegistrationKey>",
          "APIRunAsUsername": "<Username>",
          "FolderPathPrefix" : "/", // default delimiter is "/", but it can be changed
          "FolderPasswordDelimiter" : "/" // default delimiter is "/", but it can be changed
        }
      },
    ]

CyberArk - AIM

"SecureStoreConfigurations": [
      {
        "Key": "<MyCyberArk>",
        "Type": "CyberArk",
        "Context": {
          "ApplicationId": "<App_MyCyberArk>",
          "Safe": "<Passwords>",
          "Folder": "<MyFolder>"
        }
      },
    ]    "SecureStoreConfigurations": [
      {
        "Key": "<MyCyberArk>",
        "Type": "CyberArk",
        "Context": {
          "ApplicationId": "<App_MyCyberArk>",
          "Safe": "<Passwords>",
          "Folder": "<MyFolder>"
        }
      },
    ]

CyberArk - CCP

"SecureStoreConfigurations": [
      {
        "Key": "<MyCyberArkCCPStore>",
        "Type": "CyberArkCCP",
        "Context": {
          "ApplicationId": "<ApplicationId>",
          "Safe": "<CyberArkSafe>",
          "Folder": "<CyberArkFolder>",
          "WebServiceUrl": "<CentralCredentialProviderUrl>",
          "WebServiceName": "<WebServiceName>",
          "SerializedClientCertificate": "<ClientCertificate>", // must be ".pfx" as base64
          "ClientCertificatePassword": "<ClientCertificatePassword>",
          "SerializedRootCA": "<someServerRootCA>" // must be ".crt" or ".cer" as base64
        }
      },
    ]    "SecureStoreConfigurations": [
      {
        "Key": "<MyCyberArkCCPStore>",
        "Type": "CyberArkCCP",
        "Context": {
          "ApplicationId": "<ApplicationId>",
          "Safe": "<CyberArkSafe>",
          "Folder": "<CyberArkFolder>",
          "WebServiceUrl": "<CentralCredentialProviderUrl>",
          "WebServiceName": "<WebServiceName>",
          "SerializedClientCertificate": "<ClientCertificate>", // must be ".pfx" as base64
          "ClientCertificatePassword": "<ClientCertificatePassword>",
          "SerializedRootCA": "<someServerRootCA>" // must be ".crt" or ".cer" as base64
        }
      },
    ]
En función de tu configuración de IIS, es posible que debas configurar KeyStorageFlags adicionales de la siguiente manera:
"AppSettings": {
...
"Plugins.SecureStores.CyberArkCCP.KeyStorageFlags": "MachineKeySet",
...
}"AppSettings": {
...
"Plugins.SecureStores.CyberArkCCP.KeyStorageFlags": "MachineKeySet",
...
}

HashiCorp Vault / HashiCorp Vault (solo lectura)

"SecureStoreConfigurations": [
      {
        "Key": "<MyHashiCorp>",
        "Type": "HashiCorp Vault" / "HashiCorp Vault (read only)",
        "Context": {
          "VaultUri": "<VaultUri>",
          "AuthenticationType": "<AppRole>",
          "RoleId": "<RoleId>",
          "SecretId": "<SecretId>",
          "Username": "<Username>",
          "Password": "<Password>",
          "Token": "<Token>",
          "SecretsEngine": "<KeyValueV2>",
          "SecretsEngineMountPath": "<Secret>",
          "DataPath": "<applications/orchestrator>",
          "Namespace": "<orchestrator>"
        }
      },
    ]    "SecureStoreConfigurations": [
      {
        "Key": "<MyHashiCorp>",
        "Type": "HashiCorp Vault" / "HashiCorp Vault (read only)",
        "Context": {
          "VaultUri": "<VaultUri>",
          "AuthenticationType": "<AppRole>",
          "RoleId": "<RoleId>",
          "SecretId": "<SecretId>",
          "Username": "<Username>",
          "Password": "<Password>",
          "Token": "<Token>",
          "SecretsEngine": "<KeyValueV2>",
          "SecretsEngineMountPath": "<Secret>",
          "DataPath": "<applications/orchestrator>",
          "Namespace": "<orchestrator>"
        }
      },
    ]

Secret Server de Thycotic

"SecureStoreConfigurations": [
      {
        "Key": "<MyThicoticServer>",
        "Type": "Thycotic Secret Server",
        "Context": {
          "SecretServerUrl": "<ServerUrl>",
          "RuleName": "<Rule>",
          "RuleKey": "<Key>",
          "UsernameField": "<Username>",
          "PasswordField": "<Password>"
        }
      },
    ]"SecureStoreConfigurations": [
      {
        "Key": "<MyThicoticServer>",
        "Type": "Thycotic Secret Server",
        "Context": {
          "SecretServerUrl": "<ServerUrl>",
          "RuleName": "<Rule>",
          "RuleKey": "<Key>",
          "UsernameField": "<Username>",
          "PasswordField": "<Password>"
        }
      },
    ]

Varios almacenes de credenciales

Si utilizas varios almacenes de credenciales, puedes añadirlos uno debajo del otro, de la siguiente manera:

{
...
  "AppSettings": {
  ...
    "SecureStoreConfigurations": [
      {
        "Key": "<SecureStoreKey1>",
        "Type": "AzureKeyVault (read only)",
        "Context": {
          "KeyVaultUri": "<Uri>",
          "DirectoryId": "<DirectoryId>",
          "ClientId": "<ClientId>",
          "ClientSecret": "<ClientSecret>"
        }
      },
      {
        "Key": "<SecureStoreKey2>",
        "Type": "BeyondTrust Password Safe - Managed Accounts",
        "Context": {
          "Hostname": "<Host>",
          "APIRegistrationKey": "<ApiKey>",
          "APIRunAsUsername": "<ApiUsername>",
          "DefaultManagedSystemName": "",
          "SystemAccountDelimiter": "/",
          "ManagedAccountType": "system"
        }
      }
    ]
  ...
  }
}{
...
  "AppSettings": {
  ...
    "SecureStoreConfigurations": [
      {
        "Key": "<SecureStoreKey1>",
        "Type": "AzureKeyVault (read only)",
        "Context": {
          "KeyVaultUri": "<Uri>",
          "DirectoryId": "<DirectoryId>",
          "ClientId": "<ClientId>",
          "ClientSecret": "<ClientSecret>"
        }
      },
      {
        "Key": "<SecureStoreKey2>",
        "Type": "BeyondTrust Password Safe - Managed Accounts",
        "Context": {
          "Hostname": "<Host>",
          "APIRegistrationKey": "<ApiKey>",
          "APIRunAsUsername": "<ApiUsername>",
          "DefaultManagedSystemName": "",
          "SystemAccountDelimiter": "/",
          "ManagedAccountType": "system"
        }
      }
    ]
  ...
  }
}

Validación

Importante:

Esto solo se aplica al credentials proxy desconectado.

El proxy valida la configuración al inicio si el tipo que detecta es Disconnected.

Estos son algunos de los pasos de validación que se realizan:

  • Se asegura de que appsettings.Production.json contenga las configuraciones esperadas, como se detalla en la sección Configuración anterior.
  • Se asegura de que SecureStoreConfigurations no contenga ningún parámetro Key duplicado, es decir, que los almacenes de credenciales configurados en el archivo appsettings.Production.json sean únicos.
  • El parámetro SecureStoreConfigurations es una matriz de configuraciones, lo que significa que puedes añadir tantos almacenes de credenciales como quieras, incluso del mismo tipo. Por ejemplo, puedes tener varias instancias de Azure Key Vault (solo lectura) configuradas, siempre que el campo Key sea único.
  • Comprueba que todos los valores Type sean válidos.
  • En función de la implementación de cada almacén seguro, comprueba que se pueda llegar al almacén correctamente.

Registro

Los registros de Credentials Proxy de Orchestrator se almacenan localmente, en la carpeta C:\Program Files\UiPath\OrchestratorCredentialsProxy, si el grupo de aplicaciones del proxy tiene permisos de escritura para esa ruta. Se configuran en IIS.
Si no quieres dar permisos de escritura a esa carpeta, puedes proporcionar una ruta relativa o absoluta de tu elección a través del parámetro NLog.targets.logfile.fileName en appsettings.Production.json.

En las máquinas de Windows, el proxy también almacena los registros en el Visor de eventos de Windows.

Consideraciones de seguridad

  • Orchestrator solo permite direcciones URL seguras (HTTPS) para el proxy. El certificado HTTPS debe ser válido y estar firmado por una autoridad de certificación ampliamente reconocida. No se admiten los certificados autofirmados o firmados por una autoridad interna.
  • Orchestrator se valida a través de un secreto de cliente generado por el proxy de credenciales de Orchestrator. El secreto del cliente se almacena en un archivo de configuración en la máquina donde está instalado el proxy de credenciales de Orchestrator, y Orchestrator lo cifra y almacena en la base de datos.
  • Al editar un proxy de almacén de credenciales en Orchestrator y cambiar su URL, también debes introducir el secreto del cliente.
  • Las acciones de Orchestrator Credentials Proxy 2.0.0+ se registran en el Visor de sucesos de Windows.

  • Los binarios deben firmarse en la máquina con Windows.
  • La imagen de Docker debe estar firmada.

Utilizar el Credentials Proxy de Orchestrator con un equilibrador de carga

Puedes utilizar el proxy en combinación con un equilibrador de carga, siempre que te asegures de mantener la misma configuración en todos los nodos.

Elementos que deben permanecer idénticos en todos los nodos

  • La versión del instalador proxy. Por ejemplo, si utilizas la versión 1.0.0, todos los nodos de equilibrador de carga deben utilizar también 1.0.0.
  • La configuración en los archivos de configuración de la aplicación. En la mayoría de los casos, estos son appsettings.json y appsettings.Production.json. Ten en cuenta que appsettings.Production.json es único para cada instalación, por lo que debes añadirlo manualmente a cada nodo para garantizar la coherencia.
  • Los complementos de almacén de credenciales añadidos a path/plugins. Todos los complementos compatibles ya están en esta carpeta, por lo que principalmente debes tener en cuenta cualquier complemento personalizado que añadas.

Cosas importantes a considerar

  • Si quieres realizar cualquier cambio en la configuración de la imagen de Docker que proporcionamos para la instalación del proxy, te recomendamos encarecidamente que crees una imagen de Docker personalizada en su lugar. A continuación, debes utilizar esta imagen personalizada para implementar el proxy en todos los nodos.
  • Algunas variables de entorno, como las que anulan los valores de configuración appsettings.json o las que afectan al entorno .NET, pueden tener un impacto en el runtime.
  • Puedes utilizar el punto final no autenticado dedicado https://cloud.uipath.com/{organizationName}/{tenantName}/orchestrator_/api/v1/Health para comprobar si el Credentials Proxy de Orchestrator sigue en ejecución.

Was this page helpful?

Obtén la ayuda que necesitas
RPA para el aprendizaje - Cursos de automatización
Foro de la comunidad UiPath
Logotipo blanco de UiPath
Confianza y seguridad
© 2005-2024 UiPath. All rights reserved.