- Primeros pasos
- Requisitos
- Requisitos de hardware
- Requisitos de software
- Uso de un certificado para el protocolo HTTPS
- Mejores prácticas
- Instalación
- Actualizando
- Servidor de identidad
- Solución de problemas de errores de inicio
Uso de un certificado para el protocolo HTTPS
Esta sección ofrece una explicación sobre cómo habilitar el protocolo HTTP para la comunicación entre Orchestrator y los UiPath Robots.
Es preferible utilizar un certificado SAN SSL enviado a una entidad de certificación en lugar de uno autofirmado porque no debe haber ningún certificado instalado en los equipos de UiPath Robot en el primer caso. El certificado SAN SLL emitido por la entidad de certificación es de confianza para todos los equipos del dominio.
Si el equipo principal de Orchestrator está registrado en un Active Directory que tiene una entidad de certificación local y una directiva de inscripción automática, el usuario puede rellenar una solicitud de certificado, como se describe en el siguiente procedimiento.
Si necesitas crear rápidamente un certificado SSL con fines de prueba, puedes crear un certificado SAN SSL autofirmado.
Abre una consola de PowerShell como administrador y envía los siguientes comandos. No olvides personalizar los valores según tu entorno.
$ssc = New-SelfSignedCertificate -FriendlyName "TestingCertificate" -DnsName "loadbalancer.domain.local","node1.domain.local","node2.domain.local"
$store = New-Object System.Security.Cryptography.X509Certificates.X509Store( "Root", "LocalMachine")
$store.Open("MaxAllowed")
$store.Add($ssc)
$pass = ConvertTo-SecureString -String "myPass" -Force -AsPlainText
Export-PfxCertificate -Cert $ssc -FilePath "C:\temp\testingCertificate.pfx" -Password $pass
$ssc = New-SelfSignedCertificate -FriendlyName "TestingCertificate" -DnsName "loadbalancer.domain.local","node1.domain.local","node2.domain.local"
$store = New-Object System.Security.Cryptography.X509Certificates.X509Store( "Root", "LocalMachine")
$store.Open("MaxAllowed")
$store.Add($ssc)
$pass = ConvertTo-SecureString -String "myPass" -Force -AsPlainText
Export-PfxCertificate -Cert $ssc -FilePath "C:\temp\testingCertificate.pfx" -Password $pass
C:\temp\testingCertificate.pfx
para su uso posterior.
Una vez creado el certificado, asegúrate de que:
-
Si se utiliza ApplicationPoolIdentity, en la consola de certificados, navega a Personal > Certificados. A continuación, haz clic con el botón derecho en tu certificado personal de Orchestrator, selecciona Todas las tareas > Gestionar claves privadas y da permisos completos tanto a IIS AppPool\Identity como a IIS_IUSRS.
-
Si se utiliza una cuenta personalizada, en la consola de certificados, navega a Personal > Certificados. A continuación, haz clic con el botón derecho en tu certificado personal de Orchestrator, selecciona Todas las tareas > Gestionar claves privadas y da permisos completos al usuario personalizado establecido en el grupo de aplicaciones de Orchestrator.
IIS AppPool\Identity e IIS_IUSRS son grupos locales y deben buscarse en la máquina local, no en el dominio.
Para que el certificado autofirmado esté disponible en otros equipos (nodos secundarios de Orchestrator/equipos de UiPath Robot), abre una consola de PowerShell como administrador y envía los siguientes comandos.
$pass = ConvertTo-SecureString -String "myPass" -Force -AsPlainText
$imported = Import-PfxCertificate -FilePath "C:\temp\testingCertificate.pfx" -CertStoreLocation Cert:\LocalMachine\My\ -Exportable -Password $pass
$store = New-Object System.Security.Cryptography.X509Certificates.X509Store( "Root", "LocalMachine")
$store.Open("MaxAllowed")
$store.Add($imported)
$pass = ConvertTo-SecureString -String "myPass" -Force -AsPlainText
$imported = Import-PfxCertificate -FilePath "C:\temp\testingCertificate.pfx" -CertStoreLocation Cert:\LocalMachine\My\ -Exportable -Password $pass
$store = New-Object System.Security.Cryptography.X509Certificates.X509Store( "Root", "LocalMachine")
$store.Open("MaxAllowed")
$store.Add($imported)
Firefox gestiona el proceso de forma diferente, ya que no lee la información del certificado en el almacén de Windows. En lugar de instalar certificados, te permite definir excepciones para los certificados SSL en sitios concretos.
Al visitar un sitio que tiene un error de certificado, se mostrará el mensaje de advertencia que verás en la siguiente captura de pantalla. La URL a la que intentas acceder se mostrará en el área azul. Para crear una excepción y omitir esta advertencia en esa URL específica:
UiPathOrchestrator.msi
(durante la instalación o la actualización), aquí podrás iniciar la resolución de problemas:
Desde el panel de control:
- Abre Administrar certificados del equipo -> Personal -> Certificados. Identifica tu certificado y haz doble clic en él. En la ficha General, debe haber información sobre su validez.
- Desde una línea de comandos, ejecuta el siguiente comando para diagnosticar el certificado:
certutil -v -verifystore My <certificateThumbprint>
(su resumen está al final del resultado).
Puede producirse un error interno del servidor si el certificado no tiene los permisos apropiados establecidos. Ejecuta lo siguiente como administrador para otorgar los permisos necesarios:
import-module WebAdministration
$siteName = 'UiPath Orchestrator'
$binding = (Get-ChildItem -Path IIS:\SSLBindings | Where Sites -eq $siteName)[0]
$certLoc = "cert:\LocalMachine\MY\$($binding.Thumbprint)"
$cert = Get-Item $certLoc
$keyPath = $env:ProgramData + "\Microsoft\Crypto\RSA\MachineKeys\"
$keyName = $cert.PrivateKey.CspKeyContainerInfo.UniqueKeyContainerName
$keyFullPath = $keyPath + $keyName
$acl = (Get-Item $keyFullPath).GetAccessControl('Access')
$permission="IIS_IUSRS","Full","Allow"
$accessRule = New-Object -TypeName System.Security.AccessControl.FileSystemAccessRule -ArgumentList $permission
$acl.AddAccessRule($accessRule)
Set-Acl -Path $keyFullPath -AclObject $acl
import-module WebAdministration
$siteName = 'UiPath Orchestrator'
$binding = (Get-ChildItem -Path IIS:\SSLBindings | Where Sites -eq $siteName)[0]
$certLoc = "cert:\LocalMachine\MY\$($binding.Thumbprint)"
$cert = Get-Item $certLoc
$keyPath = $env:ProgramData + "\Microsoft\Crypto\RSA\MachineKeys\"
$keyName = $cert.PrivateKey.CspKeyContainerInfo.UniqueKeyContainerName
$keyFullPath = $keyPath + $keyName
$acl = (Get-Item $keyFullPath).GetAccessControl('Access')
$permission="IIS_IUSRS","Full","Allow"
$accessRule = New-Object -TypeName System.Security.AccessControl.FileSystemAccessRule -ArgumentList $permission
$acl.AddAccessRule($accessRule)
Set-Acl -Path $keyFullPath -AclObject $acl
Después de ejecutar el script, asegúrate de que:
-
Si se utiliza ApplicationPoolIdentity, en la consola de certificados, navega a Personal > Certificados. A continuación, haz clic con el botón derecho en tu certificado personal de Orchestrator, selecciona Todas las tareas > Gestionar claves privadas y da permisos completos tanto a IIS AppPool\Identity como a IIS_IUSRS.
-
Si se utiliza una cuenta personalizada, en la consola de certificados, navega a Personal > Certificados. A continuación, haz clic con el botón derecho en tu certificado personal de Orchestrator, selecciona Todas las tareas > Gestionar claves privadas y da permisos completos al usuario personalizado establecido en el grupo de aplicaciones de Orchestrator.
IIS AppPool\Identity e IIS_IUSRS son grupos locales y deben buscarse en la máquina local, no en el dominio.
Si tienes errores al intentar cambiar tu certificado de Insights, asegúrate de seguir las instrucciones que encontrarás en Actualizar el certificado de Insights.
- Solicitar un certificado SAN SSL a la entidad de certificación
- Crear un certificado SAN SSL autofirmado
- Crear un certificado SSL autofirmado en el equipo principal de Orchestrator
- Importar el certificado SAN autofirmado a otros equipos
- Firefox: permitir excepciones
- Resolución de problemas de certificados
- Error interno del servidor
- Error en certificado de Insights
- Error del certificado de navegadores basados en Chromium