- 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
- Complemento de alta disponibilidade
Solução de problemas do servidor de identidade
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.]'
appsettings.Production.json
arquivo do Identity Server, dentro de sua seção existente do AppSettings:
"AppSettings": {
"EnablePII": true
},
"AppSettings": {
"EnablePII": true
},
EnablePII
no Arquivo appsettings.Production.json
do Identity Server, algumas informações ainda podem estar ocultas. Para exibir o PII do Orchestrator, adicione a configuração ExternalAuth.ShowPII ao UiPath.Orchestrator.dll.config
do Orchestrator.
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')
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: 0x8007000d
ocorre ao visitar a URL https://localhost/identity em um navegador.
A solução óbvia para esse problema é reinstalar o Pacote de Hospedagem .NET Core.
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.
https://<OrchestratorURL>/identity/configuration
.
/api/account/authenticate Chamadas com falha para usuários que alteraram as senhas no primeiro login
Invalid credentials, failed to login
.
Os usuários nesta situação devem alterar sua senha na página Perfil do Orchestrator.
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
$siteName
de acordo com sua instalação do Orchestrator.
Reinicie o site do IIS após realizar qualquer alteração de configuraçã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.
Vários problemas foram vinculados a problemas de localização em idiomas que contêm caracteres não ASCII. Para suporte completo à localização, atualize para a versão 20.10+ Insights.
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.
Embora a Interface Gráfica do Identity Server deve atender à maioria das suas necessidades em termos de configuração do SAML, essa seção fornece uma maneira de controlar configurações adicionais do SAML que não estão expostas por padrão. Para obter uma lista completa das configurações disponíveis, consulte a documentação oficial do Sustainsys.Saml2.
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 ter ativado e configurado corretamente o provedor de identidade externo SAML na página Provedores Externos no Portal de Gerenciamento de Identidades.
-
Edite o arquivo
appsettings.json
ouappsettings.Production.json
para incluir a seguinte seção no nível raiz. Isso diz para o Identity Server procurar um arquivo chamadosaml2.xml
na mesma pasta que o aplicativo web e oappsettings.json
ouappsettings.Production.json
."Authentication": { "Saml2": { "ConfigFile": "saml2.xml" } },
"Authentication": { "Saml2": { "ConfigFile": "saml2.xml" } }, - Crie um arquivo XML chamado
saml2.xml
e 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
publicOrigin
em cenários com balanceamento de carga ouminIncomingSigningAlgorithm
se 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.
UiPath.Orchestrator.dll.config
do Orchestrator não oferece uma maneira para atualizar o tempo de expiração do bearer do token.
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