Connettore di Microsoft Identity Manager per Microsoft Graph

Riepilogo

Il connettore Microsoft Identity Manager per Microsoft Graph consente scenari di integrazione aggiuntivi per i clienti Microsoft Entra ID P1 o P2. Questo connettore viene visualizzato negli oggetti metaverse aggiuntivi della sincronizzazione MIM ottenuti dall'API Graph Microsoft v1 e beta.

Scenari possibili

Gestione del ciclo di vita di un account B2B

Lo scenario iniziale per il connettore di Microsoft Identity Manager per Microsoft Graph consiste nell'automatizzazione della gestione del ciclo di vita degli account Active Directory Domain Services per gli utenti esterni. In questo scenario, un'organizzazione sincronizza i dipendenti con Microsoft Entra ID da Servizi di dominio Active Directory usando Microsoft Entra Connect e ha anche invitato gli utenti guest nella directory Microsoft Entra. L'invito di un guest comporta che un oggetto utente esterno si trova nella directory Microsoft Entra dell'organizzazione, che non si trova in Servizi di dominio Active Directory dell'organizzazione. L'organizzazione vuole quindi concedere a tali utenti guest l'accesso alle applicazioni locali con autenticazione integrata di Windows o basate su Kerberos, tramite il proxy dell'applicazione Microsoft Entra o altri meccanismi gateway. Il proxy dell'applicazione Microsoft Entra richiede che ogni utente disponga del proprio account di Active Directory Domain Services per scopi di identificazione e delega.

Per informazioni su come configurare la sincronizzazione MIM per creare e gestire automaticamente gli account di Active Directory Domain Services per gli utenti guest, dopo aver letto le istruzioni in questo articolo, continuare a leggere l'articolo Microsoft Entra collaborazione business-to-business (B2B) con MIM 2016 e il proxy di applicazione Microsoft Entra. Questo articolo illustra le regole di sincronizzazione necessarie per il connettore.

Altri scenari di gestione delle identità

Il connettore può essere usato per altri scenari specifici di gestione delle identità che coinvolgono la creazione, la lettura, l'aggiornamento e l'eliminazione di oggetti utente, gruppo e contatto in Microsoft Entra ID, oltre alla sincronizzazione di utenti e gruppi per Microsoft Entra ID. Quando si valutano scenari potenziali, tenere presente che questo connettore non può essere gestito in uno scenario, con conseguente sovrapposizione del flusso di dati, effettivo o potenziale conflitto di sincronizzazione con una distribuzione di Microsoft Entra Connect. Microsoft Entra Connect è l'approccio consigliato per integrare le directory locali con Microsoft Entra ID, sincronizzando utenti e gruppi da directory locali a Microsoft Entra ID. Microsoft Entra Connect offre molte altre funzionalità di sincronizzazione e abilita scenari come il writeback delle password e del dispositivo, che non sono possibili per gli oggetti creati da MIM. Se i dati vengono inseriti in Servizi di dominio Active Directory, ad esempio, assicurarsi che vengano esclusi da Microsoft Entra Connect tentando di associare tali oggetti alla directory Microsoft Entra. Né questo connettore può essere usato per apportare modifiche agli oggetti Microsoft Entra creati da Microsoft Entra Connect.

Preparazione all'uso del connettore per Microsoft Graph

Autorizzazione del connettore per recuperare o gestire oggetti nella directory Microsoft Entra

  1. Il connettore richiede la creazione di un'app Web o di un'applicazione API in Microsoft Entra ID, in modo che possa essere autorizzata con le autorizzazioni appropriate per operare su Microsoft Entra oggetti tramite Microsoft Graph.

    Immagine del pulsante Registrazione nuova applicazione Immagine della registrazione dell'applicazione

    Immagine 1. Registrazione nuova applicazione

  2. Nel portale di Azure aprire l'applicazione creata e salvare l'ID dell'applicazione come un ID client da usare in un secondo momento nella pagina di connettività dell'agente di gestione:

    Immagine dei dettagli di registrazione dell'applicazione

    Immagine 2. ID applicazione

  3. Generare un nuovo segreto client aprendo Certificati & segreti. Impostare una descrizione chiave e selezionare la durata massima. Salvare le modifiche e recuperare il segreto client. Il valore del segreto client non sarà disponibile per la visualizzazione dopo aver lasciato la pagina.

    Immagine del pulsante Aggiungi nuovo segreto

    Immagine 3. Nuovo segreto client

  4. Concedere le autorizzazioni "Microsoft Graph" appropriate all'applicazione aprendo "Autorizzazioni API"

    Immagine del pulsante Aggiungi autorizzazioni Immagine 4. Add new API

    Selezionare "Microsoft Graph" Autorizzazioni dell'applicazione. Immagine delle autorizzazioni delle applicazioni

    Revocare tutte le autorizzazioni non necessarie.

    Immagine delle autorizzazioni per le applicazioni non concesse

    L'autorizzazione seguente deve essere aggiunta all'applicazione per consentire l'utilizzo dell'API Graph Microsoft, a seconda dello scenario:

    Operazione con oggetto È necessaria l'autorizzazione Tipo di autorizzazione
    Rilevamento dello schema Application.Read.All Applicazione
    Importare il gruppo Group.Read.All o Group.ReadWrite.All Applicazione
    Importare l'utente User.Read.All, User.ReadWrite.All, Directory.Read.All o Directory.ReadWrite.All Applicazione

    Altre informazioni sulle autorizzazioni necessarie sono disponibili nel riferimento alle autorizzazioni.

