Sviluppare una strategia di autorizzazioni per le applicazioni
Come si apprenderà a sviluppare usando i principi Zero Trust, fare riferimento a questo articolo dopo aver esaminato Acquisire l'autorizzazione per accedere alle risorse e Sviluppare la strategia di autorizzazione delegata. Definire l'approccio alle autorizzazioni dell'applicazione per la gestione delle credenziali quando si usa Microsoft Identity Platform per autenticare e autorizzare le applicazioni e gestire autorizzazioni e consenso.
Quando non è coinvolto alcun utente, non si ha un modello di autorizzazione efficace perché all'applicazione vengono sempre concesse le autorizzazioni preassegnate.
L'app dimostra che è l'app che richiede l'autorizzazione. L'applicazione dimostra la propria identità con uno dei metodi seguenti:
- un certificato, che è l'opzione migliore, o
- un segreto in un sofisticato sistema di gestione dei segreti, o
- quando si sviluppano i servizi in Azure, usare Identità gestite per le risorse di Azure, vedere la sezione Gestire le credenziali dell'applicazione seguente.
L'app richiede sempre il consenso dell'amministratore anticipato. L'applicazione richiede questa autorizzazione con l'ambito
.default
. Richiede le autorizzazioni assegnate dall'amministratore all'applicazione.Funzionalità trans utente. Per impostazione predefinita,
User.ReadWrite.All
consente all'applicazione di aggiornare il profilo di ogni utente. Come autorizzazione dell'applicazione, consente all'applicazione di leggere e aggiornare il profilo di ogni utente nel tenant.Le autorizzazioni concesse all'app sono sempre le autorizzazioni usate. A differenza di un'autorizzazione delegata, le autorizzazioni dell'applicazione non sono vincolate da ciò che può fare qualsiasi utente specifico.
Limitare le autorizzazioni dell'applicazione
Esistono tre modi per limitare un'applicazione a un accesso inferiore a quello globale.
Le app di Microsoft Teams hanno il consenso specifico delle risorse (RSC) che consente a un'applicazione di accedere a un team specifico anziché accedere a tutti i team dell'organizzazione. RSC è un'integrazione dell'API Microsoft Teams e Microsoft Graph che consente all'app di usare endpoint API e gestire risorse specifiche. Il modello di autorizzazioni consente ai proprietari di Teams e Chat di concedere all'applicazione il consenso per accedere e modificare i dati di Teams e Chat.
Gli amministratori di Microsoft Exchange possono creare criteri di applicazione di Exchange per limitare l'accesso delle app a cassette postali specifiche con uno script di PowerShell. Possono limitare una determinata applicazione a cassette postali specifiche con
Calendar.Read
oMail.Read
accesso. Ciò consente, ad esempio, di creare un'automazione in grado di leggere solo una cassetta postale o di inviare messaggi solo da una cassetta postale e non da tutti gli utenti dell'organizzazione.SharePoint dispone di Sites.Selected come ambito specifico per consentire autorizzazioni granulari per l'accesso a SharePoint con un'applicazione. Se si sceglie
Sites.Selected
per l'applicazione anziché uno degli altri risultati delle autorizzazioni, per impostazione predefinita, nell'applicazione non è possibile accedere ad alcuna raccolta siti di SharePoint. L'amministratore usa l'endpoint delle autorizzazioni del sito per concedere autorizzazioni lettura, scrittura o lettura e scrittura all'applicazione.
Gestire le credenziali delle applicazioni
L'igiene delle credenziali può garantire che l'applicazione si ripristini rapidamente da una potenziale violazione. Le procedure consigliate seguenti consentono di sviluppare applicazioni che eseguono il rilevamento e la correzione evitando tempi di inattività e interessando utenti legittimi. Queste raccomandazioni supportano il principio Zero Trust di presupporre la violazione per preparare l'utente a rispondere a un evento imprevisto di sicurezza.
Rimuovere tutti i segreti dal codice e dalla configurazione. Quando si usa la piattaforma Azure, inserire i segreti nell'insieme di credenziali delle chiavi e accedervi tramite identità gestite per le risorse di Azure. Rendere il codice resiliente per gestire le rotazioni dei segreti in caso di compromissione. Gli amministratori IT possono rimuovere e ruotare segreti e certificati senza arrestare l'applicazione o influire sugli utenti legittimi.
Usare i certificati anziché i segreti client, a meno che non sia presente un processo sicuro per gestire i segreti. Gli utenti malintenzionati sanno che i segreti client tendono a essere meno gestiti in modo sicuro e l'utilizzo dei segreti persi è difficile da tenere traccia. I certificati possono essere gestiti e revocati in modo migliore se compromessi. Quando si usano segreti, compilare o usare una distribuzione senza tocco sicura e un processo di rollover per tali segreti. Usare i segreti con un periodo di scadenza impostato (ad esempio, un anno, due anni) ed evitare di non scadere mai.
Eseguire regolarmente il rollover di certificati e segreti per creare resilienza nell'applicazione ed evitare interruzioni a causa di un rollover di emergenza.
Passaggi successivi
- Acquisire l'autorizzazione per accedere alle risorse consente di comprendere come garantire al meglio Zero Trust durante l'acquisizione delle autorizzazioni di accesso alle risorse per l'applicazione.
- Sviluppare una strategia di autorizzazioni delegate consente di implementare l'approccio migliore per gestire le autorizzazioni nell'applicazione e sviluppare usando i principi Zero Trust.
- Le procedure consigliate per l'autorizzazione consentono di implementare i modelli di autorizzazione, autorizzazione e consenso ottimali per le applicazioni.
- Richiedere autorizzazioni che richiedono il consenso amministrativo descrive l'autorizzazione e l'esperienza di consenso quando le autorizzazioni dell'applicazione richiedono il consenso amministrativo.
- Protezione API descrive le procedure consigliate per proteggere l'API tramite la registrazione, la definizione di autorizzazioni e il consenso e l'applicazione dell'accesso per raggiungere gli obiettivi zero trust.
- Fornire le credenziali di identità dell'applicazione quando non è presente alcun utente spiega perché le identità gestite per le risorse di Azure sono le procedure consigliate per le credenziali client per i servizi (applicazioni non utente) in Azure.