Solucionar problemas de provisionamento de aplicativos locais

Resolver problemas de conexão de teste

Depois de configurar o agente de provisionamento e o host ECMA (Extensible Connectivity), é hora de testar a conectividade do serviço de provisionamento do Microsoft Entra para o agente de provisionamento, o host ECMA e o aplicativo. Para realizar este teste ponta a ponta, selecione Testar conexão no aplicativo no portal do Azure. Aguardar de 10 a 20 minutos depois de atribuir um agente inicial ou alterar o agente antes de testar a conexão. Se, após esse período, a conexão de teste falhar, tente as seguintes etapas de solução de problemas:

  1. Verifique se o agente e o host ECMA estão em execução:

    1. No servidor com o agente instalado, abra Serviços navegando até Iniciar>Executar>Services.msc.

    2. Em Serviços, confira se os serviços Agente de Provisionamento do Microsoft Entra Connect e Microsoft ECMA2Host estão presentes e se o status deles é Em execução.

      Screenshot that shows that the ECMA service is running.

  2. Verifique se o serviço Host do Conector ECMA está respondendo às solicitações.

    1. No servidor com o agente instalado, inicie o PowerShell.
    2. Altere para a pasta em que o host ECMA foi instalado, como C:\Program Files\Microsoft ECMA2Host.
    3. Altere para o subdiretório Troubleshooting.
    4. Execute o script TestECMA2HostConnection.ps1 nesse diretório. Quando solicitado, forneça como argumentos o nome do conector e o token secreto.
      PS C:\Program Files\Microsoft ECMA2Host\Troubleshooting> .\TestECMA2HostConnection.ps1
      Supply values for the following parameters:
      ConnectorName: CORPDB1
      SecretToken: ************
      
    5. Este script enviará uma solicitação SCIM GET ou POST para validar se o Host do Conector ECMA está operando e respondendo às solicitações. Se a saída não mostrar que uma conexão HTTP foi bem-sucedida, verifique se o serviço está em execução e se o token de segredo correto foi fornecido.
  3. Verifique se o agente está ativo no aplicativo no portal do Azure, selecionando conectividade do administrador, selecionando a lista suspensa do agente e garantindo que o agente está ativo.

  4. Verifique se o token secreto fornecido é o mesmo que o token secreto local. Vá para local, forneça o token secreto novamente e o copie para o portal do Azure.

  5. Confira se você atribuiu um ou mais agentes ao aplicativo no portal do Azure.

  6. Depois de atribuir um agente, você precisará aguardar de 10 a 20 minutos para que o registro seja concluído. O teste de conectividade não funcionará até a conclusão do registro.

  7. Verifique se você está usando um certificado válido que não expirou. Acesse a guia Configurações do host ECMA para exibir a data de validade do certificado. Se o certificado tiver expirado, clique em Generate certificate para gerar um novo certificado.

  8. Reinicie o agente de provisionamento navegando até a barra de tarefas em sua VM e pesquisando o agente de provisionamento do Microsoft Entra Connect. Clique com o botão direito do mouse em Parar e selecione Iniciar.

  9. Se você continuar a ver The ECMA host is currently importing data from the target application mesmo depois de reiniciar o Host do Conector do ECMA e o agente de provisionamento e aguardar a conclusão da importação inicial, poderá ser necessário cancelar e reiniciar a configuração do provisionamento para o aplicativo no portal do Azure.

  10. Ao fornecer a URL do locatário no portal do Azure, verifique se ela segue o seguinte padrão. Você pode substituir localhost pelo nome do host, mas ele não é necessário. Substitua connectorName pelo nome do conector especificado no host ECMA. A mensagem de erro "recurso inválido" geralmente indica que a URL não segue o formato esperado.

    https://localhost:8585/ecma2host_connectorName/scim
    
  11. Navegue até a seguinte pasta para analisar os logs do agente de provisionamento: C:\ProgramData\Microsoft\Azure AD Connect Provisioning Agent\Trace

    1. Se você receber o erro a seguir, adicione a conta de serviço "NT SERVICE\AADConnectProvisioningAgent" ao grupo local chamado "Usuários do Log de Desempenho". Isso eliminará o erro de exceção "Não é possível inicializar o coletor de métricas" permitindo que a conta acesse a chave do Registro desejada: HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib
