Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
In Microsoft Identity Platform la comprensione delle autorizzazioni e del consenso è fondamentale per lo sviluppo di applicazioni sicure che richiedono l'accesso alle risorse protette. Questo articolo offre una panoramica dei concetti e degli scenari fondamentali correlati alle autorizzazioni e al consenso, consentendo agli sviluppatori di applicazioni di richiedere le autorizzazioni necessarie da utenti e amministratori. Comprendendo questi concetti, è possibile assicurarsi che le applicazioni richiedano solo l'accesso di cui hanno bisogno, promuovendo l'attendibilità e la sicurezza.
Per accedere a una risorsa protetta come posta elettronica o dati del calendario, l'applicazione necessita dell'autorizzazione del proprietario della risorsa. Il proprietario della risorsa può fornire il consenso o negare la richiesta dell'app. La comprensione di questi concetti fondamentali consente di creare applicazioni più sicure e affidabili che richiedono solo l'accesso necessario, quando necessario, da utenti e amministratori.
Scenari di accesso
Gli sviluppatori di applicazioni devono identificare il modo in cui l'applicazione accede ai dati. L'applicazione può usare l'accesso delegato, che agisce per conto di un utente connesso, o l'accesso solo app, che funge solo da identità dell'applicazione.
Accesso delegato (accesso per conto di un utente)
In questo scenario di accesso, un utente ha eseguito l'accesso a un'applicazione cliente. L'applicazione client accede alla risorsa per conto dell'utente. L'accesso delegato richiede autorizzazioni delegate. Sia il client che l'utente devono essere autorizzati separatamente a effettuare la richiesta. Per altre informazioni sullo scenario di accesso delegato, vedere Scenario di accesso delegato.
Per l'app client, è necessario concedere le autorizzazioni delegate corrette. Le autorizzazioni delegate possono anche essere definite ambiti. Gli ambiti sono autorizzazioni per una determinata risorsa che rappresentano ciò a cui un'applicazione client può accedere per conto dell'utente. Per altre informazioni sugli ambiti, vedere Ambiti e autorizzazioni.
Per l'utente, l'autorizzazione si basa sui privilegi concessi all'utente per accedere alla risorsa. Ad esempio, l'utente può essere autorizzato ad accedere alle risorse della directory mediante il controllo degli accessi in base al ruolo di Microsoft Entra o ad accedere alle risorse di posta elettronica e calendario tramite il controllo degli accessi in base al ruolo di Exchange Online. Per altre informazioni su RBAC per le applicazioni, vedere RBAC per le applicazioni.
Accesso solo app (accesso senza utente)
In questo scenario di accesso, l'applicazione agisce autonomamente senza che l'utente abbia eseguito l'accesso. L'accesso alle applicazioni viene usato in scenari come l'automazione e il backup. Questo scenario include le app eseguite come servizi in background o daemon. È appropriato, nei casi in cui non sia consigliabile, avere un utente specifico connesso, oppure quando i dati necessari non possono essere limitati a un singolo utente. Per altre informazioni sullo scenario di accesso solo tramite app, vedere accesso solo tramite app.
L'uso esclusivo delle app impiega i ruoli dell'app al posto degli ambiti delegati. Quando viene concesso tramite il consenso, i ruoli dell'app possono anche essere chiamati autorizzazioni per le applicazioni. All'app client devono essere concesse le autorizzazioni appropriate per l'applicazione dell'applicazione di risorse a cui accede. Una volta concessa l'autorizzazione, l'app client può accedere ai dati richiesti. Per altre informazioni sull'assegnazione dei ruoli dell'app alle applicazioni client, vedere Assegnazione dei ruoli dell'app alle applicazioni.
Tipi di autorizzazioni
Le autorizzazioni delegate vengono usate nello scenario di accesso delegato. Sono autorizzazioni che consentono all'applicazione di agire per conto di un utente. L'applicazione non è in grado di accedere ad alcun elemento a cui l'utente connesso non è riuscito ad accedere.
Ad esempio, considera un'applicazione a cui viene concesso il permesso delegato Files.Read.All
per conto dell'utente. L'applicazione è in grado di leggere solo i file a cui l'utente può accedere personalmente.
Le autorizzazioni dell'applicazione, denominate anche ruoli dell'app, vengono usate nello scenario di accesso solo app, ovvero senza un utente connesso. L'applicazione è in grado di accedere ai dati a cui è associata l'autorizzazione.
Ad esempio, un'applicazione con l'autorizzazione per l'applicazione dell'API Microsoft Graph Files.Read.All
può leggere qualsiasi file nel tenant usando Microsoft Graph. In generale, solo un amministratore o il proprietario dell'entità servizio di un'API può fornire il consenso alle autorizzazioni dell'applicazione esposte da tale API.
Confronto tra autorizzazione delegata e autorizzazione dell'applicazione
Tipi di autorizzazione | Autorizzazioni delegate | Autorizzazioni dell’applicazione |
---|---|---|
Tipi di app | App Web/per dispositivi mobili/a pagina singola (SPA) | Web/Daemon |
Accesso al contesto | Ottenere l'accesso per conto di un utente | Ottenere l'accesso senza utente |
Utenti che possono fornire il consenso | - Gli utenti possono fornire il consenso per i propri dati - Gli amministratori possono fornire il consenso per tutti gli utenti |
Solo l'amministratore può fornire il consenso |
Metodi di consenso | - Statico: elenco configurato nella registrazione dell'app - Dinamico: richiedere singole autorizzazioni all'accesso |
- SOLO statico: elenco configurato nella registrazione dell'app |
Altri nomi | - Ambiti - Ambiti di autorizzazione OAuth2 |
- Ruoli dell'app - Autorizzazioni solo app |
Risultato del consenso (specifico per Microsoft Graph) | OAuth2PermissionGrant | appRoleAssignment |
Consenso
Un modo in cui vengono concesse le autorizzazioni alle applicazioni è il consenso. Il consenso è un processo in cui gli utenti o gli amministratori autorizzano un'applicazione ad accedere a una risorsa protetta. Ad esempio, quando un utente tenta di accedere a un'applicazione per la prima volta, l'applicazione può richiedere l'autorizzazione per visualizzare il profilo dell'utente e leggere il contenuto della sua cassetta postale. L'utente visualizza l'elenco delle autorizzazioni richieste dall'app tramite una richiesta di consenso. Altri scenari in cui gli utenti potrebbero visualizzare una richiesta di consenso includono:
- Durante la revoca del consenso precedentemente concesso.
- Quando l'applicazione è programmata per richiedere specificamente il consenso durante l'accesso.
- Durante l'uso del consenso dinamico da parte dell'applicazione per chiedere nuove autorizzazioni secondo necessità durante l'esecuzione.
I dettagli chiave di una richiesta di consenso sono l'elenco delle autorizzazioni richieste dall'applicazione e le informazioni sull'entità di pubblicazione. Per altre informazioni sulla richiesta di consenso e sull'esperienza di consenso sia per gli amministratori che per gli utenti finali, consulta l'esperienza di consenso dell'applicazione .
Consenso dell'utente
Quando tenta di accedere a un'applicazione, l'utente fornisce il suo consenso. L'utente fornisce le credenziali di accesso, che vengono controllate per determinare se il consenso è già concesso. Se non esiste alcun record precedente del consenso dell'utente o dell'amministratore per le autorizzazioni richieste, l'utente visualizza una richiesta di consenso e gli viene chiesto di concedere tali autorizzazioni all'applicazione. Un amministratore potrebbe essere necessario per concedere il consenso per conto dell'utente.
Consenso dell'amministratore
A seconda delle autorizzazioni richieste, alcune applicazioni potrebbero richiedere che sia un amministratore a concedere il consenso. Ad esempio, le autorizzazioni dell'applicazione e molte autorizzazioni delegate con privilegi elevati possono essere concesse solo da un amministratore.
Gli amministratori possono concedere il consenso a se stessi o all'intera organizzazione. Per altre informazioni sul consenso dell'utente e dell'amministratore, vedere Panoramica del consenso utente e amministratore.
Le richieste di autenticazione vengono richieste per il consenso amministratore se il consenso non è stato concesso e se viene richiesta una di queste autorizzazioni con privilegi elevati.
Le richieste di autorizzazione che contengono ambiti applicazione personalizzati non sono considerate con privilegi elevati e pertanto non richiedono il consenso amministratore.
Preautorizzazione
La preautenticazione consente a un proprietario dell'applicazione di risorse di concedere autorizzazioni senza richiedere agli utenti di visualizzare una richiesta di consenso per lo stesso set di autorizzazioni pre-autorizzate. In questo modo, un'applicazione pre-autorizzata non chiede agli utenti di fornire il consenso alle autorizzazioni. I proprietari delle risorse possono preautorizzare le app client nel portale di Azure o usando PowerShell e le API come Microsoft Graph.
Altri sistemi di autorizzazione
Il framework di consenso è solo un modo in cui un'applicazione o un utente può essere autorizzato ad accedere alle risorse protette. Gli amministratori devono essere a conoscenza di altri sistemi di autorizzazione che potrebbero concedere l'accesso alle informazioni riservate. Esempi di vari sistemi di autorizzazione in Microsoft includono ruoli predefiniti di Microsoft Entra, controllo degli accessi in base al ruolo di Azure, Controllo degli accessi in base al ruolo di Exchangee consenso specifico delle risorse di Teams.