Compartilhar via


Conector do Microsoft Identity Manager para Microsoft Graph

Resumo

O conector do Microsoft Identity Manager para o Microsoft Graph permite cenários adicionais de integração para clientes do P1 ou P2 do Microsoft Entra ID. Ele é mostrado nos objetos adicionais do metaverso de sincronização MIM obtidos do Microsoft Graph API v1 e beta.

Cenários abordados

Gerenciamento do ciclo de vida da conta B2B

O cenário inicial do conector do Microsoft Identity Manager para Microsoft Graph é como um conector para automatizar o gerenciamento do ciclo de vida de contas do AD DS de usuários externos. Nesse cenário, uma organização está sincronizando empregados do AD DS para o Microsoft Entra ID usando o Microsoft Entra Connect e também convidou visitantes para o diretório do Microsoft Entra. Convidar um convidado resulta em um objeto de usuário externo no diretório do Microsoft Entra da organização, que não está no AD DS dessa organização. Em seguida, a organização deseja conceder a esses convidados acesso à Autenticação Integrada do Windows local ou a aplicativos baseados em Kerberos, por meio do proxy de aplicativo Microsoft Entra ou outros mecanismos de gateway. O proxy de aplicativo do Microsoft Entra exige que cada usuário tenha sua própria conta do AD DS, para fins de identificação e delegação.

Para saber como configurar a sincronização do MIM para criar e manter automaticamente contas do AD DS para convidados, depois de ler as instruções neste artigo, acesse o artigo Colaboração do Microsoft Entra entre empresas (B2B) com o MIM 2016 e o proxy de aplicação do Microsoft Entra. Esse artigo ilustra as regras de sincronização necessárias para o conector.

Outros cenários de gerenciamento de identidade

O conector pode ser usado para outros cenários específicos de gerenciamento de identidade que envolvem a criação, leitura, atualização e exclusão de objetos de usuário, grupo e contato no Microsoft Entra ID, além da sincronização de usuário e grupo com o Microsoft Entra ID. Ao avaliar possíveis cenários, tenha em mente: este conector não pode ser operado em um cenário que resultaria em sobreposição de fluxo de dados ou em um conflito de sincronização real ou potencial com uma implantação do Microsoft Entra Connect. Microsoft Entra Connect é a abordagem recomendada para integrar diretórios locais à ID do Microsoft Entra, sincronizando usuários e grupos de diretórios locais com a ID do Microsoft Entra. O Microsoft Entra Connect tem muito mais recursos de sincronização e permite cenários como write-back de senha e dispositivo, que não são possíveis para objetos criados pelo MIM. Se os dados estiverem sendo trazidos para o AD DS, por exemplo, verifique se eles são excluídos do Microsoft Entra Connect, que tenta corresponder esses objetos de volta ao diretório do Microsoft Entra. Esse conector também não pode ser usado para fazer alterações nos objetos do Microsoft Entra, que foram criados pelo Microsoft Entra Connect.

Preparando-se para usar o Conector para o Microsoft Graph

Autorizando o conector a recuperar ou gerenciar objetos no diretório do Microsoft Entra

  1. O conector requer que um aplicativo Web/aplicativo de API seja criado no Microsoft Entra ID, para que ele possa ser autorizado com as permissões apropriadas para operar nos objetos do Microsoft Entra por meio do Microsoft Graph.

    Imagem do novo botão de registro do aplicativoImagem do registro do aplicativo

    Imagem 1. Novo registro de aplicativo

  2. No portal do Azure, abra o aplicativo criado e salve a ID do aplicativo, como uma ID do cliente para usar posteriormente na página de conectividade do MA:

  3. Gerar novo Segredo do Cliente abrindo Certificados & segredos. Defina alguma descrição de chave e selecione a duração máxima. Salve as alterações e recupere o segredo do cliente. O valor do segredo do cliente não estará disponível para exibição novamente depois de sair da página.

    Imagem do botão Adicionar novo segredo

    Imagem 2. Novo segredo do cliente

  4. Conceda permissões apropriadas do 'Microsoft Graph' ao aplicativo abrindo "Permissões de API"

    Imagem do botão adicionar permissões Imagem 3. Adicionar nova API

    Selecione as permissões do aplicativo 'Microsoft Graph'. Imagem de permissões de aplicativos

    Revogar todas as permissões desnecessárias.

    Imagem das permissões de aplicativos que não foram concedidas

    A seguinte permissão deve ser adicionada ao aplicativo para permitir que ele use a "API do Microsoft Graph", dependendo do cenário:

    Operação com objeto Permissão necessária Tipo de permissão
    Detecção de esquema Application.Read.All Aplicação
    Importar Grupo Group.Read.All ou Group.ReadWrite.All Aplicação
    Importar Usuário User.Read.All, User.ReadWrite.All, Directory.Read.All ou Directory.ReadWrite.All Aplicação

    Mais detalhes sobre as permissões necessárias podem ser encontrados na referência de permissões .

