Condividi tramite


Le migliori pratiche di sviluppo per la gestione delle identità e degli accessi nel modello Zero Trust

Questo articolo consente agli sviluppatori di comprendere le procedure consigliate per la gestione delle identità e degli accessi per il ciclo di vita di sviluppo delle applicazioni. Si inizia a sviluppare applicazioni sicure e conformi a Zero Trust con la gestione delle identità e degli accessi (IAM).

Il framework di sicurezza Zero Trust usa i principi della verifica esplicita, dell'accesso con privilegi minimi e presupponendo la violazione. Proteggere utenti e dati consentendo scenari comuni, ad esempio l'accesso alle applicazioni dall'esterno del perimetro di rete. Ridurre la dipendenza dall'attendibilità implicita alle interazioni dietro un perimetro di rete sicuro che può diventare vulnerabile agli attacchi alla sicurezza.

Mentre l'implementazione zero trust continua a evolversi, il percorso di ogni organizzazione è unico. Spesso inizia con l'identità dell'utente e dell'applicazione. Ecco i criteri e i controlli che molte organizzazioni assegnano priorità durante l'implementazione di Zero Trust:

  • Implementare criteri di igiene e rotazione delle credenziali per app e servizi. Quando gli attori malintenzionati compromettono segreti come certificati o password, possono ottenere una profondità di accesso al sistema per acquisire i token sotto la forma dell'identità di un'app. Accedono quindi ai dati sensibili, si spostano lateralmente e stabiliscono la persistenza.
  • Implementare l'autenticazione avanzata. Gli amministratori IT configurano criteri che richiedono l'autenticazione a più fattori e i dispositivi FIDO2 senza password.
  • Limitare il consenso dell'utente alle app con autorizzazioni a basso rischio per le app di pubblicazione verificate. L'accesso ai dati nelle API come Microsoft Graph consente di creare applicazioni avanzate. Le organizzazioni e i clienti valutano le richieste di autorizzazione dell'app e la attendibilità prima di concedere il consenso. Gli amministratori IT stanno adottando il principio di verifica in modo esplicito richiedendo la verifica dell'autore. Applicano il principio dei privilegi minimi consentendo solo il consenso dell'utente per le autorizzazioni a basso rischio.
  • Bloccare protocolli e API legacy. Gli amministratori IT bloccano protocolli di autenticazione meno recenti, ad esempio "Autenticazione di base" e richiedono protocolli moderni come OpenID Connect e OAuth2.

Usare librerie di autenticazione attendibili basate su standard

Per aumentare la portabilità e la sicurezza delle applicazioni, sviluppare l'applicazione con standard e librerie noti e accettati. Le librerie di autenticazione attendibili basate su standard rimangono up-to-date in modo che le app siano reattive alle tecnologie e alle minacce più recenti. Le metodologie di sviluppo basate su standard offrono una panoramica degli standard supportati e dei relativi vantaggi.

Invece di usare protocolli con vulnerabilità note e documentazione completa, sviluppare l'applicazione con librerie come Microsoft Authentication Library (MSAL), Microsoft Identity Web Authentication Library e Azure Software Developer Kit (SDK). MSAL e Software Developer Kit (SDK) consentono di usare queste funzionalità senza dover scrivere codice aggiuntivo:

  • Accesso condizionale
  • Registrazione e gestione dei dispositivi
  • Autenticazione senza password e FIDO2

MSAL e Microsoft Graph sono le scelte migliori per lo sviluppo di applicazioni Microsoft Entra. Gli sviluppatori MSAL garantiscono la conformità ai protocolli. Microsoft ottimizza MSAL per l'efficienza quando si lavora direttamente con Microsoft Entra ID.

Registrate le vostre app in Microsoft Entra ID

Seguire le procedure consigliate per la sicurezza per le proprietà dell'applicazione in Microsoft Entra ID. La registrazione delle applicazioni in Microsoft Entra ID è cruciale, poiché una configurazione errata o una scarsa manutenzione possono causare tempi di inattività o compromettere la sicurezza dell'applicazione.