Nota

L'autorizzazione Application.Read.All è obbligatoria per il rilevamento dello schema e deve essere concessa indipendentemente dal connettore del tipo di oggetto che funzionerà.

  1. Concedere il consenso amministratore per le autorizzazioni selezionate. Immagine del consenso amministratore concesso

Installazione del connettore

  1. Prima di installare il connettore, assicurarsi che nel server di sincronizzazione sia presente quanto segue:
  • Microsoft .NET 4.6.2 Framework o versione successiva
  • Microsoft Identity Manager 2016 SP2 e deve usare l'hotfix 4.4.1642.0 KB4021562 o versione successiva.
  1. Il connettore per Microsoft Graph, oltre ad altri connettori per Microsoft Identity Manager 2016 SP2, è disponibile come download dall'Area download Microsoft.

  2. Riavviare il servizio di sincronizzazione MIM.

Configurazione del connettore

  1. Nell'interfaccia utente di Synchronization Service Manager selezionare Connettori e Crea. Selezionare Graph (Microsoft), creare un connettore e assegnargli un nome descrittivo.

Nuova immagine del connettore

  1. Nell'interfaccia utente del servizio di sincronizzazione MIM specificare l'ID applicazione e il segreto client generato. Ogni agente di gestione configurato nella sincronizzazione MIM deve avere una propria applicazione in Microsoft Entra ID per evitare l'esecuzione dell'importazione in parallelo per la stessa applicazione.

Immagine delle impostazioni del connettore con i dettagli della connettività

Immagine 5. Pagina Connettività

La pagina Connettività (immagine 5) contiene la versione dell'API Graph usata e il nome del tenant. L'ID client e il segreto client rappresentano l'ID applicazione e il valore chiave dell'applicazione creata in precedenza in Microsoft Entra ID.

Per impostazione predefinita, il connettore è la versione 1.0 e gli endpoint di accesso e grafico del servizio globale Microsoft Graph. Se il tenant si trova in un cloud nazionale, sarà necessario modificare la configurazione per usare gli endpoint per il cloud nazionale. Si noti che alcune funzionalità di Graph presenti nel servizio globale potrebbero non essere disponibili in tutti i cloud nazionali.

  1. Apportare le modifiche necessarie nella pagina Parametri globali:

Immagine della pagina Parametri globali

Immagine 6. Pagina Parametri globali (Parametri globali)

La pagina Global Parameters (Parametri globali) contiene le impostazioni seguenti:

  • DateTime format (Formato data/ora): formato usato per gli attributi con tipo Edm.DateTimeOffset. Tutte le date vengono convertite in stringa e tale formato viene usato durante l'importazione. Il formato impostato viene applicato per qualsiasi attributo per il salvataggio della data.

  • Timeout HTTP (secondi): timeout in secondi che verrà usato durante ogni chiamata HTTP a Graph.

  • Force change password for created user at next sign (Forza la modifica della password per l'utente creato all'accesso successivo): questa opzione viene usata per il nuovo utente che verrà creato durante l'esportazione. Se l'opzione viene abilitata, la proprietà forceChangePasswordNextSignIn verrà impostata su true. In caso contrario, sarà false.

