- Introdução
- Requisitos
- Melhores práticas
- Instalação
- Atualizando
- Servidor de Identidade
- Requisitos de hardware e software
- Pré-requisitos para a instalação
- Instalação
- Considerações de Manutenção
- Solução de problemas do servidor de identidade
- High Availability Add-on
Visualizando informações adicionais em logs
Pode haver situações nas quais o Identity Server gera mensagens de erro que contêm informações confidenciais. Por exemplo, se o certificado usado para assinar os tokens de acesso gerados pelo Identity Server for uma chave pública em 1024 bits, ao invés de 2048 bits, você receberá a seguinte mensagem de erro ao tentar fazer login em um tenant do Orchestrator recém-instalado ou atualizado:
InternalServerError - IDX10630 The '[PII is hidden. For more details, see https://aka.ms/IdentityModel/PII.]'
To enable the logging of sensitive information such as certificate public keys or hidden PII (personally identifiable information), update the following setting in the Identity Server's appsettings.Production.json file, within your existing AppSettings section:
"AppSettings": {
"EnablePII": true
},
"AppSettings": {
"EnablePII": true
},
Even after updating the EnablePII setting in the Identity Server's appsettings.Production.json file, some information might still be hidden. To display Orchestrator PII, add the ExternalAuth.ShowPII setting to Orchestrator's UiPath.Orchestrator.dll.config.
Com essa nova configuração, a mensagem de erro revela mais informações úteis:
The 'Microsoft.IdentityModel.Tokens.X509SecurityKey, KeyId: 'F9B1F6C18B728C02C8853470C71C365F000C86B5', InternalId: 'd3dadcac-e5aa-48e6-a20a-9232a3c3d16f'.' for signing cannot be smaller than '2048' bits. KeySize: '1024'. (Parameter 'key.KeySize')
Instalação com falha do Pacote de Hospedagem .NET Core
Pode haver situações nas quais o Pacote de hospedagem do .NET Core não foi instalado corretamente. Isso pode ter os seguintes efeitos:
- Aplicativos .NET Core que estejam em execução no IIS (como o Identity Server) não iniciam. Em vez disso, o erro
System.IO.IOException: IDX20807: Unable to retrieve documenté exibido. - Um erro aparece quando você acessa os Mapeamentos do Handler para o Identity Server no IIS.
- O erro
500.19 Error Code: 0x8007000docorre ao visitar a URL https://localhost/identity em um navegador.
A solução óbvia para esse problema é reinstalar o Pacote de Hospedagem .NET Core.
Não é possível acessar a página de provedores externos após atualizar para o Orchestrator 2020.4+
Quando você atualizar seu Orchestrator para a 2020.4+, o Identity Server migrará suas configurações anteriores. Se você habilitou anteriormente a autenticação do Windows ao configurar o logon automático para usuários do Windows AD, então após executar a atualização, os usuários não poderão acessar a página Provedores externos, se eles tiverem se conectado anteriormente no Identity Server. Os usuários estão conectados aos tenants diretamente após inserir suas credenciais do Windows.
Sem poder acessar a página Logon , o administrador do host não pode fazer logon no tenant do Host e não poderá acessar o portal de gerenciamento de identidades.
Se esse for o seu caso, abra um novo navegador no modo anônimo e digite https://<OrchestratorURL>/identity/configuration.
/api/account/authenticate Chamadas com falha para usuários que alteraram as senhas no primeiro login
Para usuários recém-criados que alteram sua senha quando fazem logon pela primeira vez no Orchestrator, quaisquer chamadas executadas por meio do PowerShell para o endpoint do /api/account/authenticate resultarão em uma mensagem de erro de Invalid credentials, failed to login .
Os usuários nesta situação devem alterar sua senha na página Perfil do Orchestrator.
Conjunto de chaves não existe erro após a instalação
Após instalar o UiPath Orchestrator 2020.4, o Erro Interno do Servidor Keyset does not exist pode ocorrer se o certificado usado para o Identity Server não possuir as permissões apropriadas definidas.
Execute o seguinte script do PowerShell como Administrador para conceder permissões para o certificado:
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
Modifique o valor $siteName de acordo com sua instalação do Orchestrator.
Reinicie o site do IIS após realizar qualquer alteração de configuração.
RobotKeyMigration falha durante a atualização
O serviço do Orchestrator deve ser interrompido antes de qualquer atualização/upgrade do serviço do Identity Server. Alterações feitas em robôs no Orchestrator durante a atualização do Identity Server resultam em uma atualização com falha.
Se isso ocorrer, interrompa o serviço do Orchestrator e execute a migração novamente.
Implantações que usam idiomas que contêm caracteres não ASCII
Vários problemas foram associados a problemas de localização em idiomas que contêm caracteres não ASCII. Para obter um suporte completo para localização, atualize para a versão 20.10 do Insights.
Configurando as configurações do SAML não disponíveis na Interface Gráfica do Identity Server
A solução a seguir aborda os cenários em que você instalou o Orchestrator v2020.4 ou posterior e precisa de configurações específicas para o seu provedor SAML funcionar.
Whereas the Identity Server UI should meet most of your needs in terms of SAML configuration, this section provides a way to control additional SAML settings that are not exposed by default. For a complete list of available settings, refer to the official Sustainsys.Saml2 documentation.
Sustainsys.Saml2 é a biblioteca da qual o Identity Server depende para oferecer suporte ao SAML, e ela usa um arquivo de configuração XML. Para obter acesso aos campos que não estão disponíveis na Interface Gráfica do Identity Server, você precisa substituir esse arquivo XML. O seguinte procedimento descreve como você pode gerenciar isso:
-
Certifique-se de habilitar e configurar corretamente o provedor de identidade externo SAML na página Provedores Externos no Portal de Gerenciamento do Identity.
-
Edite o arquivo
appsettings.jsonouappsettings.Production.jsonpara incluir a seguinte seção no nível raiz. Isso diz para o Identity Server procurar um arquivo chamadosaml2.xmlna mesma pasta que o aplicativo web e oappsettings.jsonouappsettings.Production.json."Authentication": { "Saml2": { "ConfigFile": "saml2.xml" } },"Authentication": { "Saml2": { "ConfigFile": "saml2.xml" } }, -
Crie um arquivo XML chamado
saml2.xmle adicione a configuração do SAML. -
Mapeie os campos na página Provedores Externos no Portal de Gerenciamento do Identity para os nós correspondentes no
saml2.xml.<?xml version="1.0" encoding="utf-8"?> <configuration> <configSections> <section name="sustainsys.saml2" type="Sustainsys.Saml2.Configuration.SustainsysSaml2Section, Sustainsys.Saml2" /> </configSections> <sustainsys.saml2 entityId="--1--" returnUrl="--5--"> <identityProviders> <add entityId="--2--" signOnUrl="--3--" allowUnsolicitedAuthnResponse="--4--" binding="--6--"> <signingCertificate storeName="--7--" storeLocation="--8--" findValue="--9--" x509FindType="FindByThumbprint"/> </add> </identityProviders> <serviceCertificates> <add use="Both" storeName="--10--" storeLocation="--11--" findValue="--12--" x509FindType="FindByThumbprint"/> </serviceCertificates> </sustainsys.saml2> </configuration><?xml version="1.0" encoding="utf-8"?> <configuration> <configSections> <section name="sustainsys.saml2" type="Sustainsys.Saml2.Configuration.SustainsysSaml2Section, Sustainsys.Saml2" /> </configSections> <sustainsys.saml2 entityId="--1--" returnUrl="--5--"> <identityProviders> <add entityId="--2--" signOnUrl="--3--" allowUnsolicitedAuthnResponse="--4--" binding="--6--"> <signingCertificate storeName="--7--" storeLocation="--8--" findValue="--9--" x509FindType="FindByThumbprint"/> </add> </identityProviders> <serviceCertificates> <add use="Both" storeName="--10--" storeLocation="--11--" findValue="--12--" x509FindType="FindByThumbprint"/> </serviceCertificates> </sustainsys.saml2> </configuration> -
Adicione as configurações que você precisa. Por exemplo, use
publicOriginem cenários com balanceamento de carga ouminIncomingSigningAlgorithmse você quiser alterar a opção SHA256 padrão. -
Salve os arquivos e reinicie o aplicativo web do Identity Server no IIS. Se você encontrar qualquer erro com a configuração do SAML, os eventos de erro devem estar visíveis nos seus logs. Você pode usar o Visualizador de Eventos do Windows, a ferramenta padrão para esse propósito.
Atualizando a Expiração do Bearer do Token
O arquivo UiPath.Orchestrator.dll.config do Orchestrator não oferece uma maneira para atualizar o tempo de expiração do bearer do token.
As alterações são possíveis apenas ajustando a propriedade AccessTokenLifetime do cliente Orchestrator.Ropc no banco de dados Clients do Identity Server.
No exemplo a seguir, o tempo de expiração do bearer do token do é definido para 86400 segundos (24 horas).
UPDATE [identity].[Clients]
SET AccessTokenLifetime = 86400
WHERE ClientName = 'Orchestrator.Ropc'
UPDATE [identity].[Clients]
SET AccessTokenLifetime = 86400
WHERE ClientName = 'Orchestrator.Ropc'
- Visualizando informações adicionais em logs
- Instalação com falha do Pacote de Hospedagem .NET Core
- Não é possível acessar a página de provedores externos após atualizar para o Orchestrator 2020.4+
- /api/account/authenticate Chamadas com falha para usuários que alteraram as senhas no primeiro login
- Conjunto de chaves não existe erro após a instalação
- RobotKeyMigration falha durante a atualização
- Implantações que usam idiomas que contêm caracteres não ASCII
- Configurando as configurações do SAML não disponíveis na Interface Gráfica do Identity Server
- Atualizando a Expiração do Bearer do Token