Configurazione di Azure AD B2C per la protezione dell'identità del cliente

Configurazione di Azure AD B2C per la protezione dell'identità del cliente

01/05/2025

Questo articolo tecnico ed educativo ha lo scopo di guidare analisti della sicurezza, amministratori IT e ingegneri di sistema nella configurazione e nell'uso di Azure AD B2C (Business-to-Consumer) per proteggere e gestire le identità dei clienti. In un mondo digitale in cui l'esperienza del cliente è fondamentale, offrire un processo di registrazione e accesso sicuro, intuitivo e personalizzabile è fondamentale. Azure AD B2C è una soluzione CIAM (Customer Identity and Access Management) che consente ai tuoi clienti di registrarsi e accedere alle tue applicazioni e API utilizzando le loro identità social (come Google, Facebook) o account locali [1].

Introduzione

L’identità del cliente è il fondamento della moderna esperienza digitale. Le applicazioni web e mobile necessitano di un sistema robusto per gestire la registrazione, il login e i profili di milioni di clienti, garantendo sicurezza, scalabilità e conformità alle normative sulla privacy. Lo sviluppo e la manutenzione di un sistema CIAM interno sono complessi, costosi e soggetti a errori di sicurezza. Soluzioni come Azure AD B2C eliminano questa complessità fornendo una piattaforma distribuita come servizio (PaaS) che gestisce tutti gli aspetti della gestione delle identità dei clienti [2].

Azure AD B2C estende le funzionalità di Azure Active Directory per soddisfare le esigenze specifiche delle applicazioni rivolte ai consumatori. Consente alle organizzazioni di personalizzare completamente l'esperienza dell'identità del cliente, dalle pagine di accesso e registrazione agli attributi raccolti. Inoltre, si integra con funzionalità di sicurezza avanzate come l'autenticazione a più fattori (MFA), l'accesso condizionale e la protezione dell'identità per proteggere gli account dei clienti dalle minacce comuni come attacchi di forza bruta e credenziali compromesse [3].

Questa guida pratica coprirà i prerequisiti, i concetti B2C, come creare e configurare un tenant B2C, registrare le applicazioni, configurare flussi utente personalizzabili (registrazione, accesso, modifica del profilo, reimpostazione della password), come integrarsi con le applicazioni e come testare e convalidare l'autenticazione. Verranno fornite istruzioni dettagliate, esempi pratici e spiegazioni concise in modo che il lettore possa implementare, testare e convalidare queste funzionalità. Inoltre, verranno discussi suggerimenti sulla sicurezza, controlli di conformità e migliori pratiche per garantire che le identità dei tuoi clienti siano protette e gestite in modo efficiente, autonomo, professionale e affidabile.

Perché Azure AD B2C è fondamentale per proteggere le identità dei clienti?

  • Esperienza cliente migliorata: fornisce opzioni di accesso social e personalizzazione completa dell'interfaccia utente, garantendo un'esperienza utente fluida e coerente.
  • Sicurezza solida: integra funzionalità di sicurezza di livello aziendale come MFA, accesso condizionale e protezione dell'identità per proteggere gli account dei clienti dagli attacchi.
  • Scalabilità e affidabilità: progettato per gestire milioni di utenti e miliardi di autenticazioni, garantendo disponibilità e prestazioni elevate.
  • Conformità: aiuta a soddisfare le normative sulla privacy dei dati come GDPR e LGPD attraverso il controllo sull'archiviazione e sull'elaborazione dei dati dei clienti.
  • Riduzione dei costi: elimina la necessità di creare e mantenere una complessa infrastruttura di identità interna.
  • Flessibilità: supporta un'ampia gamma di protocolli di autenticazione (OpenID Connect, OAuth 2.0, SAML) e può essere integrato praticamente con qualsiasi applicazione.

Prerequisiti

