Conector do Microsoft Identity Manager para o Microsoft Graph
Resumo
O conector Microsoft Identity Manager para o Microsoft Graph permite cenários de integração adicionais para Microsoft Entra ID clientes P1 ou P2. Ele aparece em objetos adicionais de metaverso de sincronização do MIM obtidos da API do Microsoft Graph v1 e beta.
Cenários cobertos
Gerenciamento de ciclo de vida de conta B2B
O cenário inicial para o conector do Microsoft Identity Manager para o Microsoft Graph é como um conector para ajudar a automatizar o gerenciamento de ciclo de vida de conta do AD DS para usuários externos. Nesse cenário, uma organização está sincronizando funcionários para Microsoft Entra ID do AD DS usando o Microsoft Entra Connect e também convidou convidados para seu diretório Microsoft Entra. Convidar um convidado faz com que um objeto de usuário externo esteja no diretório Microsoft Entra dessa 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 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, continue lendo o artigo Microsoft Entra colaboração B2B (entre empresas) com o MIM 2016 e o proxy de aplicativo Microsoft Entra. Este 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 identidades que envolvem criar, ler, atualizar e excluir objetos de usuário, grupo e contato em Microsoft Entra ID, além da sincronização de usuários e grupos para Microsoft Entra ID. Ao avaliar possíveis cenários, tenha em mente: esse conector não pode ser operado em um cenário, o que resultaria em uma sobreposição de fluxo de dados, conflito real ou potencial de sincronização com uma implantação do Microsoft Entra Connect. Microsoft Entra Connect é a abordagem recomendada para integrar diretórios locais com Microsoft Entra ID, sincronizando usuários e grupos de diretórios locais com Microsoft Entra ID. Microsoft Entra Connect tem muito mais recursos de sincronização e habilita 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 foram excluídos do Microsoft Entra Connect tentando fazer a correspondência desses objetos com o diretório Microsoft Entra. Esse conector também não pode ser usado para fazer alterações em objetos Microsoft Entra, que foram criados pelo Microsoft Entra Connect.
Como preparar-se para usar o Connector para o Microsoft Graph
Autorizando o conector a recuperar ou gerenciar objetos no diretório Microsoft Entra
O conector requer que um aplicativo Web/aplicativo de API seja criado em Microsoft Entra ID, para que ele possa ser autorizado com permissões apropriadas para operar em objetos Microsoft Entra por meio do Microsoft Graph.
Figura 1. Novo registro de aplicativo
No portal do Azure, abra o aplicativo criado e salve a ID do aplicativo como uma ID de cliente para usar mais tarde na página de conectividade do MA:
Figura 2. ID do aplicativo
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 do segredo do cliente não estará disponível para exibição novamente depois de sair da página.
Figura 3. Novo segredo do cliente
Conceda permissões adequadas do 'Microsoft Graph' ao aplicativo abrindo "Permissões de API"
Imagem 4. Adicionar nova API
Selecione Permissões de aplicativo 'Microsoft Graph'.
Revogar todas as permissões desnecessárias.
A permissão a seguir 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
Aplicativo Importar Grupo Group.Read.All
ouGroup.ReadWrite.All
Aplicativo Importar Usuário User.Read.All
,User.ReadWrite.All
,Directory.Read.All
ouDirectory.ReadWrite.All
Aplicativo 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 detecção de esquema e deve ser concedida independentemente do tipo de objeto com o qual o conector estará trabalhando.
- Conceda consentimento do administrador para permissões selecionadas.
Instalação do conector
- Antes de instalar o conector, verifique se que 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.
O conector do Microsoft Graph, além de outros conectores para Microsoft Identity Manager 2016 SP2, está disponível como download no Centro de Download da Microsoft.
Reinicie o Serviço de Sincronização do MIM.
Configuração do conector
- Na interface de usuário do Synchronization Service Manager, selecione Conectores e Criar. Selecione Graph (Microsoft), crie um conector e dê a ele um nome descritivo.
- 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 em Microsoft Entra ID para evitar a execução da importação em paralelo para o mesmo aplicativo.
Figura 5. Página Conectividade
A página de conectividade (Figura 5) contém a versão de API do Graph que é 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 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 locatário estiver em uma nuvem nacional, você precisará alterar sua configuração para usar os pontos de extremidade 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.
- Faça as alterações necessárias na página Parâmetros Globais:
Figura 6. Página Parâmetros globais
A página de parâmetros globais contém as seguintes configurações:
Formato de data/hora – formato que é usado para qualquer atributo com o tipo Edm.DateTimeOffset. Todas as datas são convertidas em uma 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 do usuário criado no próximo logon – essa opção é usada para o novo usuário que será criado durante a exportação. Se a opção estiver habilitada, a propriedade forceChangePasswordNextSignIn será definida como true; caso contrário, será false.
Configurando o esquema do conector e as operações
- Configure o esquema. O conector dá suporte à seguinte lista de tipos de objeto quando usado com o ponto de extremidade do Graph v1.0:
Usuário
Importação Completa/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 que têm 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
Os atributos de múltiplos valores (Coleção) também têm suporte para qualquer tipo de formulário 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 API do Graph não permite que um objeto altere seu id
atributo.
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:
Microsoft Entra ID contém 10.000 objetos
O tamanho de 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
API do Graph pontos de extremidade oferecem a capacidade de limitar a quantidade de objetos retornados por consultas GET introduzindo $filter parâmetro.
Para habilitar o uso de filtros de consulta para melhorar o ciclo de desempenho de importação completa, na página Esquema 1 das propriedades do conector, habilite a caixa de seleção Adicionar filtro de objetos .
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.
Na captura de tela acima, o filtro startsWith(displayName,'J') é definido para ler somente os 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.
Para obter mais informações sobre $filter uso de parâmetro 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 filtros de consulta habilitados.
Solução de problemas
Habilitar logs
Se houver algum problema no Graph, os logs poderão ser usados para localizar o problema. Assim, os rastreamentos podem ser habilitados da mesma forma que para conectores Genéricos. Ou simplesmente 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 uma mensagem de Erro 401 HTTP não autorizado: "O token de acesso expirou":
Figura 7. “O token de acesso expirou.” Erro
A causa desse problema pode ser a configuração da vida útil do token de acesso do lado do Azure. Por padrão, o token de acesso expira após uma hora. Para aumentar o tempo de expiração, consulte este artigo.
Exemplo de como usar a versão de visualização pública do módulo do PowerShell do Azure AD
New-AzureADPolicy -Definition @('{"TokenLifetimePolicy":{"Version":1, "AccessTokenLifetime":"5:00:00"}}') -DisplayName "OrganizationDefaultPolicyScenario" -IsOrganizationDefault $true -Type "TokenLifetimePolicy"
Próximas etapas
- Explorador do Graph, ótimo para solução de problemas de chamada HTTP
- Controle de versão, suporte e políticas de alteração de falha para o Microsoft Graph
- Implantações em nuvem nacionais do Microsoft Graph
- Baixar Microsoft Identity Manager conector paraa implantação de ponta a ponta do MIM B2B do Microsoft Graph