Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Importante
A partire dal 1° maggio 2025, Azure AD B2C non sarà più disponibile per l'acquisto per i nuovi clienti. Altre informazioni sono disponibili nelle domande frequenti.
Questa esercitazione descrive come integrare Azure Active Directory B2C (Azure AD B2C) con Strata Maverics Identity Orchestrator, che consente di proteggere le applicazioni locali. Si connette ai sistemi di gestione delle identità, esegue la migrazione di utenti e credenziali, sincronizza criteri e configurazioni e astrae l'autenticazione e la gestione delle sessioni. Usare Strata per eseguire la transizione da legacy a Azure AD B2C, senza riscrivere le applicazioni.
La soluzione offre i vantaggi seguenti:
-
Accesso Single Sign-On (SSO) del cliente alle app ibride locali - Azure AD B2C supporta l'accesso SSO del cliente con Maverics Identity Orchestrator
- Gli utenti accedono con account ospitati in Azure AD B2C oppure in un provider di identità (IdP)
- Maverics dimostra l'accesso SSO alle app storicamente protette da sistemi di identità legacy come Symantec SiteMinder
- Estendere gli standard SSO alle app - Utilizzare Azure AD B2C per gestire l'accesso degli utenti e abilitare SSO con i connettori Maverics Identity Orchestrator Security Assertion Markup Language (SAML) o OpenID Connect (OIDC)
- Configurazione semplice : connettere i connettori SAML o OIDC di Maverics Identity Orchestrator ad Azure AD B2C
Prerequisiti
Per iniziare, è necessario:
Una sottoscrizione di Azure
- Se non è disponibile, è possibile ottenere un account gratuito di Azure
- Un tenant di Azure AD B2C collegato all'abbonamento di Azure
- Istanza di Azure Key Vault per archiviare i segreti usati da Maverics Identity Orchestrator. Connettersi ad Azure AD B2C o ad altri provider di attributi, ad esempio una directory LDAP (Lightweight Directory Access Protocol) o un database.
- Istanza di Maverics Identity Orchestrator in esecuzione in una macchina virtuale di Azure o in un server locale. Per ottenere software e documentazione, passare a strata.io Contattare Strata Identity.
- Un'applicazione locale per la transizione ad Azure AD B2C
Descrizione dello scenario
L'integrazione di Maverics Identity Orchestrator include i componenti seguenti:
-
Azure AD B2C : server di autorizzazione che verifica le credenziali utente
- Gli utenti autenticati accedono alle app locali usando un account locale nella directory di Azure AD B2C
- Fornitore esterno di identità sociale o aziendale (IdP): provider OIDC (OpenID Connect), Facebook, Google o GitHub
- Strata Maverics Identity Orchestrator: servizio di accesso utente che passa l'identità alle app tramite intestazioni HTTP
Il diagramma dell'architettura seguente illustra l'implementazione.
- L'utente richiede l'accesso all'applicazione ospitata in locale. Maverics Identity Orchestrator invia in proxy la richiesta all'applicazione.
- Orchestrator controlla lo stato di autenticazione utente. Se non è presente alcun token di sessione o il token non è valido, l'utente passa ad Azure AD B2C per l'autenticazione
- Azure AD B2C invia la richiesta di autenticazione al provider di identità sociale configurato.
- Il provider di identità richiede all'utente di fornire le credenziali. Potrebbe essere necessaria l'autenticazione a più fattori (MFA).
- Il provider di identità invia la risposta di autenticazione ad Azure AD B2C. L'utente può creare un account locale nella directory di Azure AD B2C.
- Azure AD B2C invia la richiesta utente all'endpoint specificato durante la registrazione dell'app Orchestrator nel tenant di Azure AD B2C.
- Orchestrator valuta i criteri di accesso e i valori degli attributi per le intestazioni HTTP inoltrate all'app. Orchestrator potrebbe chiamare altri provider di attributi per recuperare informazioni per impostare i valori dell'intestazione. Orchestrator invia la richiesta all'app.
- L'utente è autenticato e ha accesso all'app.
Maverics Identity Orchestrator
Per ottenere software e documentazione, passare a strata.io Contattare Strata Identity. Determinare i prerequisiti di Orchestrator. Installare e configurare.
Configurare il tenant di Azure AD B2C
Durante le istruzioni seguenti, documenta:
- Nome e identificatore del tenant
- ID cliente
- Segreto del cliente
- Dichiarazioni configurate
- URI di reindirizzamento
- Registrare un'applicazione Web in Azure Active Directory B2C nel tenant di Azure AD B2C.
- Concedere le autorizzazioni dell'API Microsoft MS Graph alle applicazioni. Usare le autorizzazioni:
offline_access
,openid
. - Aggiungere un URI di reindirizzamento che corrisponda al parametro
oauthRedirectURL
della configurazione del connettore dell'Orchestrator Azure AD B2C, ad esempiohttps://example.com/oidc-endpoint
. - Creare flussi utente e criteri personalizzati in Azure Active Directory B2C.
- Aggiungere un provider di identità al tenant di Azure Active Directory B2C. Accedi al tuo account con un account locale, un account social o un account aziendale.
- Definire gli attributi da raccogliere durante l'iscrizione.
- Specificare gli attributi da restituire all'applicazione con l'istanza di Orchestrator.
Annotazioni
Orchestrator usa gli attributi delle attestazioni restituite da Azure AD B2C e può recuperare attributi da sistemi di identità connessi, ad esempio directory e database LDAP. Tali attributi si trovano in intestazioni HTTP e inviati all'applicazione locale upstream.
Configurazione di Maverics Identity Orchestrator
Usare le istruzioni nelle sezioni seguenti per configurare un'istanza di Orchestrator.
Requisiti del server Maverics Identity Orchestrator
È possibile eseguire l'istanza di Orchestrator in qualsiasi server, in locale o in un'infrastruttura cloud pubblica tramite provider, ad esempio Azure, AWS o GCP.
- Sistema operativo: RHEL 7.7 o versione successiva
- Disco: 10 GB (piccolo)
- Memoria: 16 GB
- Porte: 22 (SSH/SCP), 443, 80
- Accesso root: per le attività di installazione/amministrazione
-
Maverics Identity Orchestrator: viene eseguito come utente
maverics
insystemd
- Uscita di rete: dal server che ospita Maverics Identity Orchestrator, affinché possa raggiungere il tenant di Microsoft Entra
Installare Maverics Identity Orchestrator
Scarica il pacchetto RPM Maverics più recente.
Posizionare il pacchetto sul sistema su cui si desidera installare Maverics. Se si esegue la copia in un host remoto, usare SSH scp.
Esegui il comando seguente: Usare il proprio nome file per sostituire
maverics.rpm
.sudo rpm -Uvf maverics.rpm
Per impostazione predefinita, Maverics si trova nella
/usr/local/bin
directory .Maverics viene eseguito come servizio sotto
systemd
.Per verificare che il servizio Maverics sia in esecuzione, eseguire il comando seguente:
sudo service maverics status
Viene visualizzato il messaggio seguente (o simile).
Redirecting to /bin/systemctl status maverics.service
maverics.service - Maverics
Loaded: loaded (/etc/systemd/system/maverics.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2020-08-13 16:48:01 UTC; 24h ago
Main PID: 330772 (maverics)
Tasks: 5 (limit: 11389)
Memory: 14.0M
CGroup: /system.slice/maverics.service
└─330772 /usr/local/bin/maverics --config /etc/maverics/maverics.yaml
Annotazioni
Se l'avvio di Maverics non riesce, eseguire il comando seguente:
journalctl --unit=maverics.service --reverse
Nell'output viene visualizzata la voce di log più recente.
- Il file predefinito
maverics.yaml
viene creato nella/etc/maverics
directory . - Configurare il tuo Orchestrator per proteggere la applicazione.
- Eseguire l'integrazione con Azure AD B2C e archiviare.
- Recuperare segreti da Azure Key Vault.
- Definire la posizione da cui l'Orchestrator legge la configurazione.
Fornire la configurazione usando le variabili di ambiente
Configurare le istanze di Orchestrator con le variabili di ambiente.
MAVERICS_CONFIG
Questa variabile di ambiente indica all'istanza di Orchestrator quali file di configurazione YAML usare e dove trovarli durante l'avvio o il riavvio. Impostare la variabile di ambiente in /etc/maverics/maverics.env
.
Creare la configurazione TLS di Orchestrator
Il tls
campo in maverics.yaml
dichiara le configurazioni di sicurezza del livello di trasporto usate dall'istanza di Orchestrator. I connettori usano oggetti TLS e il server Orchestrator.
La maverics
chiave è riservata al server Orchestrator. Usare altre chiavi per inserire un oggetto TLS in un connettore.
tls:
maverics:
certFile: /etc/maverics/maverics.cert
keyFile: /etc/maverics/maverics.key
Configurare il connettore Azure AD B2C
Gli orchestratori usano i connettori per integrare con provider di autenticazione e attributi. Il gateway dell'app Orchestrators utilizza il connettore Azure AD B2C come fornitore di autenticazione e attributi. Azure AD B2C usa il provider di identità sociale per l'autenticazione e quindi fornisce attributi all'orchestratore, passandoli nelle attestazioni impostate nelle intestazioni HTTP.
La configurazione del connettore corrisponde all'app registrata nel tenant di Azure AD B2C.
- Dalla configurazione dell'applicazione, copia l'ID client, il segreto client e l'URI di reindirizzamento nel tuo tenant.
- Immettere un nome connettore ,ad esempio .
azureADB2C
- Impostare il connettore
type
suazure
. - Prendere nota del nome del connettore. Questo valore verrà usato in altri parametri di configurazione.
- Imposta
authType
suoidc
. - Per il
oauthClientID
parametro impostare l'ID client copiato. - Per il parametro
oauthClientSecret
, imposta il segreto client che hai copiato. - Per il
oauthRedirectURL
parametro impostare l'URI di reindirizzamento copiato. - Il connettore OIDC di Azure AD B2C usa l'endpoint OIDC per individuare i metadati, inclusi gli URL e le chiavi di firma. Per l'endpoint del tenant, utilizzare
oidcWellKnownURL
.
connectors:
name: azureADB2C
type: azure
oidcWellKnownURL: https://<tenant name>.b2clogin.com/<tenant name>.onmicrosoft.com/B2C_1_login/v2.0/.well-known/openid-configuration
oauthRedirectURL: https://example.com/oidc-endpoint
oauthClientID: <azureADB2CClientID>
oauthClientSecret: <azureADB2CClientSecret>
authType: oidc
Definire Azure AD B2C come provider di autenticazione
Un provider di autenticazione determina l'autenticazione per gli utenti che non presentano una sessione valida durante una richiesta di risorsa dell'app. La configurazione del tenant di Azure AD B2C determina il modo in cui gli utenti devono richiedere le credenziali, mentre applica altri criteri di autenticazione. Un esempio consiste nel richiedere un secondo fattore per completare l'autenticazione e decidere cosa viene restituito al gateway app di Orchestrator, dopo l'autenticazione.
Il valore per authProvider
deve corrispondere al valore del connettore name
.
authProvider: azureADB2C
Proteggere le app locali con un gateway delle app di Orchestrator
La configurazione di Orchestrator App Gateway dichiara in che modo Azure AD B2C protegge l'applicazione e il modo in cui gli utenti accedono all'app.
- Immettere il nome di un gateway dell'app.
- Impostare
location
. Nell'esempio viene usata la radice/
dell'app. - Definire l'applicazione protetta in
upstream
. Usare la convenzione host:port:https://example.com:8080
. - Impostare i valori per le pagine di errore e non autorizzate.
- Definire i nomi delle intestazioni HTTP e i valori degli attributi per l'applicazione per stabilire l'autenticazione e il controllo. I nomi delle intestazioni corrispondono in genere alle impostazioni dell'app. I valori degli attributi sono gestiti dal namespace dal connettore. Nell'esempio i valori restituiti da Azure AD B2C sono preceduti dal nome
azureADB2C
del connettore . Il suffisso è il nome dell'attributo con il valore richiesto, ad esempiogiven_name
. - Impostare le politiche. Vengono definite tre azioni:
allowUnauthenticated
,allowAnyAuthenticated
eallowIfAny
. Ogni azione è associata a un oggettoresource
. La politica viene valutata perresource
.
Annotazioni
headers
e policies
usare estensioni del servizio JavaScript o GoLang per implementare logica arbitraria.
appgateways:
- name: Sonar
location: /
upstream: https://example.com:8080
errorPage: https://example.com:8080/sonar/error
unauthorizedPage: https://example.com:8080/sonar/accessdenied
headers:
SM_USER: azureADB2C.sub
firstname: azureADB2C.given_name
lastname: azureADB2C.family_name
policies:
- resource: ~ \.(jpg|png|ico|svg)
allowUnauthenticated: true
- resource: /
allowAnyAuthenticated: true
- resource: /sonar/daily_deals
allowIfAny:
azureADB2C.customAttribute: Rewards Member
Azure Key Vault come gestore di segreti
Proteggere i segreti usati da Orchestrator per connettersi ad Azure AD B2C e ad altri sistemi di identità. Maverics carica i segreti in testo in chiaro da maverics.yaml
, tuttavia, in questa esercitazione usa Azure Key Vault come fornitore di segreti.
Seguire le istruzioni in Avvio rapido: Impostare e recuperare un segreto da Azure Key Vault usando il portale di Azure. Aggiungi i tuoi segreti all'archivio e prendi nota di SECRET NAME
per ogni segreto. Ad esempio: AzureADB2CClientSecret
.
Per dichiarare un valore come segreto in un maverics.yaml
file di configurazione, racchiudere il segreto con parentesi angolari.
connectors:
- name: AzureADB2C
type: azure
oauthClientID: <AzureADB2CClientID>
oauthClientSecret: <AzureADB2CClientSecret>
Il valore tra parentesi angolari deve corrispondere al SECRET NAME
assegnato a un segreto nel tuo Azure Key Vault.
Per caricare segreti da Azure Key Vault, impostare la variabile MAVERICS_SECRET_PROVIDER
di ambiente nel file /etc/maverics/maverics.env
, con le credenziali presenti nel file azure-credentials.json. Usare il modello seguente:
MAVERICS_SECRET_PROVIDER='azurekeyvault://<KEYVAULT NAME>.vault.azure.net?clientID=<APPID>&clientSecret=<PASSWORD>&tenantID=<TENANT>'
Completare la configurazione
Le informazioni seguenti illustrano come viene visualizzata la configurazione di Orchestrator.
version: 0.4.2
listenAddress: ":443"
tls:
maverics:
certFile: certs/maverics.crt
keyFile: certs/maverics.key
authProvider: azureADB2C
connectors:
- name: azureADB2C
type: azure
oidcWellKnownURL: https://<tenant name>.b2clogin.com/<tenant name>.onmicrosoft.com/B2C_1_login/v2.0/.well-known/openid-configuration
oauthRedirectURL: https://example.com/oidc-endpoint
oauthClientID: <azureADB2CClientID>
oauthClientSecret: <azureADB2CClientSecret>
authType: oidc
appgateways:
- name: Sonar
location: /
upstream: http://example.com:8080
errorPage: http://example.com:8080/sonar/accessdenied
unauthorizedPage: http://example.com:8080/sonar/accessdenied
headers:
SM_USER: azureADB2C.sub
firstname: azureADB2C.given_name
lastname: azureADB2C.family_name
policies:
- resource: ~ \.(jpg|png|ico|svg)
allowUnauthenticated: true
- resource: /
allowAnyAuthenticated: true
- resource: /sonar/daily_deals
allowIfAny:
azureADB2C.customAttribute: Rewards Member
Testare il flusso
- Passare all'URL dell'applicazione locale,
https://example.com/sonar/dashboard
. - L'Orchestrator reindirizza alla pagina del flusso utente.
- Nell'elenco, selezionare l'IdP.
- Immettere le credenziali, incluso un token MFA, se richiesto dall'Identity Provider.
- Si viene reindirizzati ad Azure AD B2C, che inoltra la richiesta dell'app all'URI di reindirizzamento di Orchestrator.
- L'orchestratore valuta le politiche e calcola le intestazioni.
- Viene visualizzata l'applicazione richiesta.