Unable to initialize metrics collector, exception: 'System.UnauthorizedAccessException: Access to the registry key 'Global' is denied.
  1. Ao configurar o host ECMA, não se esqueça de fornecer um certificado com uma entidade que corresponda ao nome do host do seu servidor windows. O certificado gerado pelo host ECMA fará isso automaticamente, mas só deve ser usado para fins de teste.
Error code: SystemForCrossDomainIdentityManagementCredentialValidationUnavailable

Details: We received this unexpected response from your application: Received response from Web resource. Resource: https://localhost/Users?filter=PLACEHOLDER+eq+"8646d011-1693-4cd3-9ee6-0d7482ca2219" Operation: GET Response Status Code: InternalServerError Response Headers: Response Content: An error occurred while sending the request. Please check the service and try again.

Não é possível configurar o host ECMA, exibir logs no Visualizador de Eventos ou iniciar o serviço do host ECMA

Para resolver os seguintes problemas, execute o assistente de configuração do host ECMA como administrador:

  • Recebo um erro quando abro o assistente do host ECMA.

    Screenshot that shows an ECMA wizard error.

  • Posso configurar o assistente do host ECMA, mas não consigo ver os logs do host ECMA. Nesse caso, você precisará abrir o assistente de configuração do Host ECMA como administrador e configurar um conector de ponta a ponta. Esta etapa pode ser simplificada exportando um conector existente e importando novamente.

    Screenshot that shows host logs.

  • Posso configurar o assistente do host ECMA, mas não consigo iniciar o serviço do host ECMA.

    Screenshot that shows the host service.

Ativar o log detalhado

Por padrão, o switchValue para o Host do Conector ECMA é definido como Verbose. Essa configuração emitirá um log detalhado que ajudará você a solucionar problemas. Você poderá alterar o detalhamento para Error se quiser limitar o número de logs emitidos apenas a erros. Quando o conector do SQL sem a Autenticação Integrada do Windows é usado, recomendamos definir o switchValue como Error, pois ele garantirá que a cadeia de conexão não seja emitida nos logs. Para alterar o detalhamento para erro, atualize o switchValue para "Erro" nos dois locais, conforme mostrado abaixo.

O local do arquivo para o registro em log detalhado do serviço é C:\Arquivos de Programas\Microsoft ECMA2Host\Service\Microsoft.ECMA2Host.Service.exe.config.

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <startup>  
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6" /> 
    </startup> 
    <appSettings> 
      <add key="Debug" value="true" /> 
    </appSettings> 
    <system.diagnostics> 
      <sources> 
    <source name="ConnectorsLog" switchValue="Error"> 
          <listeners> 
            <add initializeData="ConnectorsLog" type="System.Diagnostics.EventLogTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" name="ConnectorsLog" traceOutputOptions="LogicalOperationStack, DateTime, Timestamp, Callstack"> 
              <filter type=""/> 
            </add> 
          </listeners> 
        </source> 
        <!-- Choose one of the following switchTrace:  Off, Error, Warning, Information, Verbose --> 
        <source name="ECMA2Host" switchValue="Error"> 
          <listeners>  
            <add initializeData="ECMA2Host" type="System.Diagnos

O local do arquivo para o log do assistente é C:\Program Files\Microsoft ECMA2Host\Wizard\Microsoft.ECMA2Host.ConfigWizard.exe.config.

      <source name="ConnectorsLog" switchValue="Error"> 
        <listeners> 
          <add initializeData="ConnectorsLog" type="System.Diagnostics.EventLogTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" name="ConnectorsLog" traceOutputOptions="LogicalOperationStack, DateTime, Timestamp, Callstack"> 
            <filter type=""/> 
          </add> 
        </listeners> 
      </source> 
      <!-- Choose one of the following switchTrace:  Off, Error, Warning, Information, Verbose --> 
      <source name="ECMA2Host" switchValue="Error"> 
        <listeners> 
          <add initializeData="ECMA2Host" type="System.Diagnostics.EventLogTraceListener, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" name="ECMA2HostListener" traceOutputOptions="LogicalOperationStack, DateTime, Timestamp, Callstack" /> 

Consultar o Cache de Host do ECMA

