Share via


Esercitazione: Configurare Azure Active Directory B2C con Datawiza per fornire accesso ibrido sicuro

Questa esercitazione descrive come integrare Azure Active Directory B2C (Azure AD B2C) con Datawiza Access Proxy (DAP), che consente l'accesso Single Sign-On (SSO) e il controllo di accesso granulare di Azure AD B2C per proteggere le applicazioni legacy locali. Con questa soluzione, le aziende possono passare da legacy ad Azure AD B2C senza riscrivere le applicazioni.

Prerequisiti

Per iniziare, è necessario:

  • Sottoscrizione di Microsoft Entra
  • Un tenant B2C di Azure AD collegato alla sottoscrizione di Azure
  • Docker, una piattaforma aperta per lo sviluppo, la spedizione e l'esecuzione di applicazioni, è necessaria per eseguire DAB
    • Le applicazioni possono essere eseguite su piattaforme come macchina virtuale e bare metal
  • Applicazione locale da passare da un sistema di identità legacy ad Azure AD B2C
    • In questa esercitazione, DAB viene distribuito nello stesso server dell'applicazione
    • L'applicazione viene eseguita in localhost: 3001 e DAP proxies il traffico alle applicazioni tramite localhost: 9772
    • Il traffico dell'applicazione raggiunge prima DAB e quindi viene proxied all'applicazione

Descrizione dello scenario

L'integrazione di Datawiza include i componenti seguenti:

  • Azure AD B2C: server di autorizzazione per verificare le credenziali utente
    • Gli utenti autenticati accedono alle applicazioni locali usando un account locale archiviato nella directory di Azure AD B2C
  • Datawiza Access Proxy (DAP): servizio che passa l'identità alle applicazioni tramite intestazioni HTTP
  • Datawiza Cloud Management Console (DCMC): console di gestione per DAB. Le API DCMC e RESTful consentono di gestire le configurazioni daB e i criteri di controllo degli accessi

Il diagramma dell'architettura seguente illustra l'implementazione.

Diagramma dell'architettura di un'integrazione di Azure AD B2C con Datawiza per l'accesso sicuro alle applicazioni ibride.

  1. L'utente richiede l'accesso a un'applicazione locale. DAB proxy la richiesta all'applicazione.
  2. DAP controlla lo stato di autenticazione dell'utente. Senza token di sessione o un token non valido, l'utente passa ad Azure AD B2C per l'autenticazione.
  3. Azure AD B2C invia la richiesta utente all'endpoint specificato durante la registrazione DAP nel tenant di Azure AD B2C.
  4. Il DAP valuta i criteri di accesso e calcola i valori degli attributi nelle intestazioni HTTP inoltrate all'applicazione. Il dap potrebbe chiamare al provider di identità (IdP) per recuperare le informazioni per impostare i valori dell'intestazione. Il DAP imposta i valori di intestazione e invia la richiesta all'applicazione.
  5. L'utente viene autenticato con l'accesso all'applicazione.

Eseguire l'onboarding con Datawiza

Per integrare l'app locale legacy con Azure AD B2C, contattare Datawiza.

Configurare il tenant di Azure AD B2C

Passare a docs.datawiza.com a:

  1. Informazioni su come registrare l'applicazione Web in un tenant di Azure AD B2C e configurare un flusso utente di iscrizione e accesso. Per altre informazioni, vedere Azure AD B2C.

  2. Configurare un flusso utente nel portale di Azure.

Nota

Quando si configura DAB in DCM, è necessario il nome del tenant, il nome del flusso utente, l'ID client e il segreto client.

Creare un'applicazione in DCMC

  1. In DCMC creare un'applicazione e generare una coppia di chiavi di PROVISIONING_KEY e PROVISIONING_SECRET per questa applicazione. Vedere Datawiza Cloud Management Console.

  2. Configurare IdP con Azure AD B2C. Vedere, parte I: Configurazione di Azure AD B2C.

    Screenshot dei valori di configurazione IdP.

Eseguire DAB con un'applicazione basata su intestazione

È possibile usare Docker o Kubernetes per eseguire DAP. Usare l'immagine Docker per gli utenti per creare un'applicazione basata sull'intestazione di esempio.

Altre informazioni: Per configurare l'integrazione daP e SSO, vedere Distribuire proxy di accesso a Datawiza con l'app

Viene fornita un'immagine docker-compose.yml file docker di esempio. Accedere al Registro contenitori per scaricare immagini DAP e l'applicazione basata sull'intestazione.

  1. Distribuire il proxy di accesso a Datawiza con l'app.

    version: '3'
    
    services:
    datawiza-access-broker:
    image: registry.gitlab.com/datawiza/access-broker
    container_name: datawiza-access-broker
    restart: always
    ports:
      - "9772:9772"
    environment:
      PROVISIONING_KEY: #############################
      PROVISIONING_SECRET: #############################
    
    header-based-app:
    image: registry.gitlab.com/datawiza/header-based-app
    container_name: ab-demo-header-app
    restart: always
    environment:
      CONNECTOR: B2C
    ports:
      - "3001:3001"
    
  2. L'applicazione basata su intestazione ha l'accesso SSO abilitato con Azure AD B2C.

  3. Aprire un browser e immettere http://localhost:9772/.

  4. Viene visualizzata una pagina di accesso di Azure AD B2C.

Passare gli attributi utente all'applicazione basata sull'intestazione

DAB ottiene gli attributi utente da IdP e li passa all'applicazione con intestazione o cookie. Dopo aver configurato gli attributi utente, viene visualizzato il segno di spunta verde per gli attributi utente.

Screenshot degli attributi utente passati.

Altre informazioni: passare attributi utente , ad esempio indirizzo di posta elettronica, nome e cognome all'applicazione basata sull'intestazione.

Testare il flusso

  1. Passare all'URL dell'applicazione locale.
  2. DaP reindirizza alla pagina configurata nel flusso utente.
  3. Nell'elenco selezionare IdP.
  4. Al prompt immettere le credenziali. Se necessario, includere un token di autenticazione a più fattori Microsoft Entra.
  5. Si viene reindirizzati ad Azure AD B2C, che inoltra la richiesta dell'applicazione all'URI di reindirizzamento DAP.
  6. Il daB valuta i criteri, calcola le intestazioni e invia l'utente all'applicazione upstream.
  7. Viene visualizzata l'applicazione richiesta.

Passaggi successivi