Orchestrator
2022.10
falso
Imagem de fundo do banner
Guia de instalação do Orchestrator
Última atualização 19 de abril de 2024

Solução de problemas do servidor de identidade

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.]'

Para habilitar o registro em log de informações confidenciais, como chaves públicas de certificados ou PII ocultas (informações pessoalmente identificáveis), atualize a seguinte configuração no arquivo appsettings.Production.json do Identity Server, dentro de sua seção existente do AppSettings:
"AppSettings": {
    "EnablePII": true
  },"AppSettings": {
    "EnablePII": true
  },
Observação: mesmo após atualizar a configuração 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')

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: 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.

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 $aclimport-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
Observação:
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 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.

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.

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:

  1. 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.
  2. Edite o arquivo appsettings.json ou appsettings.Production.json para incluir a seguinte seção no nível raiz. Isso diz para o Identity Server procurar um arquivo chamado saml2.xml na mesma pasta que o aplicativo web e o appsettings.json ou appsettings.Production.json.
    "Authentication": {
       "Saml2": {
         "ConfigFile": "saml2.xml"
       }
     },"Authentication": {
       "Saml2": {
         "ConfigFile": "saml2.xml"
       }
     },
  3. Crie um arquivo XML chamado saml2.xml e adicione a configuração do SAML.
  4. 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>
  5. Adicione as configurações que você precisa. Por exemplo, use publicOrigin em cenários com balanceamento de carga ou minIncomingSigningAlgorithm se você quiser alterar a opção SHA256 padrão.
  6. 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'

Configurando um intervalo de tempo limite para os portais de gerenciamento

O arquivo UiPath.Orchestrator.dll.config do Orchestrator não oferece uma maneira de atualizar o período de expiração do token usado para autenticação nos portais de gerenciamento no nível de host e de organização. Portanto, as sessões do usuário não expiram.
Para definir o período de tempo limite para esses portais, você pode atualizar a propriedade accessTokenLifetime seguindo as instruções abaixo:

A. Via API

  1. Obtenha um token de instalação de cliente para o host.
  2. Faça logout do usuário administrator do sistema.
  3. Navegue até a API do Swagger do Identity Server em https://<server>/identity/swagger.
  4. Autorizar usando Bearer <token>, onde o valor <token> é aquele obtido na etapa 1.
  5. Recuperar detalhes do cliente usando GET /api/Client/6654E78D-8490-4ABE-9C40-D28267C89F3A.
  6. Copie o corpo da resposta e altere o valor da propriedade accessTokenLifetime para o valor de expiração do token desejado (em segundos).
  7. Use o corpo da resposta editado em uma solicitação PUT ​/api​/Client​/6654E78D-8490-4ABE-9C40-D28267C89F3A.
  8. Verifique se corpo da resposta contém o valor atualizado para a propriedade accessTokenLifetime.

Via SQL

O exemplo abaixo define o intervalo de tempo limite para 86400 segundos (24 horas):

UPDATE [identity].[Clients] SET AccessTokenLifetime = 86400 WHERE ClientName = 'Portal.OpenId'UPDATE [identity].[Clients] SET AccessTokenLifetime = 86400 WHERE ClientName = 'Portal.OpenId'

Erro 404 intermitente ao fazer logoff

A solicitação de fazer logoff pode às vezes ter uma string de consulta de URL que excede o comprimento máximo padrão para strings de consulta permitido pelo IIS. Aqui estão duas maneiras de modificar essa configuração:

Importante: alterações no web.config não são preservadas após a atualização a partir da versão 2021.10.

Como usar a ferramenta Gerenciador do IIS

  1. Na árvore Conexões, navegue até Sites -> UiPath Orchestrator -> Identity.
  2. Dê um duplo clique no ícone Filtragem de solicitação.
  3. No painel do lado direito, clique em Editar configurações de recursos.
  4. Aumente o valor para String de consulta máxima (Bytes).


Observação: também pode ser interessante aumentar o Comprimento máximo de URL (Bytes), pois a string de consulta faz parte do comprimento total do URL.