O Host ECMA tem um cache de usuários em seu aplicativo que é atualizado de acordo com o agendamento especificado na página de propriedades do assistente de Host do ECMA. Para consultar o cache, execute as etapas abaixo:

  1. Defina o sinalizador de depuração como true.

    Lembre-se de que definir o sinalizador de depuração para desabilitar true a autenticação no Host do ECMA. Você precisará defini-lo para false novamente e reiniciar o serviço do Host ECMA depois de terminar de consultar o cache.

    A localização do arquivo para registrar em log o serviço detalhado é C:\Program Files\Microsoft ECMA2Host\Service\Microsoft.ECMA2Host.Service.exe.config.

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
       <startup>  
           <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6" /> 
       </startup> 
       <appSettings> 
         <add key="Debug" value="true" /> 
       </appSettings> 
    
    
  2. Reinicie o serviço Microsoft ECMA2Host .

  3. Aguarde até que o Host ECMA se conecte aos sistemas de destino e leia novamente o cache de cada um dos sistemas conectados. Se houver muitos usuários nesses sistemas conectados, esse processo de importação poderá levar vários minutos.

  4. Consulte esse ponto de extremidade do servidor no qual o Host ECMA está instalado, substituindo {connector name} pelo nome do seu conector, especificado na página de propriedades do Host ECMA: https://localhost:8585/ecma2host_{connectorName}/scim/cache.

    1. No servidor com o agente instalado, inicie o PowerShell.
    2. Altere para a pasta em que o host ECMA foi instalado, como C:\Program Files\Microsoft ECMA2Host.
    3. Altere para o subdiretório Troubleshooting.
    4. Execute o script TestECMA2HostConnection.ps1 nesse diretório e forneça como argumentos o nome do conector e o valor cache do ObjectTypePath. Quando solicitado, digite o token secreto configurado para esse conector.
      PS C:\Program Files\Microsoft ECMA2Host\Troubleshooting> .\TestECMA2HostConnection.ps1 -ConnectorName CORPDB1 -ObjectTypePath cache
      Supply values for the following parameters:
      SecretToken: ************
      
    5. Este script enviará uma solicitação SCIM GET para validar se o Host do Conector ECMA está operando e respondendo às solicitações. Se a saída não mostrar que uma conexão HTTP foi bem-sucedida, verifique se o serviço está em execução e se o token de segredo correto foi fornecido.
  5. Defina o sinalizador Depurar de volta como false ou remova a configuração depois que terminar de consultar o cache.

  6. Reinicie o serviço Microsoft ECMA2Host .

O atributo de destino está ausente

O serviço de provisionamento descobre automaticamente os atributos em seu aplicativo de destino. Se você notar que um atributo de destino está ausente na lista de atributos de destino do portal do Azure, execute a seguinte etapa de solução de problemas:

  1. Revise a página Selecionar Atributos da configuração do seu host ECMA para verificar se o atributo foi selecionado para ser exposto ao portal do Azure.
  2. Confira se o serviço do host ECMA está em execução.
  3. Depois de atribuir os agentes ao aplicativo empresarial, concluir a etapa de conexão de teste e salvar as credenciais do administrador, renove o navegador. Isso forçará o serviço de provisionamento a fazer uma solicitação /schemas e descobrir os atributos de destino.
  4. Revise os logs de host ECMA para verificar se uma solicitação/esquema foi feita, e revise os atributos da resposta. Essas informações serão valiosas para ajudar na solução do problema.

Coletar logs do Visualizador de Eventos como um arquivo zip

Você pode usar um script incluído para capturar os logs em um arquivo zip e exportá-los.

  1. No servidor com o agente instalado, clique com o botão direito do mouse em PowerShell no menu Iniciar e selecione para Run as administrator.
  2. Altere para a pasta em que o host ECMA foi instalado, como C:\Program Files\Microsoft ECMA2Host.
  3. Altere para o subdiretório Troubleshooting.
  4. Execute o script CollectTroubleshootingInfo.ps1 nesse diretório.
  5. O script criará um arquivo ZIP nesse diretório que contém os logs de eventos.

Examinar eventos no Visualizador de Eventos

