Eseguire la migrazione di utenti ad Azure AD B2C

La migrazione da un altro provider di identità ad Azure Active Directory B2C (Azure AD B2C) potrebbe richiedere anche la migrazione degli account utente esistenti. Vengono illustrati due metodi di migrazione, pre-migrazione e migrazione semplificata. Con un approccio, è necessario scrivere un'applicazione o uno script che usa microsoft API Graph per creare account utente in Azure AD B2C.

Guardare questo video per informazioni sulle strategie di migrazione degli utenti di Azure AD B2C e sui passaggi da prendere in considerazione.

Nota

Prima di avviare la migrazione, assicurarsi che la quota inutilizzata del tenant di Azure AD B2C possa ospitare tutti gli utenti che si prevede di eseguire la migrazione. Informazioni su come ottenere l'utilizzo del tenant. Se è necessario aumentare il limite di quota del tenant, contattare supporto tecnico Microsoft.

Pre migrazione

Nel flusso di migrazione preliminare, l'applicazione di migrazione esegue questa procedura per ogni account utente:

  1. Leggere l'account utente dal provider di identità precedente, incluse le credenziali correnti (nome utente e password).
  2. Creare un account corrispondente nella directory di Azure AD B2C con le credenziali correnti.

Usare il flusso di pre migrazione in una delle due situazioni seguenti:

  • È possibile accedere alle credenziali di testo non crittografato di un utente (nome utente e password).
  • Le credenziali vengono crittografate, ma è possibile decrittografarle.

Per informazioni sulla creazione a livello di codice degli account utente, vedere Gestire gli account utente di Azure AD B2C con Microsoft Graph.

Migrazione senza problemi

Usare il flusso di migrazione senza problemi se le password di testo non crittografato nel provider di identità precedente non sono accessibili. Ad esempio, nei casi seguenti:

  • La password viene archiviata in un formato crittografato unidirezionale, ad esempio con una funzione hash.
  • La password viene archiviata dal provider di identità legacy in modo che non sia possibile accedere. Ad esempio, quando il provider di identità convalida le credenziali chiamando un servizio Web.

Il flusso di migrazione semplice richiede comunque la pre migrazione degli account utente, ma quindi usa un criterio personalizzato per eseguire query su un'API REST (creata) per impostare la password di ogni utente al primo accesso.

Il flusso di migrazione semplice è costituito da due fasi: pre migrazione e impostare le credenziali.

Fase 1: Pre-migrazione

  1. L'applicazione di migrazione legge gli account utente dal provider di identità precedente.
  2. L'applicazione di migrazione crea account utente corrispondenti nella directory di Azure AD B2C, ma imposta password casuali generate.

Fase 2: Impostare le credenziali

Dopo aver completato la migrazione degli account, i criteri personalizzati e l'API REST eseguono le operazioni seguenti quando un utente accede:

  1. Leggere l'account utente di Azure AD B2C corrispondente all'indirizzo di posta elettronica immesso.
  2. Verificare se l'account viene contrassegnato per la migrazione valutando un attributo di estensione booleano.
    • Se l'attributo di estensione restituisce True, chiamare l'API REST per convalidare la password rispetto al provider di identità legacy.
      • Se l'API REST determina che la password non è corretta, restituisce un errore descrittivo all'utente.
      • Se l'API REST determina la password corretta, scrivere la password nell'account Azure AD B2C e modificare l'attributo di estensione booleano in False.
    • Se l'attributo dell'estensione booleana restituisce False, continuare il processo di accesso come normale.

Per visualizzare un esempio di criteri personalizzati e API REST, vedere l'esempio di migrazione utente semplice in GitHub.

Diagramma di flusso dell'approccio di migrazione semplice alla migrazione dell'utente

Sicurezza

L'approccio di migrazione semplice usa l'API REST personalizzata per convalidare le credenziali di un utente rispetto al provider di identità legacy.

È necessario proteggere l'API REST da attacchi di forza bruta. Un utente malintenzionato può inviare diverse password nella speranza di indovinare le credenziali di un utente. Per risolvere tali attacchi, interrompere la gestione delle richieste all'API REST quando il numero di tentativi di accesso supera una determinata soglia. Proteggere anche la comunicazione tra Azure AD B2C e l'API REST. Per informazioni su come proteggere le API RESTful per la produzione, vedere Proteggere i servizi RESTful.

Attributi utente

Non tutte le informazioni nel provider di identità legacy devono essere migrate nella directory B2C di Azure AD. Identificare il set appropriato di attributi utente da archiviare in Azure AD B2C prima della migrazione.

  • Archivio DO in Azure AD B2C:
    • Nome utente, password, indirizzi di posta elettronica, numeri di telefono, numeri di appartenenza/identificatori.
    • Marcatori di consenso per i criteri di privacy e i contratti di licenza dell'utente finale.
  • NON archiviare in Azure AD B2C:
    • Dati sensibili come numeri di carta di credito, numeri di sicurezza sociale (SSN), record medici o altri dati regolamentati da enti pubblici o di conformità del settore.
    • Preferenze di marketing o comunicazione, comportamenti utente e informazioni dettagliate.

Pulizia directory

Prima di avviare il processo di migrazione, sfruttare l'opportunità di pulire la directory.

  • Identificare il set di attributi utente da archiviare in Azure AD B2C e eseguire la migrazione solo degli attributi necessari. Se necessario, è possibile creare attributi personalizzati per archiviare altri dati su un utente.
  • Se si esegue la migrazione da un ambiente con più origini di autenticazione (ad esempio, ogni applicazione ha una propria directory utente), eseguire la migrazione a un account unificato in Azure AD B2C.
  • Se più applicazioni hanno nomi utente diversi, è possibile archiviarli tutti in un account utente di Azure AD B2C usando la raccolta identità. Informazioni sulla password, consentire all'utente di scegliere una e impostarla nella directory. Ad esempio, con la migrazione senza problemi, solo la password scelta deve essere archiviata nell'account Azure AD B2C.
  • Rimuovere gli account utente inutilizzati o non eseguire la migrazione di account non aggiornati.

Criteri password

Se gli account di cui si esegue la migrazione hanno una maggiore forza password rispetto alla forza della password complessa applicata da Azure AD B2C, è possibile disabilitare il requisito di password sicuro. Per altre informazioni, vedere Proprietà dei criteri password.

Passaggi successivi

Il repository in GitHub contiene un esempio di codice dell'API REST e un esempio di codice dell'API azure-ad-b2c/user-migration REST senza problemi:

Esempio di codice DELL'API REST e criteri personalizzati per la migrazione utente senza problemi