Kurz konfigurace Azure Active Directory B2C se službou Strata
V tomto kurzu se naučíte integrovat Azure Active Directory B2C (Azure AD B2C) s nástrojem Strata Maverics Identity Orchestrator, který pomáhá chránit místní aplikace. Připojuje se k systémům identit, migruje uživatele a přihlašovací údaje, synchronizuje zásady a konfigurace a abstrahuje ověřování a správu relací. Použijte Strata k přechodu ze starší verze na Azure AD B2C bez přepisování aplikací.
Toto řešení má následující výhody:
-
Jednotné přihlašování zákazníka k místním hybridním aplikacím – Azure AD B2C podporuje jednotné přihlašování zákazníka s využitím nástroje Maverics Identity Orchestrator
- Uživatelé se přihlašují pomocí účtů hostovaných v Azure AD B2C nebo zprostředkovatel identity (IdP).
- Maverics dokazuje jednotné přihlašování k aplikacím, které jsou historicky zabezpečené staršími systémy identit, jako je Symantec SiteMinder.
- Rozšíření jednotného přihlašování podle standardů na aplikace – pomocí Azure AD B2C můžete spravovat přístup uživatelů a povolit jednotné přihlašování pomocí konektorů SAML (Security Assertion Markup Language) nebo OpenID Connect (OIDC) maverics Identity Orchestrator.
- Snadná konfigurace – Připojení konektorů SAML nebo OIDC nástroje Maverics Identity Orchestrator k Azure AD B2C
Požadavky
Abyste mohli začít, budete potřebovat:
Předplatné Azure
- Pokud ho nemáte, můžete získat bezplatný účet Azure.
- Tenant Azure AD B2C propojený s vaším předplatným Azure
- Instance Azure Key Vault k ukládání tajných kódů používaných nástrojem Maverics Identity Orchestrator. Připojte se k Azure AD B2C nebo k jiným poskytovatelům atributů, jako je adresář nebo databáze protokolu LDAP (Lightweight Directory Access Protocol).
- Instance nástroje Maverics Identity Orchestrator spuštěná na virtuálním počítači Azure nebo na místním serveru. Pokud chcete získat software a dokumentaci, přejděte na strata.io Contact Strata Identity.
- Místní aplikace pro přechod na Azure AD B2C
Popis scénáře
Integrace Nástroje Maverics Identity Orchestrator zahrnuje následující komponenty:
-
Azure AD B2C – autorizační server, který ověřuje přihlašovací údaje uživatele
- Ověření uživatelé přistupují k místním aplikacím pomocí místního účtu v adresáři Azure AD B2C.
- Externí zprostředkovatel sociální nebo podnikové identity (IdP): Poskytovatel OIDC, Facebook, Google nebo GitHub
- Strata Maverics Identity Orchestrator: Přihlašovací služba uživatele, která předává identitu aplikacím prostřednictvím hlaviček HTTP
Následující diagram architektury znázorňuje implementaci.
- Uživatel požádá o přístup k místně hostované aplikaci. Maverics Identity Orchestrator proxy odešle požadavek do aplikace.
- Orchestrator kontroluje stav ověřování uživatele. Pokud token relace neexistuje nebo je token neplatný, uživatel přejde k ověření do Azure AD B2C.
- Azure AD B2C odešle žádost o ověření nakonfigurované sociální zprostředkovateli identity.
- Zprostředkovatele identity vyzve uživatele k zadání přihlašovacích údajů. Může se vyžadovat vícefaktorové ověřování (MFA).
- Zprostředkovatel identity odešle odpověď na ověření do Azure AD B2C. Uživatel může vytvořit místní účet v adresáři Azure AD B2C.
- Azure AD B2C odešle požadavek uživatele do koncového bodu zadaného při registraci aplikace Orchestrator v tenantovi Azure AD B2C.
- Orchestrator vyhodnocuje zásady přístupu a hodnoty atributů pro hlavičky HTTP předávané aplikaci. Orchestrator může zavolat jiné zprostředkovatele atributů, aby načetl informace a nastavil hodnoty hlaviček. Orchestrator odešle požadavek do aplikace.
- Uživatel je ověřený a má přístup k aplikaci.
Maverics Identity Orchestrator
Pokud chcete získat software a dokumentaci, přejděte na strata.io Contact Strata Identity. Určete požadavky nástroje Orchestrator. Nainstalujte a nakonfigurujte.
Konfigurace tenanta Azure AD B2C
V následujících pokynech zdokumentujte:
- Název a identifikátor tenanta
- ID klienta
- Tajný klíč klienta
- Nakonfigurované deklarace identity
- Identifikátor URI pro přesměrování
- Registrace webové aplikace v Azure Active Directory B2C v tenantovi Azure AD B2C
- Udělte microsoft MS Graph API oprávnění k vašim aplikacím. Použít oprávnění:
offline_access
,openid
. - Přidejte identifikátor URI přesměrování, který odpovídá parametru
oauthRedirectURL
konfigurace konektoru Orchestrator Azure AD B2C, napříkladhttps://example.com/oidc-endpoint
. - Vytváření toků uživatelů a vlastních zásad v Azure Active Directory B2C
- Přidejte zprostředkovatele identity do tenanta Azure Active Directory B2C. Přihlaste se k uživateli pomocí místního účtu, sociální sítě nebo podniku.
- Definujte atributy, které se mají shromažďovat během registrace.
- Zadejte atributy, které se mají vrátit do aplikace pomocí instance nástroje Orchestrator.
Poznámka
Orchestrator využívá atributy z deklarací identity vrácené Azure AD B2C a může načítat atributy z připojených systémů identit, jako jsou adresáře a databáze LDAP. Tyto atributy jsou v hlavičkách PROTOKOLU HTTP a odesílají se do upstreamové místní aplikace.
Konfigurace nástroje Maverics Identity Orchestrator
Podle pokynů v následujících částech nakonfigurujte instanci nástroje Orchestrator.
Požadavky na server Maverics Identity Orchestrator
Instanci orchestratoru můžete spustit na libovolném serveru, ať už místně nebo ve veřejné cloudové infrastruktuře, pomocí poskytovatele, jako je Azure, AWS nebo GCP.
- Operační systém: REHL 7.7 nebo vyšší, CentOS 7+
- Disk: 10 GB (malý)
- Paměť: 16 GB
- Porty: 22 (SSH/SCP), 443, 80
- Přístup uživatele root: Pro úlohy instalace nebo správy
-
Maverics Identity Orchestrator: Spustí se jako uživatel
maverics
v rámcisystemd
- Výchozí přenos dat v síti: Ze serveru hostujícího nástroj Maverics Identity Orchestrator, který se může připojit k vašemu tenantovi Microsoft Entra
Instalace nástroje Maverics Identity Orchestrator
Získejte nejnovější balíček Maverics RPM.
Umístěte balíček do systému, který chcete nainstalovat Maverics. Pokud kopírujete na vzdáleného hostitele, použijte SSH scp.
Spusťte následující příkaz. Nahraďte názvem souboru
maverics.rpm
.sudo rpm -Uvf maverics.rpm
Ve výchozím nastavení je Maverics v adresáři
/usr/local/bin
.Maverics běží jako služba v rámci
systemd
.Pokud chcete ověřit, že je služba Maverics spuštěná, spusťte následující příkaz:
sudo service maverics status
Zobrazí se následující zpráva (nebo podobná).
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
Poznámka
Pokud se Maverics nepodaří spustit, spusťte následující příkaz:
journalctl --unit=maverics.service --reverse
Ve výstupu se zobrazí nejnovější položka protokolu.
- Výchozí
maverics.yaml
soubor se vytvoří v adresáři/etc/maverics
. - Nakonfigurujte Orchestrator tak, aby chránil aplikaci.
- Integrace s Azure AD B2C a ukládání.
- Načtěte tajné kódy z Azure Key Vault.
- Definujte umístění, ze kterého orchestrator čte svoji konfiguraci.
Zadání konfigurace pomocí proměnných prostředí
Nakonfigurujte instance orchestratoru pomocí proměnných prostředí.
MAVERICS_CONFIG
Tato proměnná prostředí informuje instanci orchestratoru, jaké konfigurační soubory YAML použít a kde je najít při spuštění nebo restartování. Nastavte proměnnou prostředí v /etc/maverics/maverics.env
souboru .
Vytvoření konfigurace TLS orchestratoru
Pole tls
v maverics.yaml
deklaruje konfigurace zabezpečení přenosové vrstvy, které používá instance nástroje Orchestrator. Konektory používají objekty TLS a server Orchestratoru.
Klíč maverics
je vyhrazený pro server Orchestratoru. K vložení objektu TLS do konektoru použijte jiné klíče.
tls:
maverics:
certFile: /etc/maverics/maverics.cert
keyFile: /etc/maverics/maverics.key
Konfigurace konektoru Azure AD B2C
Orchestrátory používají konektory k integraci se zprostředkovateli ověřování a atributů. Služba Orchestrators App Gateway používá konektor Azure AD B2C jako zprostředkovatele ověřování a atributů. Azure AD B2C používá k ověřování zprostředkovatele identity na sociálních sítích a pak orchestrátoru poskytuje atributy a předává je v deklaracích identity nastavených v hlavičkách PROTOKOLU HTTP.
Konfigurace konektoru odpovídá aplikaci zaregistrované v tenantovi Azure AD B2C.
- Z konfigurace aplikace zkopírujte DO tenanta ID klienta, tajný klíč klienta a identifikátor URI pro přesměrování.
- Zadejte název konektoru (příklad je
azureADB2C
). - Nastavte konektor
type
naazure
. - Poznamenejte si název konektoru. Tuto hodnotu použijete v dalších konfiguračních parametrech.
- Nastavte na
authType
oidc
. -
oauthClientID
Jako parametr nastavte ID klienta, které jste zkopírovali. -
oauthClientSecret
Jako parametr nastavte tajný klíč klienta, který jste zkopírovali. -
oauthRedirectURL
Pro parametr nastavte identifikátor URI přesměrování, který jste zkopírovali. - Konektor Azure AD B2C OIDC používá koncový bod OIDC ke zjišťování metadat, včetně adres URL a podpisových klíčů. Pro koncový bod tenanta použijte
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
Definování Azure AD B2C jako zprostředkovatele ověřování
Zprostředkovatel ověřování určuje ověřování pro uživatele, kteří během žádosti o prostředek aplikace nepředvádějí platnou relaci. Azure AD konfigurace tenanta B2C určuje, jak budou uživatelé vyzváni k zadání přihlašovacích údajů, zatímco se použijí další zásady ověřování. Příkladem je vyžadování druhého faktoru k dokončení ověřování a rozhodnutí, co se po ověření vrátí do služby Orchestrator App Gateway.
Hodnota musí odpovídat hodnotě authProvider
konektoru name
.
authProvider: azureADB2C
Ochrana místních aplikací pomocí služby Orchestrator App Gateway
Konfigurace služby Orchestrator App Gateway deklaruje, jak Azure AD B2C chrání vaši aplikaci a jak k aplikaci přistupují uživatelé.
- Zadejte název brány aplikace.
- Nastavte .
location
V příkladu se používá kořen/
aplikace . - Definujte chráněnou aplikaci v
upstream
nástroji . Použijte konvenci host:port:https://example.com:8080
. - Nastavte hodnoty chybových a neoprávněných stránek.
- Definujte názvy hlaviček HTTP a hodnoty atributů pro aplikaci, aby se navázalo ověřování a řízení. Názvy hlaviček obvykle odpovídají konfiguraci aplikace. Hodnoty atributů jsou oborem názvů názvového prostoru konektoru. V příkladu mají hodnoty vrácené z Azure AD B2C předponu s názvem
azureADB2C
konektoru . Přípona je název atributu s požadovanou hodnotou, napříkladgiven_name
. - Nastavte zásady. Jsou definovány tři akce:
allowUnauthenticated
,allowAnyAuthenticated
aallowIfAny
. Každá akce je přidružená k .resource
Pro tuto zásaduresource
se vyhodnocuje .
Poznámka
headers
a policies
k implementaci libovolné logiky použijte rozšíření služby JavaScript nebo GoLang.
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 jako poskytovatel tajných kódů
Zabezpečte tajné kódy, které orchestrator používá pro připojení k Azure AD B2C a dalším systémům identit. Maverics načítá tajné kódy v prostém textu z , ale v tomto kurzu jako poskytovatele tajných maverics.yaml
kódů použije Azure Key Vault.
Postupujte podle pokynů v tématu Rychlý start: Nastavení a načtení tajného kódu z Azure Key Vault pomocí Azure Portal. Přidejte tajné kódy do trezoru a poznamenejte SECRET NAME
si je pro každý tajný kód. Například, AzureADB2CClientSecret
.
Pokud chcete deklarovat hodnotu jako tajný kód v konfiguračním maverics.yaml
souboru, zabalte tajný kód do lomených závorek:
connectors:
- name: AzureADB2C
type: azure
oauthClientID: <AzureADB2CClientID>
oauthClientSecret: <AzureADB2CClientSecret>
Hodnota v lomených závorkách musí odpovídat SECRET NAME
dané hodnotě tajnému kódu ve vaší Key Vault Azure.
Pokud chcete načíst tajné kódy z Azure Key Vault, nastavte proměnnou MAVERICS_SECRET_PROVIDER
prostředí v souboru /etc/maverics/maverics.env
s přihlašovacími údaji, které se nacházejí v souboru azure-credentials.json. Použijte následující vzor:
MAVERICS_SECRET_PROVIDER='azurekeyvault://<KEYVAULT NAME>.vault.azure.net?clientID=<APPID>&clientSecret=<PASSWORD>&tenantID=<TENANT>'
Dokončení konfigurace
Následující informace ukazují, jak vypadá konfigurace nástroje 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
Testování toku
- Přejděte na adresu URL
https://example.com/sonar/dashboard
místní aplikace . - Orchestrator přesměruje na stránku toku uživatele.
- V seznamu vyberte zprostředkovatele identity.
- Pokud to zprostředkovatel identity vyžaduje, zadejte přihlašovací údaje, včetně tokenu MFA.
- Budete přesměrováni na Azure AD B2C, která předá požadavek aplikace na identifikátor URI přesměrování orchestratoru.
- Orchestrator vyhodnocuje zásady a počítá hlavičky.
- Zobrazí se požadovaná aplikace.