Konfigurace Azure AD B2C pro ochranu identity zákazníka
05.01.2025
Tento technický a vzdělávací článek má za cíl vést bezpečnostní analytiky, IT administrátory a systémové inženýry při konfiguraci a používání Azure AD B2C (Business-to-Consumer) k ochraně a správě identit zákazníků. V digitálním světě, kde je zákaznická zkušenost prvořadá, je zásadní nabídnout bezpečný, intuitivní a přizpůsobitelný proces registrace a přihlášení. Azure AD B2C je řešení Customer Identity and Access Management (CIAM), které umožňuje vašim zákazníkům zaregistrovat se a přihlásit se k vašim aplikacím a rozhraním API pomocí jejich sociálních identit (například Google, Facebook) nebo místních účtů [1].
Úvod
Identita zákazníka je základem moderní digitální zkušenosti. Webové a mobilní aplikace potřebují robustní systém pro správu registrace, přihlašování a profilů milionů zákazníků, zajišťující bezpečnost, škálovatelnost a soulad s předpisy na ochranu soukromí. Vývoj a údržba interního systému CIAM je složitý, drahý a náchylný k bezpečnostním chybám. Řešení jako Azure AD B2C odstraňují tuto složitost tím, že poskytují platformu jako službu (PaaS), která zpracovává všechny aspekty správy zákaznických identit [2].
Azure AD B2C rozšiřuje možnosti Azure Active Directory, aby vyhovovaly specifickým potřebám aplikací pro spotřebitele. Umožňuje organizacím zcela přizpůsobit zákaznickou identitu, od přihlašovacích a registračních stránek až po shromažďované atributy. Navíc se integruje s pokročilými bezpečnostními funkcemi, jako je vícefaktorová autentizace (MFA), podmíněný přístup a ochrana identity, které chrání zákaznické účty před běžnými hrozbami, jako jsou útoky hrubou silou a kompromitované přihlašovací údaje [3].
Tato praktická příručka pokryje předpoklady, koncepty B2C, jak vytvořit a nakonfigurovat tenanta B2C, zaregistrovat aplikace, nakonfigurovat přizpůsobitelné uživatelské toky (registrace, přihlášení, úprava profilu, reset hesla), jak se integrovat s aplikacemi a jak testovat a ověřovat ověřování. Budou poskytnuty podrobné pokyny, praktické příklady a stručná vysvětlení, aby čtenář mohl tyto funkce implementovat, testovat a ověřovat. Kromě toho budou probrány bezpečnostní tipy, kontroly souladu a osvědčené postupy, které zajistí, že identity vašich zákazníků budou chráněny a spravovány efektivně, autonomně, profesionálně a spolehlivě.
Proč je Azure AD B2C zásadní pro ochranu identit zákazníků?
- Vylepšená zákaznická zkušenost: Poskytuje možnosti sociálního přihlášení a úplné přizpůsobení uživatelského rozhraní, což má za následek plynulé a konzistentní uživatelské prostředí.
- Robust Security: Integruje bezpečnostní funkce na podnikové úrovni, jako je MFA, podmíněný přístup a ochrana identity, aby chránila účty zákazníků před útoky.
- Škálovatelnost a spolehlivost: Navrženo tak, aby zvládlo miliony uživatelů a miliardy ověření a zajistilo vysokou dostupnost a výkon.
- Soulad: Pomáhá splnit nařízení o ochraně osobních údajů, jako je GDPR a LGPD, prostřednictvím kontroly nad ukládáním a zpracováním zákaznických dat.
- Snížení nákladů: Eliminuje potřebu budovat a udržovat komplexní infrastrukturu interní identity.
- Flexibilita: Podporuje širokou škálu ověřovacích protokolů (OpenID Connect, OAuth 2.0, SAML) a lze ji integrovat prakticky s jakoukoli aplikací.
Předpoklady
Ke konfiguraci Azure AD B2C budete potřebovat následující položky:
- Aktivní předplatné Azure: Předplatné Azure k vytváření a správě prostředků.
- Přístup pro správce: Účet s rolí „Globální správce“ nebo „Správce uživatelů“ v předplatném Azure.
- Azure AD B2C Tenant: Nový tenant Azure AD B2C, což je adresář oddělený od vašeho firemního tenanta Azure AD.
Krok za krokem: Konfigurace Azure AD B2C
Pojďme vytvořit B2C tenanta, zaregistrovat aplikaci a nakonfigurovat tok uživatelů.
1. Vytvoření Azure AD B2C tenanta
B2C tenant je samostatný adresář, ve kterém jsou uloženy identity vašich zákazníků.
- Otevřete prohlížeč a přejděte na Azure Portal:
https://portal.azure.com. - Přihlaste se pomocí účtu, který má oprávněníje nutné.
- Do horního vyhledávacího pole zadejte „Azure Active Directory B2C“ a vyberte jej z výsledků.
-
Klikněte na
+ Vytvořit nového tenanta Azure AD B2C. -
Vytvořte B2C tenanta:
- Typ nájemce: „Azure AD B2C Tenant“.
- Název organizace: Zadejte název vaší organizace (např.:
MyCompanyB2C). - Počáteční název domény: Vyberte jedinečný název domény (např.:
mycompanyab2c.onmicrosoft.com). - Country/Region: Vyberte svou zemi/region.
- Předplatné: Vyberte své předplatné Azure.
- Skupina prostředků: Vytvořte novou skupinu prostředků (např.
rg-b2c) nebo vyberte existující.
-
Klikněte na „Zkontrolovat + vytvořit“ a poté na Vytvořit.
- Vysvětlení: Vytvoření B2C tenanta může trvat několik minut. Po vytvoření se budete muset přepnout do tohoto nového adresáře B2C, abyste jej mohli spravovat.
2. Registrace aplikace v Azure AD B2C
Každá aplikace, která bude k ověřování používat Azure AD B2C, se musí zaregistrovat.
- V Azure Portal se ujistěte, že jste na tenantovi Azure AD B2C (použijte selektor adresáře v pravém horním rohu).
- V levém navigačním panelu vyberte Registrace aplikací pod
Spravovat. -
Klikněte na
+ Nová registrace. -
Zaregistrujte si přihlášku:
- Název: Zadejte název aplikace (např.:
WebApp-MinhaEmpresa). - Podporované typy účtů: Vyberte
Účty v libovolném organizačním adresáři nebo adresáři poskytovatele identity (pro ověřování uživatelů s uživatelskými toky). - URI přesměrování (volitelné): Vyberte
Weba zadejte adresu URL, kam bude po přihlášení odeslán ověřovací token (např.https://localhost:5001/signin-oidcpro místní vývoj nebo produkční adresu URL vaší aplikace). - Oprávnění: Zaškrtněte
Udělit souhlas správce pro oprávnění openid a offline_access.
- Název: Zadejte název aplikace (např.:
-
Klikněte na Registrovat.
-
Po registraci si poznamenejte ID aplikace (klient) a ID adresáře (nájemce). Budete je potřebovat ke konfiguraci aplikace.
3. Vytváření uživatelských toků
Uživatelské toky jsou předdefinované, přizpůsobitelné identity pro registraci, přihlášení, úpravu profilu a resetování hesla.
- V levém navigačním podokně vašeho tenanta Azure AD B2C vyberte Toky uživatelů v části Zásady.
-
Klikněte na
+Nový uživatelský tok. -
Vytvořte uživatelský postup:
- Typ toku uživatele: Vyberte možnost „Registrovat a přihlásit se“.
- Verze: „Doporučeno“.
- Jméno: Zadejte jméno (např.
B2C_1_signup_signin). - Poskytovatelé identity: Vyberte
E-mail místního účtu(a další, jakoGoogle,Facebook, pokud chcete integrovat poskytovatele sociálních služeb). - Atributy uživatele a nároky na token: Vyberte atributy, které chcete shromažďovat během registrace (např.
E-mailová adresa,Křestní jméno,Příjmení) a nároky, které budou zahrnuty do tokenu. - Multi-Factor Authentication (MFA):
Zakázáno(pro tento příklad, ale může být povoleno pro dodatečné zabezpečení). - Podmíněný přístup:
Zakázáno(pro tento příklad).
-
Klikněte na Vytvořit.
-
Opakujte proces pro vytvoření dalších uživatelských postupů, jako je
Resetování hesla(např.B2C_1_password_reset) aÚprava profilu(např.B2C_1_profile_edit).- Vysvětlení: Toky uživatelů jsou páteří zákaznické identity. Definují sekvenci obrazovek a interakcí, které bude mít uživatel během procesu ověřování. Vzhled a chování těchto toků můžete přizpůsobit.
4. Přizpůsobení uživatelského rozhraní (UI) uživatelských toků
Vzhled přihlašovací a registrační stránky můžete přizpůsobit tak, aby odpovídal značce vaší aplikace.
- V levém navigačním podokně vašeho tenanta Azure AD B2C vyberte User Flows.
- Klikněte na uživatelský tok, který jste vytvořili (např.
B2C_1_signup_signin). - V levém navigačním panelu vyberte Rozvržení stránky.
-
Můžete upravit rozvržení každé stránky (např.:
Sjednocená přihlašovací stránka,Stránka pro přihlášení k místnímu účtu) pomocí vlastního CSS nebo HTML, aby odpovídalo vaší značce.- Vysvětlení: Pro pokročilé přizpůsobení můžete hostovat své vlastní soubory HTML/CSS/JavaScript na úložišti objektů blob Azure a odkazovat na nějsou tady.
5. Integrace Azure AD B2C s aplikací
Integrace zahrnuje konfiguraci vaší aplikace pro použití Azure AD B2C k ověřování. Proces se liší v závislosti na platformě a rámci vaší aplikace. Použijeme koncepční příklad pro webovou aplikaci.
- Nakonfigurujte aplikaci tak, aby používala OpenID Connect: Vaše aplikace bude muset ke komunikaci s Azure AD B2C používat klienta OpenID Connect.
-
Konfigurační parametry: Budete potřebovat následující parametry od svého B2C tenanta a registrované aplikace:
- ID klienta (ID aplikace): ID vaší registrované aplikace (např.: „xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx“).
- ID tenanta B2C (ID tenanta): Jméno vašeho tenanta B2C (např.
mycompanyab2c.onmicrosoft.com). - Název uživatelského toku (název zásady): Název uživatelského toku, který chcete použít pro přihlášení (např.
B2C_1_signup_signin). - URI přesměrování: Adresa URL, kterou jste nakonfigurovali při registraci aplikace (např.:
https://localhost:5001/signin-oidc). -
Koncový bod metadat OpenID Connect: Tento koncový bod poskytuje informace o konfiguraci B2C. Formát je obvykle
https://<název_nájemce_b2c>.b2clogin.com/<název_nájemce_b2c>.onmicrosoft.com/<název_uživatelského_toku>/v2.0/.well-known/openid-configuration. -
Příklad konfigurace (pseudokód pro webovou aplikaci ASP.NET Core):
Ostrý // Startup.cs nebo Program.cs services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme) .AddMicrosoftIdentityWebApp(volby => { Configuration.Bind("AzureAdB2C", možnosti); options.Instance = "https://minhaempresab2c.b2clogin.com"; options.Domain = "mycompanyab2c.onmicrosoft.com"; options.ClientId = "<CLIENT_ID_DA_APLICACAO>"; options.SignUpSignInPolicyId = "B2C_1_signup_signin"; options.CallbackPath = "/signin-oidc"; options.SignedOutCallbackPath = "/signout-oidc"; options.ClientSecret = "<CUSTOMER_SEGREDO_SE_USADO>"; // Pouze pro webové aplikace, které nejsou SPA }); -
Vysvětlení: Knihovna
Microsoft.Identity.Webzjednodušuje integraci Azure AD B2C s aplikacemi .NET. Pro jiné platformy existují ekvivalentní sady SDK a knihovny.
Validace a testování
Je důležité otestovat proces ověřování a uživatelskou zkušenost.
1. Testování uživatelského toku registrace a přihlášení
- Scénář: Přístup k webové aplikaci nakonfigurované pro použití Azure AD B2C. Zkuste zaregistrovat nového uživatele a poté se přihlaste pomocí nově vytvořeného účtu.
- Očekávaná akce: Měli byste být přesměrováni na registrační/přihlašovací stránku Azure AD B2C, měli byste mít možnost vytvořit si účet, přihlásit se a být úspěšně přesměrováni zpět do aplikace.
- Ověření:
- V Azure Portal ve vašem B2C tenantovi přejděte na Uživatelé v části „Spravovat“. Nový uživatel by se měl objevit v seznamu.
- Zkontrolujte protokoly auditu Azure AD B2C a potvrďte události registrace a přihlášení.
2. Testování resetování hesla
- Scénář: Pokuste se resetovat heslo uživatele pomocí uživatelského postupu pro resetování hesla.
- Očekávaná akce: Uživatel by měl mít možnost resetovat své heslo a přihlásit se pomocí nového hesla.
- Ověření:
- Zkontrolujte protokoly auditu Azure AD B2C a potvrďte událost resetování hesla.
3. Kontrola protokolů auditu v Azure AD B2C
- Na Azure Portal ve svém tenantovi B2C přejděte na Azure Active Directory > Monitorování > Protokoly auditu.
- Filtrujte protokoly podle
Category=Core DirectoryaActivity=Sign-inneboSign-up. - Zkontrolujte podrobnosti události, abyste potvrdili úspěšnost autentizačních operací.
Bezpečnostní tipy a doporučené postupy
- Povolit MFA: Vždy povolte vícefaktorové ověřování (MFA) pro toky přihlašování uživatelů, zejména pro účty s oprávněními nebo přístupem k citlivým datům. MFA je jednou z nejúčinnějších obran proti útokům na kompromitaci pověření.
- Používejte podmíněný přístup: Integrujte Azure AD B2C s podmíněným přístupem k vynucení zásad zabezpečení založených na rizicích, jako je vyžadování MFA pro přihlášení z neznámých umístění nebo nevyhovujících zařízení [3].
- Ochrana identity:Pomocí funkcí Azure AD B2C Identity Protection zjistěte a napravte rizika související s identitou, jako jsou uniklé přihlašovací údaje nebo anomální přihlášení.
- Bezpečné přizpůsobení uživatelského rozhraní: Při přizpůsobování přihlašovacích/registračních stránek zajistěte, aby vlastní HTML/CSS/JavaScript nepředstavovalo chyby zabezpečení (např. XSS). Použijte zabezpečené úložiště objektů BLOB se správně nakonfigurovaným CORS.
- Omezit uživatelské atributy: Shromažďujte pouze ty uživatelské atributy, které jsou nezbytně nutné pro vaši aplikaci a podnikání. To minimalizuje riziko vystavení dat a pomáhá s dodržováním předpisů.
- Monitorování protokolů: Průběžně sledujte protokoly auditu Azure AD B2C a protokoly přihlášení, abyste zjistili podezřelou aktivitu nebo pokusy o útok.
- Rotace tajného klíče klienta: Pokud vaše aplikace používá tajný klíč klienta, nezapomeňte jej pravidelně střídat a bezpečně ukládat (např. Azure Key Vault).
- Integrace s poskytovateli sociálních sítí: Při integraci poskytovatelů sociální identity, jako je Google nebo Facebook, je správně nakonfigurujte a dodržujte bezpečnostní pokyny každého poskytovatele.
Běžné odstraňování problémů
- Chyba při vytváření B2C tenanta:
- Zkontrolujte, zda máte ve svém předplatném Azure potřebná oprávnění.
- Ujistěte se, že počáteční název domény je jedinečný a nepoužívá se.
- Chyba přesměrování po přihlášení/registraci:
- Ověřte, že „URI přesměrování“ nakonfigurované v registraci aplikace v Azure AD B2C přesně odpovídá návratové adrese URL vaší aplikace.
- Ujistěte se, že protokol (HTTP/HTTPS) a port jsou správné.
- Uživatelský postup nefunguje nebo zobrazuje chybu:
- Ověřte, že tok uživatelů byl vytvořen správně a že jsou vybráni poskytovatelé identity a uživatelské atributy.
- Otestujte tok uživatelů přímo z Azure Portal (na stránce toku uživatelů klikněte na „Spustit tok uživatele“) a izolujte problém.
- Zkontrolujte protokoly auditu pro chybové zprávy.
- Přizpůsobení uživatelského rozhraní není použito:
- Zkontrolujte, zda jsou adresy URL vlastních souborů CSS/HTML správné a veřejně přístupné (pokud jsou hostovány na úložišti objektů blob).
- Ujistěte se, že CORS je na vašem úložišti objektů blob správně nakonfigurován, aby byl povolen přístup z domény
b2clogin.com. - Vymažte mezipaměť prohlížeče, abyste zajistili načtení nejnovějších změn.
- Problémy s integrací aplikací:
- Zkontrolujte, zda jsou ve vaší aplikaci správně nakonfigurovány
Customer ID,B2C Tenant IDaUser Flow Name. - Ujistěte se, že autentizační knihovny ve vaší aplikaci jsou aktuální.
- Zkontrolujte protokoly aplikací, zda neobsahují chybové zprávy ověřování.
- Zkontrolujte, zda jsou ve vaší aplikaci správně nakonfigurovány
Závěr
Azure AD B2C je výkonné a flexibilní řešení pro správu a ochranu identit vašich zákazníků, které nabízí vylepšené uživatelské prostředí a robustní zabezpečení. Delegováním složitosti správy identit na společnost Microsoft se mohou organizace soustředit na své hlavní podnikání a zajistit, aby jejich zákaznická data byla bezpečná a vyhovující. Pečlivá implementace uživatelských toků, integrace s osvědčenými postupy zabezpečení a nepřetržité monitorování jsou zásadní pro maximalizaci výhod Azure AD B2C. S touto praktickou příručkou budou odborníci na zabezpečení a správci IT dobře vybaveni ke konfiguraci, ověřování a správě Azure AD B2C, k ochraně identity svých zákazníků a posílení celkového zabezpečení jejich aplikací.
Reference:
[1] Microsoft Learn. Dokumentace Azure Active Directory B2C. Dostupné na: https://learn.microsoft.com/pt-br/azure/active-directory-b2c/ [2] Microsoft Learn. Osvědčené postupy pro Azure AD B2C. Dostupné na: https://learn.microsoft.com/pt-br/azure/active-directory-b2c/best-practices [3] Microsoft Learn. Ochrana identity a podmíněný přístup v Azure AD B2C. Dostupné na: https://learn.microsoft.com/pt-br/azure/active-directory-b2c/conditional-access-identity-protection-overview [4] Microsoft Learn. Zaregistrujte webovou aplikaci v Azure Active Directory B2C. Dostupné na: https://learn.microsoft.com/pt-br/azure/active-directory-b2c/tutorial-register-applications [5] Microsoft Learn. Vytváření uživatelských toků a vlastních zásad – Azure Active Directory B2C. Dostupné na: https://learn.microsoft.com/pt-br/azure/active-directory-b2c/tutorial-create-user-flows [6] Microsoft Learn. Nakonfigurujte ověřování ve vzorové webové aplikaci pomocí Azure AD B2C. Dostupné na: https://learn.microsoft.com/pt-br/azure/active-directory-b2c/configure-authentication-sample-web-app [7] Microsoft Learn. Prozkoumejte rizika pomocí Identity Protection v Azure AD B2C. Dostupné na: https://learn.microsoft.com/pt-br/azure/active-directory-b2c/identity-protection-investigate-risk