Le proprietà dell'applicazione che migliorano la sicurezza includono URI di reindirizzamento, token di accesso (mai usati con flussi impliciti), certificati e segreti, URI ID applicazione e proprietà dell'applicazione. Eseguire valutazioni periodiche di sicurezza e integrità simili alle valutazioni del modello di minaccia per la sicurezza per il codice.

Delegare la gestione delle identità e degli accessi

Sviluppare l'applicazione per usare i token per la verifica esplicita dell'identità e il controllo di accesso definiti e gestiti dai clienti. Microsoft sconsiglia di sviluppare sistemi di gestione di nome utente e password personalizzati.

Tieni le credenziali fuori dal codice in modo che gli amministratori IT possano ruotare le credenziali senza dover arrestare o ridistribuire l'applicazione. Usare un servizio come Azure Key Vault o identità gestite di Azure per delegare IAM.

Pianificare e progettare l'accesso con privilegi minimi

Un principio chiave di Zero Trust è l'accesso con privilegi minimi. Sviluppare e documentare sufficientemente l'applicazione in modo che i clienti possano configurare correttamente i criteri con privilegi minimi. Quando si supportano token e API, fornire ai clienti una buona documentazione delle risorse chiamate dall'applicazione.

Fornire sempre il privilegio minimo necessario per l'utente per eseguire attività specifiche. Ad esempio, usare ambiti granulari in Microsoft Graph.

Esplorare gli ambiti in Graph Explorer per chiamare un'API ed esaminare le autorizzazioni necessarie. Vengono visualizzati in ordine dal privilegio più basso al più alto. La scelta del privilegio più basso possibile garantisce che l'applicazione sia meno vulnerabile agli attacchi.

Per ridurre la vulnerabilità dell'applicazione e l'impatto di un eventuale violazione della sicurezza, nel caso si verifichi una compromissione, seguire le indicazioni riportate in Migliorare la sicurezza con il principio dei privilegi minimi.

Gestire in modo sicuro i token

Quando l'applicazione richiede token dall'ID Microsoft Entra, gestirli in modo sicuro:

  • Verifica che siano correttamente delineati per la tua applicazione.
  • Memorizzarli nella cache in modo appropriato.
  • Utilizzarli come previsto.
  • Gestire i problemi del token controllando le classi di errore e codificando le risposte appropriate.
  • Anziché leggere direttamente i token di accesso, visualizzare gli ambiti e i dettagli nelle risposte del token.

Supportare la valutazione dell'accesso continuo (CAE)

La valutazione dell'accesso continuo consente a Microsoft Graph di negare rapidamente l'accesso in risposta agli eventi di sicurezza. Gli esempi includono queste attività di amministratore tenant:

  • Eliminare o disabilitare un account utente.
  • Abilitare l'autenticazione a più fattori (MFA) per un utente.
  • Revocare in modo esplicito i token rilasciati da un utente.
  • Rilevare un utente in transizione verso uno stato di rischio elevato.

Quando si supporta CAE, i token che Microsoft Entra ID emette per chiamare Microsoft Graph sono validi per 24 ore invece dei 60-90 minuti standard. CAE aggiunge resilienza all'app abilitando MSAL per aggiornare in modo proattivo il token prima della scadenza del token.

Definire i ruoli dell'app per l'IT da assegnare a utenti e gruppi

I ruoli dell'app consentono di implementare il controllo degli accessi in base al ruolo nelle applicazioni. Esempi comuni di ruoli dell'app includono Amministratore, Lettore e Collaboratore. Il controllo degli accessi in base al ruolo consente all'applicazione di limitare le azioni sensibili a utenti o gruppi in base ai ruoli definiti.

Diventare un'entità di pubblicazione verificata

Come editore verificato, verificare l'identità con l'account Microsoft Partner Network e completare il processo di verifica stabilito. Per gli sviluppatori di app multi-tenant, diventare un publisher verificato aiuta a instaurare fiducia con gli amministratori IT nei tenant dei clienti.

Passaggi successivi