Depois que o mapeamento de esquema do Host do Conector ECMA for configurado, inicie o serviço para que ele escute as conexões de entrada. Em seguida, monitore as solicitações de entrada.

  1. Selecione o menu Iniciar, insira visualizador de eventos e selecione Visualizador de Eventos.
  2. No Visualizador de Eventos, expanda os logs de Aplicativos e Serviços e selecione Logs do Microsoft ECMA2Host.
  3. Conforme as alterações são recebidas pelo host do conector, os eventos serão gravados no log do aplicativo.

Erros comuns

Erro Resolução
Não foi possível carregar o arquivo ou assembly "file:///C:\Arquivos de Programas\Microsoft ECMA2Host\Service\ECMA\Cache\8b514472-c18a-4641-9a44-732c296534e8\Microsoft.IAM.Connector.GenericSql.dll" nem nenhuma das dependências dele. Acesso negado. Verifique se a conta de serviço de rede tem permissões de "controle total" sobre a pasta de cache.
Estilo LDAP inválido do DN do objeto. DN: username@domain.com" ou Target Site: ValidByLdapStyle Verifique se a caixa de seleção "DN é Âncora" não está marcada na página "conectividade" do host ECMA. Verifique se a caixa de seleção "gerado automaticamente" está selecionada na página "tipos de objeto" do host ECMA. Para obter mais informações, confira Sobre atributos de âncora e nomes diferenciados.
ExportErrorCustomContinueRun. objectClass: número de valor inválido por sintaxe Certifique-se de que o mapeamento de atributo de provisionamento para o atributo objectClass inclua apenas nomes de classes de objeto reconhecidas pelo servidor do diretório.

Entenda as solicitações SCIM de entrada

As solicitações feitas pelo Microsoft Entra ID para o agente de provisionamento e o host do conector usam o protocolo SCIM. As solicitações feitas do host para os aplicativos usam o protocolo ao qual o aplicativo dá suporte. As solicitações do host ao agente para o Microsoft Entra ID dependem do SCIM. Você pode aprender mais sobre a implementação do SCIM no Tutorial: Desenvolver e planejar o provisionamento para um ponto de extremidade SCIM no Microsoft Entra ID.

O serviço de provisionamento do Microsoft Entra geralmente faz uma chamada GET de usuário para verificar se há um usuário fictício em três situações: no início de cada ciclo de provisionamento, antes de executar o provisionamento sob demanda e quando a conexão de teste é selecionada. Essa verificação garante que o ponto de extremidade de destino esteja disponível e retornando respostas compatíveis com SCIM para o serviço de provisionamento do Microsoft Entra.

Como faço para solucionar os problemas do agente de provisionamento?

Você pode experimentar os seguintes cenários de erro.

O agente falhou ao iniciar

Você pode receber uma mensagem de erro que declara:

Falha ao iniciar o serviço “Agente de Provisionamento do Microsoft Entra Connect”. Verifique se você tem privilégios suficientes para iniciar serviços do sistema."

Geralmente, esse problema é causado por uma política de grupo que impediu que as permissões fossem aplicadas à conta de entrada do Serviço NT local criada pelo instalador (NT SERVICE\AADConnectProvisioningAgent). Essas permissões são necessárias para iniciar o serviço.

Para resolver esse problema:

  1. Entre no servidor com uma conta de administrador.
  2. Abra Serviços navegando até ele ou acessando Iniciar>Executar>Services.msc.
  3. Em Serviços, clique duas vezes no agente de provisionamento do Microsoft Entra Connect.
  4. Na guia Logon, altere Essa conta para um administrador de domínio. Em seguida, reinicie o serviço.

Esse teste verifica se os agentes podem se comunicar com o Azure pela porta 443. Abra um navegador e acesse a URL anterior do servidor onde o agente está instalado.

O agente atinge o tempo limite ou o certificado é inválido

Você pode receber a seguinte mensagem de erro ao tentar registrar o agente.

Screenshot that shows that the agent timed out.

Geralmente, esse problema é causado pelo agente que não consegue se conectar ao Serviço de Identidade Híbrida e exige que você configure um proxy HTTP. Para resolver esse problema, configure um proxy de saída.

