Aggiornare le autorizzazioni richieste di un'app in Microsoft Entra ID.
Quando si configura un'applicazione con Microsoft Entra ID, gli sviluppatori possono richiedere l'accesso ai dati da altre app e servizi usando le autorizzazioni. Possono richiedere autorizzazioni aggiungendo autorizzazioni statiche al manifesto dell'app o richiedendo in modo dinamico le autorizzazioni in fase di esecuzione. Gli utenti o gli amministratori possono quindi scegliere di concedere le autorizzazioni durante il consenso, consentendo all'app di accedere ai dati necessari.
Man mano che la funzionalità di un'applicazione si evolve, cambiano anche le risorse a cui richiede l’accesso. Queste modifiche potrebbero comportare l'abilitazione di nuove funzionalità, l'eliminazione dell'accesso non necessario o la sostituzione di autorizzazioni con privilegi elevati con quelli con privilegi inferiori. Questo articolo illustra come aggiornare le autorizzazioni richieste dall'applicazione usando l'interfaccia di amministrazione di Microsoft Entra e le chiamate API Microsoft Graph.
L'aggiornamento delle autorizzazioni per l'app non è solo una procedura consigliata per la sicurezza, ma anche un modo per migliorare l'esperienza utente e l'adozione dell'app. La sezione seguente illustra alcuni dei vantaggi dell'aggiornamento delle autorizzazioni per l'app:
- Se l'app ha una nuova funzionalità, è possibile richiedere altre autorizzazioni che consentano all'app di accedere alle risorse aggiuntive necessarie.
- È più probabile che i clienti adottino l'applicazione se richiede solo le autorizzazioni con privilegi minimi necessarie per funzionare. Mostra che l'app rispetta la privacy e la protezione dei dati del cliente e non accede a più risorse di quelle necessarie.
- Inoltre, se l'app è compromessa, esiste un raggio di esplosione più piccolo se dispone di autorizzazioni con privilegi minori o inferiori. Significa che l'autore dell'attacco ha meno accesso ai dati e alle risorse del cliente e quindi il potenziale danno è ridotto.
- Aggiornando le autorizzazioni per l'app, è possibile migliorare la sicurezza, l'usabilità e la conformità dell'app e creare fiducia nei clienti.
Prerequisiti
Per aggiornare le autorizzazioni richieste di un'app, è necessario:
- Un account utente di Microsoft Entra. Se non si ha un account, crearne uno gratuito.
- Uno dei ruoli seguenti: Amministratore applicazione, Amministratore applicazione cloud. Un proprietario dell'applicazione che non è un amministratore è in grado di aggiornare le autorizzazioni richieste di un'app.
Scenari per l'aggiornamento delle autorizzazioni
La sezione seguente elenca i tre scenari principali in cui è necessario aggiornare le autorizzazioni richieste dall'applicazione:
- Aggiungere le autorizzazioni a un'applicazione
- Rimuovere le autorizzazioni inutilizzate da un'applicazione
- Sostituzione di un'autorizzazione
Nota
L'aggiornamento delle autorizzazioni richieste per l'applicazione non concede o revoca automaticamente l'accesso dell'app alle risorse protette. I clienti o gli amministratori dell'organizzazione devono concedere il consenso alle nuove autorizzazioni aggiunte o revocare manualmente le autorizzazioni stesse.
Aggiungere le autorizzazioni a un'applicazione
È possibile aggiungere un'autorizzazione se l'app ha una nuova funzionalità che richiede un'autorizzazione non necessaria prima.
È consigliabile richiedere solo l'accesso alle autorizzazioni minime necessarie per il funzionamento dell'app. Se è necessario aggiungere una nuova autorizzazione per supportare nuove funzionalità nell'app, richiedere solo l'autorizzazione con privilegi minimi per tale funzionalità.
Ad esempio, per aggiungere una funzionalità di notifica tramite posta elettronica all'applicazione, deve accedere alle e-mail dell'utente. A tale scopo, è necessario richiedere l'accesso per l'autorizzazione Mail.ReadWrite
.
Aggiungere autorizzazioni nel consenso statico
Il consenso statico è un modo per richiedere autorizzazioni a utenti o amministratori al momento della registrazione di un'applicazione, anziché in fase di esecuzione. Il consenso statico richiede all'app di dichiarare tutte le autorizzazioni necessarie nel riquadro Registrazioni app nell'interfaccia di amministrazione di Microsoft Entra. Usando l'interfaccia di amministrazione di Microsoft Entra, è possibile aggiornare solo le autorizzazioni per il consenso statico. Per altre informazioni sui diversi tipi di consenso, vedere Tipi di consenso. Per informazioni su come aggiornare le autorizzazioni per il consenso dinamico, vedere la scheda Microsoft Graph di questo articolo.
In questa sezione si apprenderà come aggiungere autorizzazioni al consenso statico.
È possibile aggiungere autorizzazioni al consenso statico in due modi diversi nell'interfaccia di amministrazione di Microsoft Entra:
Opzione 1: aggiungere autorizzazioni nel riquadro Autorizzazioni API
- Accedere all'interfaccia di amministrazione di Microsoft Entra almeno come Amministratore applicazione cloud o proprietario dell’applicazione.
- Passare a Identità>Applicazioni>Registrazioni app>Tutte le applicazioni.
- Trovare la registrazione dell'app a cui si vogliono aggiungere le autorizzazioni e selezionarla. È possibile aggiungere autorizzazioni in due modi diversi:
- Aggiungere autorizzazioni nel riquadro Autorizzazioni API.
Opzione 2: aggiungere autorizzazioni al manifesto dell'applicazione
- Nel riquadro di spostamento a sinistra, nel gruppo di menu Gestisci, selezionare Manifesto. La selezione apre un editor che consente di modificare direttamente gli attributi dell'oggetto di registrazione dell'app.
- Modificare attentamente la proprietà
requiredResourceAccess
nel file manifesto dell'applicazione. - Aggiungere la proprietà
resourceAppId
eresourceAccess
e assegnare le autorizzazioni necessarie. - Salva le modifiche.
Per completare i seguenti passaggi dell'aggiunta di autorizzazioni, sono necessari i privilegi e le risorse seguenti:
- Eseguire le richieste HTTP in uno strumento di propria scelta, ad esempio nell'app, o tramite Graph Explorer.
- Eseguire le API come utente con almeno un Amministratore applicazione cloud o come proprietario della registrazione dell'app di destinazione.
- All'app usata per apportare queste modifiche deve essere concessa l'autorizzazione
Application.ReadWrite.All
.
Identificare le autorizzazioni necessarie per l'app, gli ID di autorizzazione e se si tratta di ruoli dell'app (autorizzazioni dell'applicazione) o autorizzazioni delegate. Ad esempio, se si desidera richiedere le autorizzazioni di Microsoft Graph, vedere le autorizzazioni di Microsoft Graph per un elenco di autorizzazioni e i relativi ID.
Aggiungere le autorizzazioni necessarie per Microsoft Graph all'app. L'esempio seguente chiama l'API Aggiorna applicazione per aggiungere le autorizzazioni di Microsoft Graph necessarie a una registrazione dell'app identificata dall'ID oggetto
aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
. Questo esempio usa l’autorizzazione delegata e l’autorizzazione dell'applicazioneAnalytics.Read
eApplication.Read.All
. Microsoft Graph viene identificato come oggetto ServicePrincipal con00000003-0000-0000-c000-000000000000
come suo univoco globaleAppId
.PATCH https://graph.microsoft.com/v1.0/applications/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb Content-Type: application/json { "requiredResourceAccess": [ { "resourceAppId": "00000003-0000-0000-c000-000000000000", "resourceAccess": [ { "id": "e03cf23f-8056-446a-8994-7d93dfc8b50e", "type": "Scope" }, { "id": "9a5d68dd-52b0-4cc2-bd40-abcf44ac3a30", "type": "Role" } ] } ] }
Aggiungere autorizzazioni nel consenso dinamico
Il consenso dinamico è un modo per richiedere autorizzazioni a utenti o amministratori in fase di esecuzione, anziché dichiararli staticamente nel riquadro Registrazioni app. Il consenso dinamico consente all'app di richiedere solo le autorizzazioni necessarie per una funzionalità specifica e di ottenere il consenso dall'utente o dall'amministratore quando necessario. Il consenso dinamico può essere usato con autorizzazioni delegate e può essere combinato con l'ambito /.default
per richiedere il consenso dell'amministratore per tutte le autorizzazioni.
Per aggiungere autorizzazioni nel consenso dinamico:
Usare Microsoft Graph: aggiungere le autorizzazioni necessarie di Microsoft Graph a una registrazione dell'app. Questo esempio usa l’autorizzazione delegata e l’autorizzazione dell'applicazione
Analytics.Read
eApplication.Read.All
. Sostituire i valori in "ambiti" con i valori di tutte le autorizzazioni delegate di Microsoft Graph da configurare per l'app.La richiesta deve essere simile all'esempio seguente:
https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=00001111-aaaa-2222-bbbb-3333cccc4444&response_type=code&scope=Analytics.Read+Application.Read
Usare MSAL.js: sostituire i valori in "ambiti" con i valori di tutte le autorizzazioni delegate di Microsoft Graph da configurare per l'app.
const Request = { scopes: ["openid", "profile"], loginHint: "example@domain.net" }; myMSALObj.ssoSilent(Request) .then((response) => { // your logic }).catch(error => { console.error("Silent Error: " + error); if (error instanceof msal.InteractionRequiredAuthError) { myMSALObj.loginRedirect(loginRequest); } });
Concedere il consenso per le autorizzazioni aggiunte per l'applicazione aziendale
Dopo l'aggiunta delle autorizzazioni all'applicazione, gli utenti o gli amministratori devono concedere il consenso alle nuove autorizzazioni. Gli utenti non amministratori visualizzano una richiesta di consenso quando accedono all'app. Gli utenti amministratori possono invece concedere il consenso alle nuove autorizzazioni per conto di tutti gli utenti dell'organizzazione quando accedono per la prima volta all'app o nell'interfaccia di amministrazione di Microsoft Entra.
Quando le autorizzazioni aggiunte richiedono il consenso amministratore, le azioni necessarie variano in base al tipo di app:
- App tenant singolo e app multi-tenant nel tenant principale: l'utente deve accedere come almeno un ruolo di amministratore ruolo con privilegi e concedere il consenso a livello di tenant.
- App multi-tenant nei tenant del cliente: l'utente visualizza nuove richieste di consenso al tentativo di accesso successivo. Se le autorizzazioni richiedono solo il consenso dell'utente, l'utente può concedere il consenso. Se le autorizzazioni richiedono il consenso amministratore, l'utente deve contattare l'amministratore per concedere il consenso.
Interrompere la richiesta di autorizzazioni inutilizzate
La rimozione delle autorizzazioni può ridurre il rischio di esporre dati sensibili o compromettere la sicurezza e semplificare il processo di consenso per gli utenti o gli amministratori. Se l'app non necessita più di un'autorizzazione, è necessario impedire all'app di richiederla rimuovendo l'autorizzazione dall'accesso alle risorse e dal codice necessari per la registrazione dell'app. Ad esempio, un'applicazione che non invia più notifiche tramite e-mail può rimuovere l'autorizzazione Mail.ReadWrite
.
Importante
La rimozione di un'autorizzazione dalla registrazione dell'app non revoca automaticamente le autorizzazioni già concesse all'app. È necessario revocare manualmente le autorizzazioni. Per altre informazioni, vedere la sezione Revocare il consenso per le autorizzazioni rimosse per l'applicazione aziendale di questo articolo.
Interrompere la richiesta di autorizzazioni per il consenso statico
Per interrompere la richiesta di autorizzazioni che richiedono il consenso statico, è necessario rimuovere l'autorizzazione dal riquadro Registrazioni app. Un amministratore del tenant deve anche revocare l'autorizzazione nel riquadro Applicazioni aziendali. Per altre informazioni su come revocare le autorizzazioni concesse a un'applicazione aziendale, vedere Revocare le autorizzazioni per un'applicazione aziendale.
In questa sezione si apprenderà come interrompere la richiesta di autorizzazioni per il consenso statico.
È possibile rimuovere autorizzazioni dal consenso statico in due modi diversi nell'interfaccia di amministrazione di Microsoft Entra:
Opzione 1: nel riquadro delle autorizzazioni API
- Accedere all'interfaccia di amministrazione di Microsoft Entra almeno come Amministratore applicazione cloud o proprietario dell’applicazione.
- Passare a Identità>Applicazioni>Registrazioni app>Tutte le applicazioni.
- Trovare la registrazione dell'app da cui si vogliono rimuovere le autorizzazioni e selezionarla.
- Rimuovere le autorizzazioni dal riquadro Autorizzazioni API:
Individuare il riquadro Autorizzazioni API e trovare le autorizzazioni da rimuovere.
Selezionare l'API da rimuovere e selezionare per prima cosa Revocare il consenso amministratore, quindi Rimuovere l'autorizzazione. Questa operazione garantisce che l'autorizzazione concessa venga rimossa dal tenant.
Opzione 2: dal manifesto dell'applicazione
- Nel riquadro di spostamento a sinistra, nel gruppo di menu Gestisci, selezionare Manifesto. Viene aperto un editor che consente di modificare direttamente gli attributi dell'oggetto di registrazione dell'app.
- Modificare attentamente la proprietà
requiredResourceAccess
nel file manifesto dell'applicazione. - Rimuovere le autorizzazioni non necessarie dalla proprietà
resourceAppId
e dalla proprietàresourceAccess
. - Salva le modifiche.
Per completare i seguenti passaggi della rimozione di autorizzazioni, sono necessari i privilegi e le risorse seguenti:
- Eseguire le richieste HTTP in uno strumento di propria scelta, ad esempio nell'app, o tramite Graph Explorer.
- Chiamare le API con almeno un Amministratore applicazione cloud o come proprietario della registrazione dell'app di destinazione.
- All'app usata per apportare queste modifiche deve essere concessa l'autorizzazione
Application.ReadWrite.All
.
Identificare le autorizzazioni per l'app.
Ad esempio, per impedire all'app di richiedere le autorizzazioni di Microsoft Graph, identificare le autorizzazioni di Microsoft Graph per l'app, i relativi ID di autorizzazione e se si tratta di ruoli dell'app (autorizzazioni dell'applicazione) o autorizzazioni delegate.
Rimuovere le autorizzazioni indesiderate di Microsoft Graph dall'app. L'esempio seguente chiama l'API Aggiorna applicazione per rimuovere le autorizzazioni di Microsoft Graph non necessarie da una registrazione dell'app identificata da un ID client campione
00001111-aaaa-2222-bbbb-3333cccc4444
. In questo esempio l'applicazione haAnalytics.Read
,User.Read
eApplication.Read.All
. Abbiamo bisogno di rimuovere l’autorizzazione delegata e l’autorizzazione dell'applicazioneAnalytics.Read
eApplication.Read.All
. Microsoft Graph viene identificato come oggetto ServicePrincipal con00000003-0000-0000-c000-000000000000
come suo univoco globaleAppId
e Microsoft Graph come suoDisplayName
eAppDisplayName
.PATCH https://graph.microsoft.com/v1.0/applications/00001111-aaaa-2222-bbbb-3333cccc4444 Content-Type: application/json { "requiredResourceAccess": [ { "resourceAppId": "00000003-0000-0000-c000-000000000000", "resourceAccess": [ { "id": "311a71cc-e848-46a1-bdf8-97ff7156d8e6 ", "type": "Scope" } ] } ] }
Interrompere la richiesta di autorizzazioni per il consenso dinamico
Quando è necessario rimuovere le autorizzazioni delegate dalla richiesta di consenso dinamico, specificare il parametro di ambito lasciando le autorizzazioni da rimuovere. La rimozione delle autorizzazioni garantisce che l'app non chiami l'API corrispondente.
Questo metodo funziona solo per le autorizzazioni delegate. Le autorizzazioni dell'applicazione vengono richieste e concesse da un amministratore tramite consenso statico e non sono incluse nel parametro di ambito durante la richiesta di autorizzazione OAuth 2.0.
Per interrompere la richiesta di autorizzazioni per il consenso dinamico:
- Uso di Microsoft Graph: rimuovere le autorizzazioni delegate indesiderate di Microsoft Graph dal parametro "ambiti". In questo esempio l'applicazione richiede tre autorizzazioni delegate:
Analytics.Read
,User.Read
eApplication.Read
. L'autorizzazione delegata,Analytics.Read
eApplication.Read
non sono più necessarie per questa app. Richiede soloUser.Read
.
Il codice della richiesta dovrebbe essere simile all'esempio seguente:
https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=00001111-aaaa-2222-bbbb-3333cccc4444&response_type=code&scope=User.Read
usando MSAL.js: rimuovere le autorizzazioni delegate di Microsoft Graph indesiderate in "ambiti".
const Request = { scopes: ["openid", "profile"], loginHint: "example@domain.net" }; myMSALObj.ssoSilent(Request) .then((response) => { // your logic }).catch(error => { console.error("Silent Error: " + error); if (error instanceof msal.InteractionRequiredAuthError) { myMSALObj.loginRedirect(loginRequest); } });
Revocare il consenso per le autorizzazioni rimosse per l'applicazione aziendale
Dopo aver rimosso le autorizzazioni dalla registrazione dell'app, un amministratore nel tenant deve anche revocare il consenso per proteggere i dati dell'organizzazione. Quando le autorizzazioni rimosse richiedono il consenso amministratore, le azioni necessarie variano in base al tipo di app:
- App tenant singolo e app multi-tenant nel tenant principale: per un'app a tenant singolo, contattare l'amministratore del tenant per revocare le autorizzazioni già concesse all'app. Per un'app multi-tenant, contattare gli amministratori di tutti i tenant in cui risiedono le istanze dell'applicazione per revocare le autorizzazioni concesse all'applicazione aziendale. La revoca del consenso alle autorizzazioni rimosse garantisce che l'applicazione non mantenga l'accesso tramite l'autorizzazione rimossa.
- App multi-tenant nei tenant dei clienti: assicurarsi di comunicare con i clienti per revocare le autorizzazioni tramite annunci, blog e altri canali di comunicazione.
Per le app a tenant singolo e multi-tenant, gli utenti non amministratori nei tenant in cui è abilitato il consenso dell'utente possono usare il portale App personali per revocare il consenso alle autorizzazioni concesse in precedenza. Per altre informazioni su come gli utenti finali possono revocare le autorizzazioni nel portale App personali, vedere Revocare il consenso dell'utente finale.
Sostituzione di un'autorizzazione
È consigliabile sostituire un'autorizzazione con privilegi elevati quando sarebbe sufficiente un'autorizzazione con privilegi inferiori.
La sostituzione delle autorizzazioni può anche ridurre il rischio di esporre dati sensibili o compromettere la sicurezza, migliorando così l'esperienza utente e l'attendibilità. Se l'app usa un'autorizzazione con privilegi elevati, ad esempio Directory.ReadWrite.All
, è consigliabile prendere in considerazione se un'autorizzazione con privilegi inferiori, ad esempio User.ReadWrite.All
, sarebbe sufficiente per la funzionalità dell'app.
Nota
Quando si modificano le autorizzazioni richieste di un'app per il consenso statico, il cliente dovrà riconfermarsi. L'atto di concedere nuovamente revoca tutte le autorizzazioni precedentemente concesse e concede il consenso alle nuove. Quando si modificano le autorizzazioni richieste di un'app per il consenso dinamico, le autorizzazioni concesse in precedenza non vengono revocate. Il cliente deve revocare manualmente le autorizzazioni.
Per sostituire un'autorizzazione, è necessario rimuovere l'autorizzazione non necessaria e aggiungerne una alternativa. I passaggi sono simili a quelli descritti nelle sezioni Interrompere la richiesta di autorizzazioni inutilizzate e Aggiungere autorizzazioni di questo articolo.