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
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 1. Registrazione nuova applicazione
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 2. ID applicazione
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 3. Nuovo segreto client
Concedere le autorizzazioni "Microsoft Graph" appropriate all'applicazione aprendo "Autorizzazioni API"
Immagine 4. Add new API
Selezionare "Microsoft Graph" Autorizzazioni dell'applicazione.
Revocare tutte le autorizzazioni non necessarie.
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
oGroup.ReadWrite.All
Applicazione Importare l'utente User.Read.All
,User.ReadWrite.All
,Directory.Read.All
oDirectory.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à.
- Concedere il consenso amministratore per le autorizzazioni selezionate.
Installazione del connettore
- 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.
Il connettore per Microsoft Graph, oltre ad altri connettori per Microsoft Identity Manager 2016 SP2, è disponibile come download dall'Area download Microsoft.
Riavviare il servizio di sincronizzazione MIM.
Configurazione del connettore
- Nell'interfaccia utente di Synchronization Service Manager selezionare Connettori e Crea. Selezionare Graph (Microsoft), creare un connettore e assegnargli un nome descrittivo.
- 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 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.
- Apportare le modifiche necessarie nella 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
- 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 .
Successivamente, nella pagina Schema 2 digitare un'espressione da usare per filtrare utenti, gruppi, contatti o entità servizio.
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.
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 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
New-AzureADPolicy -Definition @('{"TokenLifetimePolicy":{"Version":1, "AccessTokenLifetime":"5:00:00"}}') -DisplayName "OrganizationDefaultPolicyScenario" -IsOrganizationDefaultDefault $true -Type "TokenLifetimePolicy"
Passaggi successivi
- Graph Explorer, ideale per la risoluzione dei problemi relativi alle chiamate HTTP
- Versioning, support, and breaking change policies for Microsoft Graph (Criteri di controllo delle versioni, supporto e modifica che causa un'interruzione per Microsoft Graph)
- Distribuzioni cloud nazionali di Microsoft Graph
- Scaricare Microsoft Identity Manager connettore per Microsoft GraphMIM B2B End to End Deployment