Modificando identidade Web.config

  1. Encontre o arquivo web.config para o Identity.
    • Por padrão, isso é C:\Program Files (x86)\UiPath\Orchestrator\Identity\web.config para instalações MSI.
    • Para instalações do Serviço de Aplicativo do Azure, abra o Editor do Serviço de Aplicativo em Ferramentas de desenvolvimento e navegue até wwwroot/Web/web.config. Certifique-se de que você está modificando o Identity, não o Orchestrator.
  2. Abra com um editor de texto e encontre o nó requestFiltering, que está sob o nó security. Sob o requestFiltering, adicione um nó requestLimits conforme mostrado abaixo:

    <configuration>
      <location path="." inheritInChildApplications="false">
        <system.webServer>
          <security>
            <requestFiltering>
              <requestLimits maxQueryString="4096" />
            </requestFiltering>
          </security>
        </system.webServer>
      </location>
    </configuration><configuration>
      <location path="." inheritInChildApplications="false">
        <system.webServer>
          <security>
            <requestFiltering>
              <requestLimits maxQueryString="4096" />
            </requestFiltering>
          </security>
        </system.webServer>
      </location>
    </configuration>

Falha da atualização com tempo limite

As atualizações para 2022.4 podem falhar com um erro de tempo limite esgotado devido a um problema no banco de dados do Identity Server. Para corrigir o problema, você deve executar o script a seguir e tentar novamente a operação.

Importante: a execução do script a seguir invalida todos os tokens, e requer que todos os aplicativos e robôs sejam autenticados novamente.
DELETE [identity].[PersistedGrants] WHERE [Expiration] < GETUTCDATE()
DECLARE @ConsumedTime DATETIME = DATEADD(SECOND, -7200, GETUTCDATE())
DELETE [identity].[PersistedGrants] WHERE [ConsumedTime] IS NOT NULL AND [ConsumedTime] < @ConsumedTimeDELETE [identity].[PersistedGrants] WHERE [Expiration] < GETUTCDATE()
DECLARE @ConsumedTime DATETIME = DATEADD(SECOND, -7200, GETUTCDATE())
DELETE [identity].[PersistedGrants] WHERE [ConsumedTime] IS NOT NULL AND [ConsumedTime] < @ConsumedTime

404 quando o usuário em vários tenants tenta fazer a autenticação

Os usuários que fazem parte de vários tenants encontram um erro “Erro ao entrar em contato com o serviço de partição para validar a organização (#404)” durante a autenticação. Esse erro ocorre porque a solicitação de autenticação excede o limite de tamanho de string de consulta padrão no IIS (2048 caracteres), especialmente para usuários associados a um número significativo de tenants (normalmente mais de 30 tenants).

Para resolver esse problema, você pode ajustar o limite de tamanho da string de consulta no IIS.

Como usar a ferramenta Gerenciador do IIS

  1. Na árvore Conexões, navegue até Sites -> UiPath Orchestrator -> Identity.
  2. Dê um duplo clique no ícone Filtragem de solicitação.
  3. No painel do lado direito, clique em Editar configurações de recursos.
  4. Aumente o valor para String de consulta máxima (Bytes).


Observação: também pode ser interessante aumentar o Comprimento máximo de URL (Bytes), pois a string de consulta faz parte do comprimento total do URL.

Modificando identidade Web.config

  1. Encontre o arquivo web.config para o Identity.
    • Por padrão, isso é C:\Program Files (x86)\UiPath\Orchestrator\Identity\web.config para instalações MSI.
    • Para instalações do Serviço de Aplicativo do Azure, abra o Editor do Serviço de Aplicativo em Ferramentas de desenvolvimento e navegue até wwwroot/Web/web.config. Certifique-se de que você está modificando o Identity, não o Orchestrator.
  2. Abra com um editor de texto e encontre o nó requestFiltering, que está sob o nó security. Sob o requestFiltering, adicione um nó requestLimits conforme mostrado abaixo:

    <configuration>
      <location path="." inheritInChildApplications="false">
        <system.webServer>
          <security>
            <requestFiltering>
              <requestLimits maxQueryString="4096" />
            </requestFiltering>
          </security>
        </system.webServer>
      </location>
    </configuration><configuration>
      <location path="." inheritInChildApplications="false">
        <system.webServer>
          <security>
            <requestFiltering>
              <requestLimits maxQueryString="4096" />
            </requestFiltering>
          </security>
        </system.webServer>
      </location>
    </configuration>

As operações AD falham após a atualização para o Orchestrator 2021.10 ou superior

Após atualizar para o Orchestrator independente 2021.10 ou superior, as operações AD começam a falhar ao tentar autenticar.

Observação:

Uma correção temporária é definir loadUserProfile no IIS como True.

Was this page helpful?

Obtenha a ajuda que você precisa
Aprendendo RPA - Cursos de automação
Fórum da comunidade da Uipath
Logotipo branco da Uipath
Confiança e segurança
© 2005-2024 UiPath. All rights reserved.