Per configurare Azure AD B2C, saranno necessari i seguenti elementi:

  1. Abbonamento Azure attivo: un abbonamento Azure per creare e gestire risorse.
  2. Accesso amministrativo: un account con il ruolo di "Amministratore globale" o "Amministratore utente" nella sottoscrizione di Azure.
  3. Tenant di Azure AD B2C: un nuovo tenant di Azure AD B2C, che è una directory separata dal tenant di Azure AD aziendale.

Passo dopo passo: configurazione di Azure AD B2C

Creiamo un tenant B2C, registriamo un'applicazione e configuriamo un flusso di utenti.

1. Creazione di un tenant di Azure AD B2C

Un tenant B2C è una directory separata che archivia le identità dei tuoi clienti.

  1. Apri il browser e accedi al portale di Azure: "https://portal.azure.com".
  2. Accedi con un account che dispone delle autorizzazioniè necessario.
  3. Nel campo di ricerca in alto, digita "Azure Active Directory B2C" e selezionalo dai risultati.
  4. Fare clic su "+ Crea un nuovo tenant Azure AD B2C".

  5. Crea un tenant B2C:

    • Tipo di tenant: "Tenant di Azure AD B2C".
    • Nome organizzazione: assegna un nome alla tua organizzazione (es: MyCompanyB2C).
    • Nome di dominio iniziale: scegli un nome di dominio univoco (es: mycompanyab2c.onmicrosoft.com).
    • Paese/regione: seleziona il tuo paese/regione.
    • Abbonamento: seleziona la tua sottoscrizione di Azure.
    • Gruppo di risorse: crea un nuovo gruppo di risorse (es: rg-b2c) o selezionane uno esistente.
  6. Fare clic su "Rivedi + crea" e quindi su Crea.

    • Spiegazione: la creazione del tenant B2C potrebbe richiedere alcuni minuti. Una volta creata, dovrai passare a questa nuova directory B2C per gestirla.

2. Registrazione di un'applicazione in Azure AD B2C

