Condividi tramite


Proteggere le applicazioni con valutazione dell'accesso continuo

Questo articolo aiuta gli sviluppatori a migliorare la sicurezza delle applicazioni con la valutazione dell'accesso continuo. Si apprenderà come garantire il supporto zero trust nelle app che ricevono l'autorizzazione per accedere alle risorse quando acquisiscono token di accesso da Microsoft Entra ID.

Quando Microsoft Entra ID rilascia questi token di accesso, valuta completamente le condizioni per tale autorizzazione. Microsoft Entra ID esegue azioni di autorizzazione standard, ad esempio garantire il consenso, ogni volta che emette token per le richieste di token iniziali e quando aggiorna i token.

Microsoft Entra ID usa principalmente token JSON Web (JWT) per i token di accesso. Un'API di risorsa può decodificare, convalidare e interpretare il token JWT senza dover richiamare l'ID Di Microsoft Entra in ogni chiamata all'API della risorsa. Lo standard JWT definisce un'attestazione exp che identifica il momento di scadenza a partire dal quale non si deve accettare il token JWT per l'elaborazione. Per impostazione predefinita, i token di Microsoft Entra scadono 60–90 minuti dopo l'emissione. Assicurarsi che le applicazioni memorizzano nella cache e usino i token di accesso per il periodo durante il quale Microsoft Entra ID non valuta le condizioni di autorizzazione.

Valutare le condizioni al di fuori del rilascio del token

I ritardi possono verificarsi tra le modifiche delle condizioni utente e l'imposizione delle modifiche ai criteri quando Microsoft Entra ID rilascia i token. Un approccio ridotto alla durata dei token può ridurre le esperienze utente e l'affidabilità senza eliminare i rischi.

Una soluzione consiste nel valutare le condizioni per ogni chiamata a una risorsa protetta. Il modo più comune per implementare questa imposizione è l'introspezione dei token. L'introspezione del token non usa un formato JWT per il token. L'introspezione del token usa invece una stringa opaca che l'API della risorsa non può interpretare. L'API della risorsa invia il token al provider di identità in ogni chiamata. Il provider di identità verifica quindi eventuali condizioni e restituisce i dati che l'API della risorsa può usare per completare l'operazione. Questo processo può essere costoso perché aggiunge un'altra richiesta Web round trip a ogni chiamata API.

Per rimediare a questa spesa con la Valutazione dell'Accesso Continuo (CAE), un'API di risorse può monitorare gli eventi inviati da Microsoft Entra ID riguardanti i token che Microsoft Entra ID emette per l'API di risorse. Ad esempio, quando l'applicazione chiama l'API Microsoft Graph, Microsoft Graph può verificare se ha ricevuto eventi dall'ID Microsoft Entra sul token. Se le condizioni dell'autenticazione originale sono diverse e l'utente deve ripetere l'autenticazione, Microsoft Graph restituisce un errore all'app chiamante.

Microsoft Entra ID invia un evento alle risorse Microsoft abilitate per CAE quando si verifica uno di questi eventi:

  • Account utente disabilitato o eliminato
  • Password utente modificata o reimpostata
  • Autenticazione a più fattori utente abilitata
  • L'amministratore revoca esplicitamente tutti i token di aggiornamento per un utente
  • Microsoft Entra ID Protection rileva un rischio utente elevato

Inoltre, le risorse Microsoft abilitate per CAE possono applicare criteri di accesso condizionale basati sulla posizione.

Migliorare la sicurezza e la resilienza delle applicazioni con CAE

Il video seguente, App Più Sicure e Resilienti basate su Microsoft Entra Continuous Access Evaluation, illustra come costruire un'app client con supporto CAE.

La presentazione video descrive il funzionamento delle applicazioni con l'autenticazione moderna e i passaggi seguenti:

  1. L'app chiede l'identità Microsoft per i token
  2. L'app riceve un token di accesso
  3. Chiamate API dall'app/autorizzazione tramite JWT
  4. Introspezione
  5. Segnali ed eventi condivisi
  6. Valutazione degli eventi critici
  7. Valutazione dei criteri di accesso condizionale
  8. Chiamata Valutazione dell'accesso continuo dell'API
  9. Contestazione delle rivendicazioni

La valutazione dell'accesso continuo consente all'applicazione di accedere a una risorsa revocata al di fuori della durata del token di accesso. Ad esempio, un'applicazione ha un token valido per 75 minuti. Un utente ha uno stato ad alto rischio a causa di credenziali violate. CAE blocca l'accesso dell'app alla risorsa, richiedendo all'utente di ripetere l'autenticazione prima di continuare. Pertanto, CAE raggiunge il suo obiettivo principale per migliorare la sicurezza delle app.

Poiché l'accesso a una risorsa può essere revocato al di fuori della durata di un token, Microsoft Entra ID può emettere token per una durata più lunga. Per le app che supportano CAE, Microsoft Entra ID può emettere token validi per un massimo di 28 ore. Anche se questa durata del token più lunga non migliora la resilienza dell'app, riduce i costi dell'applicazione perché l'app deve richiedere token molto meno frequentemente.

CAE migliora la resilienza di un'app per i problemi che l'app potrebbe riscontrare durante l'acquisizione di un token di accesso da Microsoft Entra ID. Quando possibile, Microsoft Entra ID rilascia un tempo di aggiornamento come parte di una risposta che contiene un token di accesso. Microsoft Authentication Libraries (MSAL) usa questo tempo di aggiornamento per aggiornare in modo proattivo il token. L'ora di aggiornamento è una frazione (in genere metà) dell'ora di scadenza del token. Finché MSAL può aggiornare il token di accesso prima della scadenza del token, l'app è resiliente ai problemi di aggiornamento del token.

Ad esempio, quando un'app supporta CAE, Microsoft Entra ID rilascia un token che autorizza l'app a chiamare Microsoft Graph valido per 24 ore. Microsoft Entra ID indica quindi a MSAL di aggiornare in modo proattivo il token dopo 12 ore. Se MSAL tenta di aggiornare il token di accesso non riesce perché il token di accesso originale è ancora valido per altre 12 ore, l'app è più resiliente ai problemi quando acquisisce i token dall'ID Microsoft Entra.

Implementare la valutazione dell'accesso continuo nell'app

Come descritto in Come usare le API abilitate per la valutazione dell'accesso continuo nelle applicazioni, sia l'app che l'API delle risorse a cui accede devono essere abilitate per CAE. Tuttavia, la preparazione del codice per l'uso di una risorsa abilitata per CAE non impedisce l'uso di API non abilitate per CAE. Le applicazioni che non usano MSAL possono aggiungere supporto per richieste di attestazioni, richieste di attestazioni e funzionalità client per l'uso di CAE.

Passaggi successivi