Konfigurace Azure AD B2C pro ochranu identity zákazníka

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:

  1. Aktivní předplatné Azure: Předplatné Azure k vytváření a správě prostředků.
  2. Přístup pro správce: Účet s rolí „Globální správce“ nebo „Správce uživatelů“ v předplatném Azure.
  3. 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ů.

  1. Otevřete prohlížeč a přejděte na Azure Portal: https://portal.azure.com.
  2. Přihlaste se pomocí účtu, který má oprávněníje nutné.
  3. Do horního vyhledávacího pole zadejte „Azure Active Directory B2C“ a vyberte jej z výsledků.
  4. Klikněte na + Vytvořit nového tenanta Azure AD B2C.

  5. 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í.
  6. 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.

  1. V Azure Portal se ujistěte, že jste na tenantovi Azure AD B2C (použijte selektor adresáře v pravém horním rohu).
  2. V levém navigačním panelu vyberte Registrace aplikací pod Spravovat.
  3. Klikněte na + Nová registrace.

  4. 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 Web a zadejte adresu URL, kam bude po přihlášení odeslán ověřovací token (např. https://localhost:5001/signin-oidc pro 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.
  5. Klikněte na Registrovat.

  6. 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.

  1. V levém navigačním podokně vašeho tenanta Azure AD B2C vyberte Toky uživatelů v části Zásady.
  2. Klikněte na +Nový uživatelský tok.

  3. 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ší, jako Google, 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).
  4. Klikněte na Vytvořit.

  5. 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.

  1. V levém navigačním podokně vašeho tenanta Azure AD B2C vyberte User Flows.
  2. Klikněte na uživatelský tok, který jste vytvořili (např. B2C_1_signup_signin).
  3. V levém navigačním panelu vyberte Rozvržení stránky.
  4. 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.

  1. Nakonfigurujte aplikaci tak, aby používala OpenID Connect: Vaše aplikace bude muset ke komunikaci s Azure AD B2C používat klienta OpenID Connect.
  2. 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.Web zjednoduš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í

  1. 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.
  2. 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.
  3. 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

  1. Scénář: Pokuste se resetovat heslo uživatele pomocí uživatelského postupu pro resetování hesla.
  2. 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.
  3. Ověření:
    • Zkontrolujte protokoly auditu Azure AD B2C a potvrďte událost resetování hesla.

3. Kontrola protokolů auditu v Azure AD B2C

  1. Na Azure Portal ve svém tenantovi B2C přejděte na Azure Active Directory > Monitorování > Protokoly auditu.
  2. Filtrujte protokoly podle Category = Core Directory a Activity = Sign-in nebo Sign-up.
  3. 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 ID a User 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í.

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