Partilhar via


Conector do Microsoft Identity Manager para Microsoft Graph

Resumo

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

Cenários abrangidos

Gestão do ciclo de vida da conta B2B

O cenário inicial do conector Microsoft Identity Manager para Microsoft Graph é automatizar a gestão do ciclo de vida das contas no AD DS para usuários externos. Nesse cenário, uma organização está sincronizando funcionários com o ID do Microsoft Entra do AD DS usando o Microsoft Entra Connect e também convidou convidados para o diretório do Microsoft Entra. Convidar um convidado resulta em um objeto de usuário externo no diretório Microsoft Entra dessa organização, que não está no AD DS dessa organização. Em seguida, a organização deseja dar a esses convidados acesso a aplicativos de autenticação integrada do Windows ou baseados em Kerberos nas instalações, por meio do proxy de aplicativo Microsoft Entra ou outros mecanismos de gateway. O proxy de aplicativo Microsoft Entra exige que cada usuário tenha sua própria conta 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, continue lendo o artigo a colaboração do Microsoft Entra business-to-business (B2B) com o MIM 2016 e o proxy de aplicativo Microsoft Entra. Esse artigo ilustra as regras de sincronização necessárias para o conector.

Outros cenários de gerenciamento de identidades

O conector pode ser usado para outros cenários específicos de gerenciamento de identidades envolvendo 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 cenários potenciais, lembre-se: esse conector não pode ser operado em um cenário, o que resultaria em uma sobreposição de fluxo de dados, 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 com o Microsoft Entra ID, sincronizando usuários e grupos de diretórios locais para o Microsoft Entra ID. 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 a ser importados para o AD DS, por exemplo, assegure-se de que eles estão excluídos da tentativa do Microsoft Entra Connect de 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 do 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 API seja criado no Microsoft Entra ID, para que ele possa ser autorizado com as permissões apropriadas para operar em objetos do Microsoft Entra através do Microsoft Graph.

    Imagem do botão de registo da nova aplicação Imagem de registo da aplicação

    Figura 1. Novo registo de candidatura

  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. Gere um novo Segredo do Cliente abrindo Certificados & segredos. Defina alguma descrição da chave e selecione a duração máxima. Salve as alterações e recupere o segredo do cliente. O valor secreto do cliente não estará disponível para visualização novamente depois de sair da página.

    Imagem de adicionar novo botão secreto

    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 Figura 3. Adicionar nova API

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

    Revogue todas as permissões desnecessárias.

    Imagem de permissões de aplicativos não 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
    Deteção de esquema Application.Read.All Aplicação
    Grupo de Importação 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 .

Observação

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

  1. Conceda consentimento de administrador para permissões selecionadas. Imagem do consentimento de 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
  • Microsoft Identity Manager 2016 SP2 e deve usar o hotfix 4.4.1642.0 KB4021562 ou posterior.
  1. O conector para o Microsoft Graph, juntamente com outros conectores para o Microsoft Identity Manager 2016 SP2, está disponível para download no Centro de Transferências da Microsoft .

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

Configuração do conector

  1. Na interface do usuário do Gerenciador de Serviços de Sincronização, selecione Conectores e Criar. Selecione Graph (Microsoft), crie um conector e atribua-lhe 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 no MIM Sync deve ter seu próprio aplicativo no Microsoft Entra ID para evitar a execução da importação em paralelo para o mesmo aplicativo.

Imagem 4. Página de conectividade

A página de conectividade (Figura 4) contém a versão da API do Graph usada e o nome do locatário. A ID do Cliente e o Segredo do Cliente representam a ID do Aplicativo e o valor da Chave do aplicativo que foi criado anteriormente na ID do Microsoft Entra.

O conector assume como padrão a v1.0 e os pontos de extremidade de login e gráfico do serviço global do Microsoft Graph. Se o seu inquilino estiver em nuvem nacional, precisará alterar a sua configuração para utilizar os endpoints para a 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 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 que é usado para qualquer atributo com o tipo Edm.DateTimeOffset. Todas as datas são convertidas em string usando esse formato durante a importação. O formato definido é 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 sinal – esta opção é usada para o novo usuário que será criado durante a exportação. Se a opção estiver ativada, a propriedade forceChangePasswordNextSignIn vai ser definida como true, caso contrário, será definida como false.

Configurando o esquema e as operações do conector

  1. Configure o esquema. O conector suporta a seguinte lista de tipos de objeto quando utilizado com o endpoint do "Graph v1.0":
  • Utilizador

    • Importação Total/Delta

    • Exportar (Adicionar, Atualizar, Excluir)

  • Grupo

    • Importação Completa/Delta

    • Exportar (Adicionar, Atualizar, Excluir)

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

A lista de tipos de atributos suportados:

  • Edm.Boolean

  • Edm.String

  • Edm.DateTimeOffset (string no espaço do conector)

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

  • microsoft.graph.contact

Atributos de valores múltiplos (Collection) também são suportados para qualquer um dos tipos da lista acima.

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

Tempo de vida do token de acesso

Um aplicativo 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:

  • Microsoft Entra ID contém 10000 objetos

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

Neste caso, haverá duas iterações durante a importação, cada uma delas retornará 5000 objetos para o Sync. Assim, 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 de extremidade da API do Graph oferecem a capacidade de limitar o número de objetos retornados por consultas GET introduzindo o parâmetro $filter.

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

Página de configurações do conector, imagem um, com a caixa de seleção Adicionar filtro de objetos marcada

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

Imagem das configurações do conector na página dois com um filtro de exemplo startsWith(displayName,'J')

Na captura de tela acima, o filtro startsWith(displayName,'J') é definido para ler somente usuários cujo valor do 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 definições do conector com o atributo displayName selecionado

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

Observação

O ponto de extremidade de consulta delta atualmente não oferece recursos de filtragem, portanto, o uso de filtros é limitado apenas à importação completa. Você receberá um erro ao tentar iniciar a execução de importação delta com os filtros de consulta ativados.

Solução de problemas

Ativar logs

Se houver algum problema no Graph, os logs podem ser usados para localizar o problema. Assim, os rastreamentos podem ser ativados em da mesma forma como para os 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>

Observação

Se 'Executar este 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

Figura 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. Consulte este artigo para aumentar o tempo de expiração.

Exemplo disso usando versão do Azure AD PowerShell Module Public Preview

Imagem da duração do token de acesso

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

Próximos passos