O agente de provisionamento dá suporte ao uso de um proxy de saída. Você pode configurá-lo editando o arquivo de configuração do agente C:\Program Files\Microsoft Azure AD Connect Provisioning Agent\AADConnectProvisioningAgent.exe.config. Adicione as seguintes linhas a ele, no final do arquivo pouco antes da marca </configuration> de fechamento. Substitua as variáveis [proxy-server] e [proxy-port] pelo nome do servidor proxy e pelos valores da porta.

    <system.net>
        <defaultProxy enabled="true" useDefaultCredentials="true">
            <proxy
                usesystemdefault="true"
                proxyaddress="http://[proxy-server]:[proxy-port]"
                bypassonlocal="true"
            />
        </defaultProxy>
    </system.net>

Falha no registro do agente com erro de segurança

Você pode receber uma mensagem de erro ao instalar o agente de provisionamento de nuvem.

Este problema é geralmente causado pelo agente que não pode executar os scripts de registro do PowerShell devido às políticas de execução do PowerShell locais.

Para resolver este problema, altere as políticas de execução do PowerShell no servidor. Você precisa ter políticas de Computador e de Usuário definidas como Undefined ou RemoteSigned. Se elas estiverem definidas como Unrestricted, você verá esse erro. Para obter mais informações, consulte as políticas de execução do PowerShell.

Arquivos de log

Por padrão, o agente emite mensagens de erro mínimas e informações de rastreamento de pilha. Encontre os logs de rastreamento na pasta C:\ProgramData\Microsoft\Azure AD Connect Provisioning Agent\Trace.

Para saber mais sobre como solucionar problemas relacionados ao agente:

  1. Instale o módulo AADCloudSyncTools do PowerShell conforme descrito em Módulo AADCloudSyncTools do PowerShell para a Sincronização na nuvem do Microsoft Entra Connect.

  2. Use o Export-AADCloudSyncToolsLogs cmdlet do PowerShell para capturar as informações. Use as opções a seguir para ajustar sua coleta de dados. Use:

    • SkipVerboseTrace para exportar somente os logs atuais sem capturar logs detalhados (padrão = falso).
    • TracingDurationMins para especificar uma duração de captura diferente (padrão = 3 minutos).
    • OutputPath para especificar um caminho de saída diferente (padrão = documentos do usuário).

Com o Microsoft Entra ID, você pode monitorar o serviço de provisionamento na nuvem e coletar logs locais. O serviço de provisionamento emite logs para cada usuário que foi avaliado como parte do processo de sincronização. Esses logs podem ser consumidos por meio da interface do usuário, APIs e log Analytics do portal do Azure. O host ECMA também gera logs locais. Ele mostra cada solicitação de provisionamento que foi recebida e a resposta enviada para o Microsoft Entra ID.

Falha na instalação do agente

  • O erro System.ComponentModel.Win32Exception: The specified service already exists indica que o host ECMA anterior não foi desinstalado com êxito. Desinstale o aplicativo host. Vá até os arquivos do programa e remova a pasta do host ECMA. Você pode armazenar o arquivo de configuração como backup.

  • O erro a seguir indica que um pré-requisito não foi atendido. Confira se o .NET Framework 4.7.1 está instalado.

      Method Name : <>c__DisplayClass0_1 : 
      RegisterNotLoadedAssemblies Error during load assembly: System.Management.Automation.resources.dll
      --------- Outer Exception Data ---------
      Message: Could not load file or assembly 'file:///C:\Program Files\Microsoft ECMA2Host\Service\ECMA\System.Management.Automation.resources.dll' or one of its dependencies. The system cannot find the file specified.
    
    

Estou recebendo um erro de DN de estilo LDAP inválido ao tentar configurar o Host do Conector ECMA com SQL

Por padrão, o conector SQL genérico espera que o DN seja populado usando o estilo LDAP (quando o atributo 'DN is anchor' permanece desmarcado na primeira página de conectividade). Na mensagem de erro Invalid LDAP style DN ou Target Site: ValidByLdapStyle, você pode ver que o campo DN contém um nome UPN, em vez de um DN no estilo LDAP que o conector espera.

Para resolver essa mensagem de erro, verifique se Gerado automaticamente está selecionado na página de tipos de objeto quando você configura o conector.

Para obter mais informações, confira Sobre atributos de âncora e nomes diferenciados.

Próximas etapas