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
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.
Figura 1. Novo registo de candidatura
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:
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 2. Novo segredo do cliente
Conceda permissões apropriadas do 'Microsoft Graph' ao aplicativo abrindo "Permissões de API"
Figura 3. Adicionar nova API
Selecione 'Permissões do aplicativo Microsoft Graph'.
Revogue todas as permissões desnecessárias.
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
ouGroup.ReadWrite.All
Aplicação Importar usuário User.Read.All
,User.ReadWrite.All
,Directory.Read.All
ouDirectory.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.
- Conceda consentimento de administrador para permissões selecionadas.
Instalação do conector
- 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.
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 .
Reinicie o Serviço de Sincronização do MIM.
Configuração do conector
- 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.
- 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.
- Faça as alterações necessárias na 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
- 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.
Depois disso, Esquema 2 página 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 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.
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.":
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
New-AzureADPolicy -Definition @('{"TokenLifetimePolicy":{"Version":1, "AccessTokenLifetime":"5:00:00"}}') -DisplayName "OrganizationDefaultPolicyScenario" -IsOrganizationDefault $true -Type "TokenLifetimePolicy"
Próximos passos
- Graph Explorer, ótimo para solucionar problemas de chamada HTTP
- Políticas de controlo de versão, suporte e alterações disruptivas para o Microsoft Graph
- Implantações nacionais de nuvem do Microsoft Graph
- Baixe o conector do Microsoft Identity Manager para o Microsoft GraphMIM B2B End to End Deployment