Configurazione delle operazioni e dello schema del connettore

  1. Configurare lo schema. Il connettore supporta l'elenco seguente di tipi di oggetto quando viene usato con l'endpoint Graph v1.0:
  • Utente

    • Importazione differenziale/completa

    • Esportazione (aggiunta, aggiornamento, eliminazione)

  • Raggruppare

    • Importazione differenziale/completa

    • Esportazione (aggiunta, aggiornamento, eliminazione)

Altri tipi di oggetti possono essere visibili quando si configura il connettore per l'uso dell'endpoint beta Graph.

Elenco dei tipi di attributo supportati:

  • Edm.Boolean

  • Edm.String

  • Edm.DateTimeOffset (stringa nello spazio connettore)

  • microsoft.graph.directoryObject (riferimento nello spazio connettore a uno degli oggetti supportati)

  • microsoft.graph.contact

Per tutti i tipi dell'elenco precedente sono supportati anche gli attributi multivalore (raccolta).

Il connettore usa l'attributo "id" per l'ancoraggio e il DN di tutti gli oggetti. Pertanto, la ridenominazione non è necessaria perché API Graph non consente a un oggetto di modificare l'attributoid.

Durata dei token di accesso

Un'applicazione Graph richiede un token di accesso per l'accesso all'API Graph. Un connettore richiederà un nuovo token di accesso per ogni iterazione dell'importazione. L'iterazione dell'importazione dipende dalle dimensioni di pagina. Ad esempio:

  • Microsoft Entra ID contiene 10000 oggetti

  • Le dimensioni della pagina configurate nel connettore sono pari a 5000

In questo caso, durante l'importazione saranno presenti due iterazioni, ognuna di esse restituirà 5000 oggetti alla sincronizzazione. Quindi, un nuovo token di accesso verrà richiesto due volte.

Durante l'esportazione verrà richiesto un nuovo token di accesso per ogni oggetto che deve essere aggiunto/aggiornato/eliminato.

Filtri di query

API Graph endpoint offrono la possibilità di limitare la quantità di oggetti restituiti dalle query GET introducendo $filter parametro.

Per abilitare l'uso dei filtri di query per migliorare il ciclo completo delle prestazioni di importazione, nella pagina Schema 1 delle proprietà del connettore abilitare la casella di controllo Aggiungi filtro oggetti .

Casella di controllo Impostazioni connettore pagina un'immagine con la casella di controllo Aggiungi filtro oggetti selezionata

Successivamente, nella pagina Schema 2 digitare un'espressione da usare per filtrare utenti, gruppi, contatti o entità servizio.

Pagina delle impostazioni del connettore due immagini con un filtro di esempio avviaWith(displayName,'J')

Nello screenshot precedente il filtro viene avviatoWith(displayName,'J') per leggere solo gli utenti il cui valore dell'attributo displayName inizia con 'J'.

Assicurarsi che l'attributo usato nell'espressione di filtro sia selezionato nelle proprietà del connettore.

Immagine della pagina Impostazioni connettore con un attributo displayName selezionato

Per altre informazioni sull'utilizzo dei parametri di query $filter , vedere questo articolo: Usare i parametri di query per personalizzare le risposte.

Nota

L'endpoint di query delta attualmente non offre funzionalità di filtro, pertanto l'utilizzo dei filtri è limitato solo all'importazione completa. verrà visualizzato un errore durante il tentativo di avviare l'importazione differenziale con filtri di query abilitati.

Risoluzione dei problemi

Abilitare i log

Se si verificano problemi in Graph, si possono usare i log per localizzare il problema. Le tracce possono quindi essere abilitate nello stesso modo dei connettori generici. Oppure semplicemente aggiungendo il codice seguente miiserver.exe.config (all'interno della sezione 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 "Run this management agent in a separate process" (Esegui questo agente di gestione in un processo separato) è abilitato, usare dllhost.exe.config al posto di miiserver.exe.config.

Errore di token di accesso scaduto

Il connettore potrebbe restituire l'errore HTTP 401: accesso non autorizzato, con il messaggio "Access token has expired" (Il token di accesso è scaduto):

Immagine dei dettagli dell'errore

Immagine 7. "Access token has expired" (Il token di accesso è scaduto) Errore

La causa di questo problema potrebbe dipendere dalla configurazione della durata del token di accesso sul lato Azure. Per impostazione predefinita, il token di accesso scade dopo 1 ora. Per aumentare l'ora di scadenza, vedere questo articolo.

Esempio dell'uso della versione di anteprima pubblica del modulo Azure AD PowerShell

Immagine della durata del token acces

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

Passaggi successivi