Share via


Uso di SCIM e Microsoft Graph insieme per effettuare il provisioning degli utenti e arricchire l'applicazione con i dati necessari

Destinatari: questo articolo è destinato agli sviluppatori che creano applicazioni da integrare con Microsoft Entra ID. Se si vogliono usare applicazioni già integrate con Microsoft Entra ID, ad esempio Zoom, ServiceNow e DropBox, è possibile ignorare questo articolo ed esaminare le esercitazioni specifiche dell'applicazione o esaminare il funzionamento del servizio di provisioning.

Scenari comuni

Microsoft Entra ID offre un servizio istanza predefinita per il provisioning e una piattaforma estendibile in cui compilare le applicazioni. L'albero delle decisioni descrive come uno sviluppatore userebbe SCIM e Microsoft Graph per automatizzare il provisioning.

  • Creare automaticamente utenti nell'applicazione
  • Rimuovere automaticamente gli utenti dall'applicazione quando non dovrebbero più avere accesso
  • Integrare l'applicazione con più provider di identità per il provisioning
  • Arricchire l'applicazione con i dati di servizi Microsoft, ad esempio Teams, Outlook e Office.
  • Creare, aggiornare ed eliminare automaticamente utenti e gruppi in Microsoft Entra ID e Active Directory

SCIM Graph decision tree

Scenario 1: Creare automaticamente gli utenti nell'app

Attualmente, gli amministratori IT effettuano il provisioning degli utenti creando manualmente gli account utente o caricando periodicamente i file CSV nell'applicazione. Il processo richiede molto tempo per i clienti e rallenta l'adozione dell'applicazione. Tutte le informazioni necessarie sono informazioni di base sull'utente, ad esempio nome, posta elettronica e userPrincipalName per creare un utente.

Raccomandazione:

  • Se i clienti usano vari provider di identità e non si vuole mantenere un motore di sincronizzazione per l'integrazione con ognuno di essi, supportare un endpoint /Users conforme a SCIM. I clienti potranno usare facilmente questo endpoint per l'integrazione con il servizio di provisioning Di Microsoft Entra e creare automaticamente gli account utente quando hanno bisogno di accesso. È possibile compilare l'endpoint una sola volta e sarà compatibile con tutti gli IDP. Vedere la richiesta di esempio seguente per informazioni su come verrà creato un utente usando SCIM.
  • Se sono necessari dati utente trovati nell'oggetto utente in Microsoft Entra ID e altri dati da Microsoft, è consigliabile creare un endpoint SCIM per il provisioning degli utenti e chiamare Microsoft Graph per ottenere il resto dei dati.
POST /Users
{
    "schemas": [
        "urn:ietf:params:scim:schemas:core:2.0:User",
        "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"],
    "externalId": "0a21f0f2-8d2a-4f8e-bf98-7363c4aed4ef",
    "userName": "BillG",
    "active": true,
    "meta": {
        "resourceType": "User"
    },
    "name": {
        "formatted": "Bill Gates",
        "familyName": "Gates",
        "givenName": "Bill"
    },
    "roles": []
}

Scenario 2: Rimuovere automaticamente gli utenti dall'app

I clienti che usano l'applicazione sono incentrati sulla sicurezza e hanno requisiti di governance per rimuovere gli account quando i dipendenti non ne hanno più bisogno. Come è possibile automatizzare il deprovisioning dall'applicazione?

Raccomandazione: supportare un endpoint /Users conforme a SCIM. Il servizio di provisioning Microsoft Entra invierà richieste per disabilitare ed eliminare quando l'utente non dovrebbe più avere accesso. È consigliabile supportare sia la disabilitazione che l'eliminazione degli utenti. Vedere gli esempi seguenti per l'aspetto di una richiesta di disabilitazione ed eliminazione.

Disabilitare l'utente

PATCH /Users/5171a35d82074e068ce2 HTTP/1.1
{
    "Operations": [
        {
            "op": "Replace",
            "path": "active",
            "value": false
        }
    ],
    "schemas": [
        "urn:ietf:params:scim:api:messages:2.0:PatchOp"
    ]
}

Eliminare un utente

DELETE /Users/5171a35d82074e068ce2 HTTP/1.1

Scenario 3: Automatizzare la gestione delle appartenenze ai gruppi nell'app

L'applicazione si basa sui gruppi per l'accesso a varie risorse e i clienti vogliono riutilizzare i gruppi che hanno in Microsoft Entra ID. Come è possibile importare i gruppi dall'ID Microsoft Entra e mantenerli aggiornati man mano che cambiano le appartenenze?

Raccomandazione: supportare un endpoint /Groups conforme a SCIM. Il servizio di provisioning Microsoft Entra si occuperà della creazione di gruppi e della gestione degli aggiornamenti delle appartenenze nell'applicazione.

Scenario 4: Arricchire l'app con i dati di servizi Microsoft, ad esempio Teams, Outlook e OneDrive

L'applicazione è integrata in Microsoft Teams e si basa sui dati dei messaggi. Inoltre, archiviamo i file per gli utenti in OneDrive. Come è possibile arricchire l'applicazione con i dati di questi servizi e in Microsoft?

Raccomandazione:Microsoft Graph è il punto di ingresso per accedere ai dati Microsoft. Ogni carico di lavoro espone le API con i dati necessari. Il grafico Microsoft può essere usato insieme al provisioning SCIM per gli scenari precedenti. È possibile usare SCIM per effettuare il provisioning degli attributi utente di base nell'applicazione durante la chiamata a graph per ottenere tutti gli altri dati necessari.

Scenario 5: tenere traccia delle modifiche nelle servizi Microsoft, ad esempio Teams, Outlook e Microsoft Entra ID

È necessario essere in grado di tenere traccia delle modifiche apportate ai messaggi di Teams e Outlook e reagire in tempo reale. Come è possibile ottenere queste modifiche di cui è stato eseguito il push nell'applicazione?

Raccomandazione: Microsoft Graph fornisce notifiche di modifica e rilevamento delle modifiche per varie risorse. Si notino le limitazioni seguenti delle notifiche di modifica:

  • Se un ricevitore di eventi riconosce un evento, ma non riesce ad agire per qualsiasi motivo, l'evento potrebbe andare perso.
  • L'ordine in cui vengono ricevute le modifiche non è garantito che sia cronologico.
  • Le notifiche di modifica non contengono sempre i dati delle risorse Per i motivi precedenti, gli sviluppatori usano spesso notifiche di modifica insieme al rilevamento delle modifiche per gli scenari di sincronizzazione.

Scenario 6: Effettuare il provisioning di utenti e gruppi in Microsoft Entra ID

L'applicazione crea informazioni su un utente di cui i clienti hanno bisogno in Microsoft Entra ID. Potrebbe trattarsi di un'applicazione HR che gestisce l'assunzione, un'app per le comunicazioni che crea numeri di telefono per gli utenti o un'altra app che genera dati utili in Microsoft Entra ID. Ricerca per categorie popolare il record utente in Microsoft Entra ID con tali dati?

Raccomandazione Il grafico Microsoft espone gli endpoint /Users e /Groups che è possibile integrare con oggi per effettuare il provisioning degli utenti in Microsoft Entra ID. Si noti che Microsoft Entra ID non supporta la scrittura di tali utenti in Active Directory.

Nota

Microsoft dispone di un servizio di provisioning che esegue il pull dei dati dalle applicazioni HR, ad esempio Workday e SuccessFactors. Queste integrazioni vengono create e gestite da Microsoft. Per l'onboarding di una nuova applicazione HR nel servizio, è possibile richiederla in UserVoice.