Ogni applicazione che utilizzerà Azure AD B2C per l'autenticazione deve essere registrata.

  1. Nel portale di Azure, assicurati di essere nel tenant Azure AD B2C (usa il selettore di directory nell'angolo in alto a destra).
  2. Nel riquadro di navigazione a sinistra, seleziona Registrazioni applicazioni in "Gestisci".
  3. Fare clic su "+ Nuova registrazione".

  4. Registra un'applicazione:

    • Nome: Dai un nome alla tua applicazione (es: WebApp-MinhaEmpresa).
    • Tipi di account supportati: seleziona "Account in qualsiasi directory organizzativa o directory del provider di identità (per autenticare gli utenti con i flussi utente)".
    • URI di reindirizzamento (opzionale): seleziona Web e inserisci l'URL a cui verrà inviato il token di autenticazione dopo l'accesso (ad esempio https://localhost:5001/signin-oidc per lo sviluppo locale o l'URL di produzione della tua applicazione).
    • Autorizzazioni: seleziona "Concedi il consenso dell'amministratore per le autorizzazioni openid e offline_access".
  5. Fare clic su Registra.

  6. Dopo la registrazione, annotare l'ID applicazione (client) e l'ID directory (tenant). Ti serviranno per configurare la tua applicazione.

3. Creazione dei flussi utente

I flussi utente sono esperienze di identità predefinite e personalizzabili per la registrazione, l'accesso, la modifica del profilo e la reimpostazione della password.

  1. Nel riquadro di navigazione sinistro del tenant di Azure AD B2C, seleziona Flussi utente in "Criteri".
  2. Fare clic su "+Nuovo flusso utente".

  3. Crea un flusso utente:

    • Tipo di flusso utente: seleziona "Registrati e accedi".
    • Versione: Consigliata.
    • Nome: Assegna un nome (es: B2C_1_signup_signin).
    • Fornitori di identità: seleziona "Email account locale" (e altri come "Google", "Facebook" se desideri integrare fornitori di social).
    • Attributi utente e attestazioni token: seleziona gli attributi che desideri raccogliere durante la registrazione (ad esempio "Indirizzo email", "Nome assegnato", "Cognome") e le attestazioni che verranno incluse nel token.
    • Multi-Factor Authentication (MFA): "Disabilitato" (per questo esempio, ma può essere abilitato per una maggiore sicurezza).
    • Accesso condizionale: Disabilitato (per questo esempio).
  4. Fare clic su Crea.

  5. Ripeti la procedura per creare altri flussi utente, come "Reimpostazione password" (ad esempio "B2C_1_password_reset") e "Modifica profilo" (ad esempio "B2C_1_profile_edit").

    • Spiegazione: i flussi utente sono la spina dorsale dell'esperienza di identità del cliente. Definiscono la sequenza di schermate e interazioni che un utente avrà durante il processo di autenticazione. È possibile personalizzare l'aspetto e il comportamento di questi flussi.

4. Personalizzazione dell'interfaccia utente (UI) dei flussi utente

Puoi personalizzare l'aspetto delle pagine di accesso e di registrazione in modo che corrispondano al marchio della tua applicazione.

  1. Nel riquadro di spostamento sinistro del tenant di Azure AD B2C, seleziona Flussi utente.
  2. Fare clic sul flusso utente creato (es: B2C_1_signup_signin).
  3. Nel riquadro di navigazione a sinistra, seleziona Layout di pagina.
  4. Puoi personalizzare il layout di ciascuna pagina (es: "Pagina di accesso unificata", "Pagina di registrazione dell'account locale") utilizzando CSS o HTML personalizzati per adattarli al tuo marchio.

    • Spiegazione: per una personalizzazione avanzata, è possibile ospitare i propri file HTML/CSS/JavaScript in un archivio BLOB di Azure e farvi riferimentoloro qui.

5. Integrazione di Azure AD B2C con un'applicazione

L'integrazione prevede la configurazione dell'applicazione per l'uso di Azure AD B2C per l'autenticazione. Il processo varia a seconda della piattaforma e del framework dell'applicazione. Utilizzeremo un esempio concettuale per un'applicazione web.

  1. Configurare l'applicazione per utilizzare OpenID Connect: l'applicazione dovrà utilizzare un client OpenID Connect per comunicare con Azure AD B2C.
  2. Parametri di configurazione: avrai bisogno dei seguenti parametri dal tuo tenant B2C e dall'applicazione registrata:

    • ID cliente (ID applicazione): l'ID dell'applicazione registrata (es: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).
    • ID tenant B2C (ID tenant): il nome del tenant B2C (ad esempio: mycompanyab2c.onmicrosoft.com).
    • Nome flusso utente (nome policy): il nome del flusso utente che desideri utilizzare per l'accesso (es: B2C_1_signup_signin).
    • URI di reindirizzamento: l'URL configurato nella registrazione dell'applicazione (es: https://localhost:5001/signin-oidc).
    • Endpoint metadati OpenID Connect: questo endpoint fornisce le informazioni di configurazione B2C. Il formato è in genere "https://.b2clogin.com/.onmicrosoft.com//v2.0/.well-known/openid-configuration".

    • Esempio di configurazione (pseudocodice per un'applicazione Web ASP.NET Core): acuto // Startup.cs o Program.cs services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme) .AddMicrosoftIdentityWebApp(opzioni => { Configuration.Bind("AzureAdB2C", opzioni); opzioni.Istanza = "https://minhaempresab2c.b2clogin.com"; options.Domain = "mycompanyab2c.onmicrosoft.com"; opzioni.ClientId = "<CLIENT_ID_DA_APLICICACAO>"; options.SignUpSignInPolicyId = "B2C_1_signup_signin"; opzioni.CallbackPath = "/signin-oidc"; options.SignedOutCallbackPath = "/signout-oidc"; opzioni.ClientSecret = "<CUSTOMER_SEGREDO_SE_USADO>"; // Solo per app Web che non sono SPA });

    • Spiegazione: la libreria Microsoft.Identity.Web semplifica l'integrazione di Azure AD B2C con le applicazioni .NET. Per altre piattaforme sono disponibili SDK e librerie equivalenti.

Convalida e test

È fondamentale testare il processo di autenticazione e l’esperienza dell’utente.

1. Testare il flusso degli utenti di registrazione e accesso

  1. Scenario: accedi all'applicazione Web configurata per utilizzare Azure AD B2C. Prova a registrare un nuovo utente e poi accedi con l'account appena creato.
  2. Azione prevista: dovresti essere reindirizzato alla pagina di registrazione/accesso di Azure AD B2C, essere in grado di creare un account, accedere ed essere reindirizzato correttamente all'applicazione.
  3. Verifica:
    • Nel portale di Azure, nel tenant B2C, vai a Utenti in "Gestisci". Il nuovo utente dovrebbe apparire nell'elenco.
    • Controllare i log di controllo di Azure AD B2C per confermare la registrazione e gli eventi di accesso.

2. Testare la reimpostazione della password

  1. Scenario: provare a reimpostare la password di un utente utilizzando il flusso utente di reimpostazione della password.
  2. Azione prevista: l'utente dovrebbe essere in grado di reimpostare la propria password e accedere con la nuova password.
  3. Verifica:
    • Controllare i log di controllo di Azure AD B2C per confermare l'evento di reimpostazione della password.

3. Controllo dei log di controllo in Azure AD B2C

  1. Nel portale di Azure, nel tenant B2C, passare a Azure Active Directory > Monitoraggio > Log di controllo.
  2. Filtra i registri per "Categoria" = "Directory principale" e "Attività" = "Accedi" o "Iscrizione".
  3. Controllare i dettagli dell'evento per confermare il successo delle operazioni di autenticazione.

Suggerimenti e best practice per la sicurezza

  • Abilita MFA: abilita sempre l'autenticazione a più fattori (MFA) per i flussi utente di accesso, in particolare per gli account con privilegi o accesso a dati sensibili. L'MFA è una delle difese più efficaci contro gli attacchi di compromissione delle credenziali.
  • Utilizza l'accesso condizionale: integra Azure AD B2C con l'accesso condizionale per applicare criteri di sicurezza basati sul rischio, come la richiesta di MFA per gli accessi da posizioni sconosciute o dispositivi non conformi [3].
  • Protezione dell'identità:Usa le funzionalità di protezione dell'identità di Azure AD B2C per rilevare e correggere i rischi legati all'identità, come credenziali trapelate o accessi anomali.
  • Personalizzazione sicura dell'interfaccia utente: quando si personalizzano le pagine di accesso/registrazione, assicurarsi che HTML/CSS/JavaScript personalizzati non introducano vulnerabilità di sicurezza (ad esempio XSS). Usare l'archiviazione BLOB sicura con CORS configurato correttamente.
  • Limita attributi utente: raccogli solo gli attributi utente strettamente necessari per la tua applicazione e la tua attività. Ciò riduce al minimo il rischio di esposizione dei dati e aiuta a garantire la conformità.
  • Monitoraggio dei log: monitora continuamente i log di controllo e di accesso di Azure AD B2C per rilevare attività sospette o tentativi di attacchi.
  • Rotazione del segreto client: se l'applicazione usa un segreto client, assicurati di ruotarlo regolarmente e di archiviarlo in modo sicuro (ad esempio Azure Key Vault).
  • Integrazione con provider social: quando integri provider di identità social come Google o Facebook, configurali correttamente e segui le linee guida di sicurezza di ciascun provider.

Risoluzione dei problemi comuni

  • Errore durante la creazione del tenant B2C:
    • Verifica di disporre delle autorizzazioni necessarie nella tua sottoscrizione di Azure.
    • Assicurati che il nome di dominio iniziale sia univoco e non in uso.
  • Errore di reindirizzamento dopo il login/registrazione:
    • Verifica che l'"URI di reindirizzamento" configurato nella registrazione dell'applicazione in Azure AD B2C corrisponda esattamente all'URL di ritorno dell'applicazione.
    • Assicurati che il protocollo (HTTP/HTTPS) e la porta siano corretti.
  • Il flusso utente non funziona o visualizza un errore:
    • Verificare che il flusso utente sia stato creato correttamente e che i provider di identità e gli attributi utente siano selezionati.
    • Testare il flusso utente direttamente dal portale di Azure (nella pagina del flusso utente fare clic su "Esegui flusso utente") per isolare il problema.
    • Controlla i log di controllo per i messaggi di errore.
  • La personalizzazione dell'interfaccia utente non viene applicata:
    • Verificare che gli URL dei file CSS/HTML personalizzati siano corretti e accessibili pubblicamente (se ospitati nell'archivio BLOB).
    • Assicurati che CORS sia configurato correttamente nell'archivio BLOB per consentire l'accesso dal dominio "b2clogin.com".
    • Svuota la cache del browser per assicurarti che vengano caricate le ultime modifiche.
  • Problemi di integrazione dell'applicazione:
    • Verifica che "ID cliente", "ID tenant B2C" e "Nome flusso utente" siano configurati correttamente nella tua applicazione.
    • Assicurati che le librerie di autenticazione nella tua applicazione siano aggiornate.
    • Controlla i log dell'applicazione per i messaggi di errore di autenticazione.

Conclusione

Azure AD B2C è una soluzione potente e flessibile per la gestione e la protezione delle identità dei tuoi clienti, offrendo un'esperienza utente migliorata e una solida sicurezza. Delegando la complessità della gestione delle identità a Microsoft, le organizzazioni possono concentrarsi sul proprio core business, garantendo che i dati dei clienti siano sicuri e conformi. Un'attenta implementazione dei flussi utente, l'integrazione con le procedure consigliate di sicurezza e il monitoraggio continuo sono fondamentali per massimizzare i vantaggi di Azure AD B2C. Con questa guida pratica, i professionisti della sicurezza e gli amministratori IT saranno ben attrezzati per configurare, convalidare e gestire Azure AD B2C, proteggendo le identità dei loro clienti e rafforzando il livello di sicurezza generale delle loro applicazioni.


Riferimenti:

[1]Microsoft Learn. Documentazione B2C di Azure Active Directory. Disponibile all'indirizzo: https://learn.microsoft.com/pt-br/azure/active-directory-b2c/ [2]Microsoft Learn. Best practice per Azure AD B2C. Disponibile all'indirizzo: https://learn.microsoft.com/pt-br/azure/active-directory-b2c/best-practices [3]Microsoft Learn. Protezione dell'identità e accesso condizionale in Azure AD B2C. Disponibile all'indirizzo: https://learn.microsoft.com/pt-br/azure/active-directory-b2c/conditional-access-identity-protection-overview [4]Microsoft Learn. Registra un'applicazione Web in Azure Active Directory B2C. Disponibile all'indirizzo: https://learn.microsoft.com/pt-br/azure/active-directory-b2c/tutorial-register-applications [5]Microsoft Learn. Crea flussi utente e criteri personalizzati: Azure Active Directory B2C. Disponibile all'indirizzo: https://learn.microsoft.com/pt-br/azure/active-directory-b2c/tutorial-create-user-flows [6]Microsoft Learn. Configurare l'autenticazione in un'applicazione Web di esempio utilizzando Azure AD B2C. Disponibile all'indirizzo: https://learn.microsoft.com/pt-br/azure/active-directory-b2c/configure-authentication-sample-web-app [7]Microsoft Learn. Esamina i rischi con Identity Protection in Azure AD B2C. Disponibile all'indirizzo: https://learn.microsoft.com/pt-br/azure/active-directory-b2c/identity-protection-investigate-risk