Applicare le procedure consigliate a Microsoft Graph

Completato

Questa unità descrive le procedure consigliate che è possibile applicare per sfruttare al meglio Microsoft Graph e rendere l'applicazione più affidabile per gli utenti finali.

Autenticazione

Per accedere ai dati in Microsoft Graph, l'applicazione dovrà acquisire un token di accesso OAuth 2.0 e presentarlo a Microsoft Graph in uno dei modi seguenti:

  • Intestazione della richiesta di autorizzazione HTTP, come token di connessione
  • Costruttore client del grafico, quando si usa una libreria client di Microsoft Graph

Usare l'API Microsoft Authentication Library, MSAL, per acquisire il token di accesso a Microsoft Graph.

Applicare le procedure consigliate seguenti per il consenso e l'autorizzazione nell'app:

  • Usare privilegi minimi. Richiedere solo le autorizzazioni necessarie e solo quando sono necessarie. Per le API chiamate dall'applicazione, controllare la sezione delle autorizzazioni negli argomenti del metodo. Ad esempio, vedere Creazione di un utente e scegliere le autorizzazioni con privilegi minimi.

  • Usare il tipo di autorizzazione corretto in base agli scenari. Se si sta creando un'applicazione interattiva in cui è presente un utente connesso, l'applicazione deve usare autorizzazioni delegate. Se, tuttavia, l'applicazione viene eseguita senza un utente connesso, ad esempio un servizio in background o un daemon, l'applicazione deve usare le autorizzazioni dell'applicazione.

    Attenzione

    L'uso delle autorizzazioni dell'applicazione per gli scenari interattivi può comportare rischi per la conformità e la sicurezza dell'applicazione. Assicurarsi di controllare i privilegi dell'utente per assicurarsi che non dispongano di un accesso indesiderato alle informazioni o che siano già stati configurati da un amministratore.

  • Considerare l'esperienza dell'utente finale e dell'amministratore. Influisce direttamente sulle esperienze dell'utente finale e dell'amministratore. Ad esempio:

  • Prendere in considerazione le applicazioni multi-tenant. Si prevede che i clienti dispongano di vari controlli di applicazione e consenso in stati diversi. Ad esempio:

    • Un amministratore tenant può disabilitare la possibilità che gli utenti finali possano dare il consenso alle applicazioni. In questo caso, un amministratore deve fornire il consenso per conto degli utenti.

    • Gli amministratori tenant possono impostare criteri di autorizzazione personalizzati, ad esempio impedire agli utenti di leggere i profili di altri utenti o limitare la creazione di gruppi self-service a un set limitato di utenti. In questo caso, l'applicazione deve prevedere di gestire la risposta di errore 403 quando agisce per conto di un utente.

Gestione efficace delle risposte

A seconda delle richieste inviate a Microsoft Graph, le applicazioni devono essere preparate a gestire diversi tipi di risposte. Di seguito sono riportate alcune delle procedure più importanti da seguire per garantire che l'applicazione si comporti in modo affidabile e prevedibile per gli utenti finali. Ad esempio:

  • Paginazione: Quando si esegue una query su una raccolta di risorse, si deve prevedere che Microsoft Graph restituisca il set di risultati in più pagine, a causa dei limiti delle dimensioni della pagina sul lato server. L'applicazione deve sempre gestire la possibilità che le risposte vengano sottoposte a paginazione per definizione e usare la proprietà @odata.nextLink per ottenere il set di risultati con paginazione successivo, fino a quando non vengono lette tutte le pagine del set di risultati. La pagina finale non include una proprietà @odata.nextLink. Per altre informazioni, vedere paging.

  • Enumerazioni evolvibili: l'aggiunta di membri alle enumerazioni esistenti può interrompere le applicazioni che usano già queste enumerazioni. Le enumerazioni evolvibili sono un meccanismo usato dall'API Microsoft Graph per aggiungere nuovi membri alle enumerazioni esistenti senza causare modifiche di rilievo per le applicazioni. Per impostazione predefinita, un'operazione GET restituisce solo membri noti per le proprietà dei tipi di enumerazione evolvibili e l'applicazione deve gestire solo i membri noti. Se si progetta l'applicazione per gestire anche membri sconosciuti, è possibile acconsentire esplicitamente a ricevere tali membri usando un'intestazione di richiesta HTTP Prefer.

Archiviazione locale dei dati

Idealmente l'applicazione deve eseguire chiamate a Microsoft Graph per recuperare i dati in tempo reale in base alle esigenze. È consigliabile memorizzare nella cache o archiviare i dati in locale solo se è necessario per uno scenario specifico e se tale caso d'uso è coperto dalle condizioni per l'utilizzo e dall'informativa sulla privacy e non viola le Condizioni per l'utilizzo delle API Microsoft. L'applicazione deve anche implementare i criteri di conservazione ed eliminazione adeguati.