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 prevede di usare applicazioni già integrate con Microsoft Entra ID, ad esempio Zoom, ServiceNow e DropBox, è possibile ignorare questo articolo ed consultare le esercitazioni o esaminare come funziona il servizio di provisioning.

Scenari comuni

Microsoft Entra ID offre un servizio predefinito per il provisioning e una piattaforma estendibile in cui creare applicazioni. L'albero delle decisioni descrive come uno sviluppatore potrà usare SCIM e Microsoft Graph per automatizzare il provisioning.

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

Albero delle decisioni di Graph e SCIM

Scenario 1: Creare automaticamente utenti nell'applicazione

Oggi 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. Per creare un utente sono necessarie solo informazioni di base come nome, indirizzo di posta elettronica e userPrincipalName.

Raccomandazione:

  • Se i clienti usano vari provider di identità e non si vuole mantenere un motore di sincronizzazione per l'integrazione con ognuno, aggiungere il supporto per 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 creare l'endpoint una sola volta e sarà compatibile con tutti i provider di identità. Vedere la richiesta di esempio seguente per informazioni su come verrà creato un utente usando SCIM.
  • Se sono necessari dati utente disponibili nell'oggetto utente in Microsoft Entra ID e altri dati di 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 orientati alla 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: aggiungere il supporto per un endpoint /Users conforme a SCIM. Il servizio di provisioning di Microsoft Entra invierà richieste per disabilitare ed eliminare gli utenti quando non hanno più bisogno di accedere. È consigliabile supportare sia la disabilitazione che l'eliminazione degli utenti. Vedere di seguito gli esempi di richieste 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 dell'appartenenza a 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 da Microsoft Entra ID e mantenerli aggiornati quando le appartenenze cambiano?

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

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

L'applicazione è integrata in Microsoft Teams e si basa sui dati dei messaggi. Inoltre, i file degli utenti vengono archiviati 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. Microsoft Graph 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 chiamando al contempo Graph per ottenere tutti gli altri dati necessari.

Scenario 5: Tenere traccia delle modifiche nei 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 effettuare il push di queste modifiche nell'applicazione?

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

  • Se un ricevitore di eventi riconosce un evento, ma non riesce a reagire per qualsiasi motivo, l'evento potrebbe andare perso.
  • Non è garantito che le modifiche vengano ricevute in ordine cronologico.
  • Le notifiche di modifica non sempre contengono i dati delle risorse. Per i suddetti motivi, gli sviluppatori usano spesso notifiche di modifica insieme al rilevamento 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 di gestione delle risorse umane, ad esempio le assunzioni, 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. Come si popola il record utente in Microsoft Entra ID con tali dati?

Raccomandazione: Microsoft Graph espone gli endpoint /Users e /Groups che è possibile integrare con i dati odierni per effettuare il provisioning degli utenti in Microsoft Entra ID. Si noti che Microsoft Entra ID non supporta il writeback di tali utenti in Active Directory.

Nota

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