Nota

A permissão Application.Read.All é obrigatória para detecção de esquema e deve ser concedida independentemente do tipo de objeto com o qual o conector estará trabalhando.

  1. Conceda consentimento do administrador para permissões selecionadas. Imagem do consentimento do administrador concedido

Instalação do conector

  1. Antes de instalar o Conector, verifique se você tem o seguinte no servidor de sincronização:
  • Microsoft .NET 4.6.2 Framework ou posterior
  • O Microsoft Identity Manager 2016 SP2 deve usar o hotfix 4.4.1642.0 KB4021562 ou posterior.
  1. O conector do Microsoft Graph, além de outros conectores do Microsoft Identity Manager 2016 SP2, está disponível para download no Microsoft Download Center.

  2. Reinicie o Serviço de Sincronização do MIM.

Configuração do conector

  1. Na interface do usuário do Synchronization Service Manager, selecione Conectores e Criar. Selecione do Graph (Microsoft), crie um conector e dê a ele um nome descritivo.

nova imagem do conector

  1. Na interface do usuário do serviço de sincronização do MIM, especifique a ID do aplicativo e o segredo do cliente gerado. Cada agente de gerenciamento configurado na Sincronização do MIM deve ter seu próprio aplicativo na ID do Microsoft Entra para evitar a execução da importação em paralelo para o mesmo aplicativo.

Imagem 4. Página conectividade

A página de conectividade (Imagem 4) contém a versão da API do Graph usada e o nome do locatário. O ID do cliente e o segredo do cliente representam o ID do Aplicativo e o valor da chave do aplicativo que foi criado anteriormente no Microsoft Entra ID.

O conector usa como padrão a v1.0 e os pontos de extremidade de logon e grafo do serviço global do Microsoft Graph. Se o tenant estiver em uma nuvem nacional, você precisará alterar sua configuração para usar os endpoints da nuvem nacional. Observe que determinados recursos do Graph que estão no serviço global podem não estar disponíveis em todas as nuvens nacionais.

  1. Faça as alterações necessárias na página Parâmetros Globais:

Imagem da página de parâmetros globais

Imagem 5. Página Parâmetros Globais

A página de parâmetros globais contém as seguintes configurações:

  • Formato DateTime – formato usado para qualquer atributo com o tipo Edm.DateTimeOffset. Todas as datas são convertidas em cadeia de caracteres usando esse formato durante a importação. O formato de conjunto é aplicado a qualquer atributo, o que salva a data.

  • Tempo limite http (segundos) – tempo limite em segundos que será usado durante cada chamada HTTP para o Graph.

  • Forçar a alteração de senha para o usuário criado no próximo login – essa opção é usada para um usuário que será criado durante a exportação. Se a opção estiver habilitada, a propriedade forceChangePasswordNextSignIn será definida como verdadeiro; caso contrário, será falso.

Configurando o esquema e as operações do conector

  1. Configure o esquema. O conector dá suporte à seguinte lista de tipos de objeto quando usado com o ponto de extremidade do Graph v1.0:
  • Utilizador

    • Importação completa/delta

    • Exportar (Adicionar, Atualizar, Excluir)

  • Grupo

    • Importação completa/delta

    • Exportar (Adicionar, Atualizar, Excluir)

Tipos de objeto adicionais podem ficar visíveis quando você configura o conector para usar o ponto de extremidade beta do Graph.

A lista de tipos de atributo com suporte:

  • Edm.Boolean

  • Edm.String

  • Edm.DateTimeOffset (cadeia de caracteres no espaço do conector)

  • microsoft.graph.directoryObject (referência no espaço do conector a qualquer um dos objetos com suporte)

  • microsoft.graph.contact

Atributos multivalorizados (Coleção) também têm suporte para qualquer um dos tipos da lista acima.

O conector usa o atributo 'id' para âncora e DN para todos os objetos. Portanto, a renomeação não é necessária, pois a API do Graph não permite que um objeto altere seu atributo id.

Tempo de vida do token de acesso

Um aplicativo do Graph requer um token de acesso para acessar a API do Graph. Um conector solicitará um novo token de acesso para cada iteração de importação (a iteração de importação depende do tamanho da página). Por exemplo:

  • A ID do Microsoft Entra contém 10000 objetos

  • O tamanho da página configurado no conector é 5000

Nesse caso, haverá duas iterações durante a importação, cada uma delas retornará 5.000 objetos para Sincronizar. Portanto, um novo token de acesso será solicitado duas vezes.

Durante a exportação, um novo token de acesso será solicitado para cada objeto que deve ser adicionado/atualizado/excluído.

Filtros de consulta

Os pontos finais da API do Graph introduzem o parâmetro $filter, que permite limitar a quantidade de objetos retornados por consultas GET.

Para habilitar o uso de filtros de consulta e melhorar o desempenho do ciclo de importação completa, na página Esquema 1 de propriedades do conector, habilite a caixa de seleção Adicionar filtro de objetos.

Imagem 1 da página de configurações do conector com a caixa de seleção Adicionar filtro de objetos marcada

Depois disso, na página Esquema 2, digite uma expressão a ser usada para filtrar usuários, grupos, contatos ou entidades de serviço.

Imagem 2 da página de configurações do conector com um filtro de amostra startsWith(displayName,'J')

Na captura de tela acima, o filtro startsWith(displayName,'J') está definido para ler somente usuários cujo valor de atributo displayName começa com 'J'.

Verifique se o atributo usado na expressão de filtro está selecionado nas propriedades do conector.

Imagem da página de configurações do conector com um atributo displayName selecionado

Para obter mais informações sobre uso do parâmetro de consulta $filter, consulte este artigo: Usar parâmetros de consulta para personalizar respostas.

Nota

O ponto de extremidade de consulta delta atualmente não oferece recursos de filtragem, portanto, o uso de filtros se restringe apenas à importação completa. você receberá um erro ao tentar iniciar a execução de importação delta com filtros de consulta habilitados.

Solução de problemas

Habilitar logs

Se houver problemas no Graph, os logs poderão ser usados para localizar o problema. Portanto, os rastreamentos podem ser habilitados da mesma maneira que para conectores genéricos. Ou apenas adicionando o seguinte a miiserver.exe.config (dentro da seção system.diagnostics/sources):

<source name="ConnectorsLog" switchValue="Verbose">
<listeners>
<add initializeData="ConnectorsLog"
type="System.Diagnostics.EventLogTraceListener, System, Version=4.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089"
name="ConnectorsLogListener" traceOutputOptions="LogicalOperationStack,
DateTime, Timestamp, Callstack" />
<remove name="Default" />
</listeners>
</source>

Nota

Se 'Executar esse agente de gerenciamento em um processo separado' estiver habilitado, dllhost.exe.config deverá ser usado em vez de miiserver.exe.config.

Erro de token de acesso expirado

O conector pode retornar o erro HTTP 401 Não autorizado, mensagem "O token de acesso expirou":

Imagem de detalhes do erro

Imagem 6. "O token de acesso expirou." Erro

A causa desse problema pode ser a configuração do tempo de vida do token de acesso do lado do Azure. Por padrão, o token de acesso expira após 1 hora. Para aumentar o tempo de expiração, consulte este artigo.

Exemplo disso usando versão de visualização pública do Módulo do PowerShell do Azure AD

imagem do tempo de vida do token de acesso Imagem do ciclo de vida do token de acesso

New-AzureADPolicy -Definition @('{"TokenLifetimePolicy":{"Version":1, "AccessTokenLifetime":"5:00:00"}}') -DisplayName "OrganizationDefaultPolicyScenario" -IsOrganizationDefault $true -Type "TokenLifetimePolicy"

Próximas etapas