Přehled Azure AD B2C vlastní zásady

Vlastní zásady jsou konfigurační soubory, které definují chování tenanta Azure Active Directory B2C (Azure AD B2C). I když jsou toky uživatelů předdefinované na portálu Azure AD B2C pro nejběžnější úlohy identity, můžou vlastní zásady plně upravit vývojář identity, aby dokončili mnoho různých úloh.

Vlastní zásady jsou plně konfigurovatelné a řízené zásadami. Vlastní zásady orchestrují vztah důvěryhodnosti mezi entitami ve standardních protokolech. například OpenID Připojení, OAuth, SAML a několik nestandardních, například výměny deklarací identity z systému na systém založené na REST API. Rozhraní vytváří uživatelsky přívětivé prostředí s bílým označením.

Vlastní zásady jsou reprezentovány jako jeden nebo více souborů ve formátu XML, které na sebe navzájem odkazují v hierarchickém řetězu. Prvky XML definují stavební bloky, interakci s uživatelem a další strany a obchodní logiku.

Startovní sada vlastních zásad

Počáteční sada vlastních zásad Azure AD B2C obsahuje několik předem připravených zásad, které vám umožní rychle se vrátit. Každá z těchto startovních sad obsahuje nejmenší počet technických profilů a cest uživatelů potřebných k dosažení popsaných scénářů:

  • LocalAccounts – povoluje pouze použití místních účtů.
  • SocialAccounts – povoluje pouze použití sociálních (nebo federovaných) účtů.
  • SocialAndLocalAccounts – povolí použití místních i sociálních účtů. Většina našich ukázek odkazuje na tuto zásadu.
  • SocialAndLocalAccountsWithMFA – povolí možnosti pro sociální, místní a Multi-Factor Authentication.

v Azure AD B2C samples GitHub úložištěnajdete ukázky pro několik vylepšených Azure AD B2C vlastních cest uživatele CIAM. Například vylepšení zásad místního účtu, vylepšení zásad pro sociální účty, vylepšení vícefaktorového ověřování, vylepšení uživatelského rozhraní, Obecná vylepšení, migrace aplikací, migrace uživatelů, podmíněný přístup, webový test a CI/CD.

Seznámení se základy

Deklarace identit

Deklarace identity poskytuje dočasné úložiště dat během provádění zásad Azure AD B2C. Může ukládat informace o uživateli, jako je například křestní jméno, příjmení nebo jakákoli jiná deklarace identity získaná od uživatele nebo jiných systémů (výměny deklarací identity). Schéma deklarací identity je místo, kde deklarujete deklarace identity.

Když se zásada spustí, Azure AD B2C odesílá a přijímá deklarace identity z interních a externích stran a pak odešle podmnožinu těchto deklarací do vaší aplikace předávající strany jako součást tokenu. Deklarace identity se používají v těchto ohledech:

  • Deklarace identity se uloží, přečte nebo aktualizuje s objektem uživatele adresáře.
  • Od externího zprostředkovatele identity je obdržená deklarace identity.
  • Deklarace identity se odesílají nebo přijímají pomocí vlastní REST API služby.
  • Data se shromažďují jako deklarace identity od uživatele během toků profilů registrace nebo úprav.

Manipulace s deklaracemi

Transformace deklarací identity jsou předdefinované funkce, které je možné použít k převedení dané deklarace na jinou, vyhodnocení deklarace identity nebo nastavení hodnoty deklarace identity. Například přidání položky do kolekce řetězců, změna velikosti písmen řetězce nebo vyhodnocení deklarace data a času. Transformace deklarací určuje metodu transformace.

Přizpůsobení a lokalizace uživatelského rozhraní

Pokud chcete shromažďovat informace od vašich uživatelů, provedete stránku ve webovém prohlížeči, použijte technický profil s vlastním uplatněním. Technický profil s vlastním uplatněním můžete upravit a přidat deklarace identity a přizpůsobit uživatelský vstup.

Chcete-li přizpůsobit uživatelské rozhraní pro technický profil s vlastním uplatněním, zadejte adresu URL v prvku definice obsahu s přizpůsobeným obsahem HTML. V technickém profilu s vlastním uplatněním odkazujete na toto ID definice obsahu.

Chcete-li přizpůsobit řetězce pro konkrétní jazyk, použijte element Localization . Definice obsahu může obsahovat odkaz na lokalizaci , který určuje seznam lokalizovaných prostředků, které se mají načíst. Azure AD B2C sloučí prvky uživatelského rozhraní s obsahem HTML načteným z vaší adresy URL a pak zobrazí stránku uživateli.

Přehled zásad předávající strany

Aplikace předávající strany, která je v protokolu SAML, se označuje jako poskytovatel služeb, volá zásady předávající strany , aby spustily konkrétní cestu uživatele. Zásady předávající strany určují cestu uživatele, která se má spustit, a seznam deklarací identity, které token zahrnuje.

Diagram showing the policy execution flow

Všechny aplikace předávající strany, které používají stejné zásady, obdrží stejné deklarace identity a uživatel projde stejnou cestou uživatele.

Cesty uživatelů

Pomocí cest uživatelů můžete definovat obchodní logiku s cestou, přes kterou bude uživatel postupovat, aby získal přístup k vaší aplikaci. Uživatel se převezme cestou uživatele, aby načetl deklarace identity, které mají být prezentovány vaší aplikaci. Cesta uživatele je sestavena z posloupnosti kroků orchestrace. Uživatel se musí dostat k poslednímu kroku, aby získal token.

Následující pokyny popisují, jak můžete přidat kroky orchestrace do zásady pro účet Starter pro sociální a místní účet . Zde je příklad volání REST API, které bylo přidáno.

customized user journey

Kroky orchestrace

Krok Orchestration odkazuje na metodu, která implementuje zamýšlený účel nebo funkčnost. Tato metoda se nazývá technický profil. Když vaše cesta uživatele potřebuje větvení, aby lépe představovala obchodní logiku, krok orchestrace odkazuje na dílčí cestu. Dílčí cesta obsahuje svou vlastní sadu kroků orchestrace.

Uživatel se musí dostat k poslednímu kroku orchestrace v cestě uživatele a získat tak token. Ale uživatelé nemusí projít všemi kroky orchestrace. Kroky orchestrace můžou být podmíněně spouštěny na základě předběžných podmínek definovaných v kroku orchestrace.

Po dokončení kroku orchestrace Azure AD B2C uloží vložené deklarace do kontejneru deklarací identity. Deklarace identity v kontejneru deklarací identity můžou být využívány dalšími kroky orchestrace v cestě uživatele.

Následující diagram znázorňuje, jak můžou kroky orchestrace cest uživatelů získat přístup k kontejneru deklarací identity.

Azure AD B2C user journey

Technický profil

Technický profil poskytuje rozhraní pro komunikaci s různými typy stran. Cesta uživatele kombinuje volání technických profilů prostřednictvím kroků orchestrace k definování obchodní logiky.

Všechny typy technických profilů sdílejí stejný koncept. Můžete odesílat vstupní deklarace identity, spouštět transformaci deklarací identity a komunikovat s nakonfigurovanou stranou. Až se proces dokončí, technický profil vrátí do kontejneru deklarací identity výstupní deklarace identity. Další informace najdete v tématu Přehled technických profilů.

Technický profil ověřování

Když uživatel komunikuje s uživatelským rozhraním, může být vhodné ověřit shromážděná data. Pro interakci s uživatelem se musí použít technický profil s vlastním uplatněním .

K ověření vstupu uživatele se z technického profilu s vlastním uplatněním zavolá technický profil ověření . Technický profil ověření je metoda volání libovolného neinteraktivního technického profilu. V takovém případě může technický profil vracet deklarace výstupů nebo chybovou zprávu. Chybová zpráva se vykreslí uživateli na obrazovce, takže se uživatel bude moct pokusit opakovat.

Následující diagram znázorňuje, jak Azure AD B2C používá k ověření přihlašovacích údajů uživatele technický profil ověřování.

Validation technical profile diagram

Model dědičnosti

Každá Startovní sada obsahuje následující soubory:

  • Základní soubor, který obsahuje většinu definic. Pro pomoc s řešením potíží a dlouhodobou údržbou zásad se pokuste minimalizovat počet změn, které provedete v tomto souboru.
  • Lokalizační soubor, který obsahuje lokalizační řetězce. Tento soubor zásad je odvozen ze základního souboru. Tento soubor použijte k přizpůsobení různých jazyků vašim potřebám zákazníků.
  • Příponový soubor, který obsahuje jedinečné změny konfigurace vašeho tenanta. Tento soubor zásad je odvozen z lokalizačního souboru. Pomocí tohoto souboru můžete přidat nové funkce nebo přepsat existující funkce. Pomocí tohoto souboru můžete například federovat s novými zprostředkovateli identity.
  • Soubor předávající strany (RP) , který je jedním souborem zaměřeným na úlohy, který je vyvolán přímo pomocí aplikace předávající strany, jako jsou webové, mobilní nebo desktopové aplikace. Každý jedinečný úkol, jako je registrace, přihlášení nebo úprava profilu, vyžaduje vlastní soubor zásad předávající strany. Tento soubor zásad je odvozený od souboru rozšíření.

Model dědičnosti je následující:

  • Podřízená zásada na libovolné úrovni může dědit z nadřazené zásady a rozšiřuje ji přidáním nových elementů.
  • U složitějších scénářů můžete přidat další úrovně dědičnosti (celkem až 10).
  • Můžete přidat další zásady předávající strany. Například Odstraňte svůj účet, změňte telefonní číslo, zásadu předávající strany SAML a další.

Následující diagram znázorňuje vztah mezi soubory zásad a aplikacemi předávající strany.

Diagram showing the trust framework policy inheritance model

Doprovodné materiály a osvědčené postupy

Osvědčené postupy

V rámci Azure AD B2C vlastní zásady můžete integrovat vlastní obchodní logiku, která bude vytvářet uživatelské prostředí, které vyžadujete a rozšiřujete funkčnost služby. Máme sadu osvědčených postupů a doporučení, abyste mohli začít.

  • Vytvořte logiku v rámci zásad rozšířenínebo zásad předávající strany. Můžete přidat nové prvky, které nahradí základní zásady odkazem na stejné ID. Tento přístup vám umožní horizontální navýšení kapacity projektu a pozdější upgrade základních zásad, pokud společnost Microsoft vydává nové úvodní balíčky.
  • V rámci základních zásaddůrazně doporučujeme vyhnout se jakýmkoli změnám. V případě potřeby udělejte komentáře, kde byly provedeny změny.
  • Při přepisování elementu, jako jsou metadata technického profilu, se nekopíruje celý technický profil ze základních zásad. Místo toho zkopírujte pouze požadovanou část elementu. Příklad provedení změny najdete v tématu Zakázání ověřování e-mailem .
  • Pokud chcete omezit duplicity technických profilů, ve kterých se sdílí základní funkce, použijte zahrnutí technického profilu.
  • Vyhněte se zápisu do adresáře služby Azure AD během přihlašování, což může vést k omezení problémů.
  • Pokud vaše zásada obsahuje externí závislosti, například rozhraní REST API, zajistí, že budou vysoce dostupné.
  • Pro lepší uživatelské prostředí se ujistěte, že vlastní šablony HTML jsou globálně nasazené pomocí online doručování obsahu. Azure Content Delivery Network (CDN) umožňuje zkrátit dobu načítání, ušetřit šířku pásma a zvýšit rychlost odezvy.
  • Pokud chcete provést změnu na cestu uživatele, zkopírujte celou cestu uživatele ze základní zásady do zásady rozšíření. Zadejte jedinečné ID cesty uživatele pro cestu k uživateli, kterou jste zkopírovali. Pak v zásadách předávající stranyzměňte výchozí prvek cesty uživatele tak, aby odkazoval na novou cestu uživatele.

Řešení potíží

Při vývoji pomocí zásad Azure AD B2C můžete při provádění cesty uživatele spustit chyby nebo výjimky. lze prozkoumat pomocí Application Insights.

Kontinuální integrace

pomocí kanálu průběžné integrace a doručování (CI/CD), který jste nastavili v Azure Pipelines, můžete zahrnout vlastní zásady Azure AD B2C v rámci poskytování softwaru a automatizace řízení kódu. Při nasazení do různých Azure AD B2C prostředí, například pro vývoj, testování a produkci, doporučujeme odebrat ruční procesy a provádět automatizované testování pomocí Azure Pipelines.

Příprava prostředí

Začnete s vlastními zásadami Azure AD B2C:

  1. Vytvoření tenanta Azure AD B2C
  2. Zaregistrujte webovou aplikaci pomocí Azure Portal, abyste mohli svoje zásady testovat.
  3. Přidejte potřebné klíče zásad a Zaregistrujte aplikace architektury identity Experience Framework.
  4. Získejte úvodní sadu zásad Azure AD B2C a nahrajte ji do svého tenanta.
  5. Po nahrání počátečního balíčku otestujte zásady registrace nebo přihlašování.
  6. doporučujeme, abyste si stáhli a nainstalovali Visual Studio Code (VS Code). Visual Studio Code je jednoduchý, ale výkonný editor zdrojového kódu, který běží na vaší ploše a je dostupný pro Windows, macOS a Linux. pomocí VS Code můžete rychle procházet a upravovat soubory XML vlastních zásad Azure AD B2C tím, že nainstalujete rozšíření Azure AD B2C pro VS Code

Další kroky

Po nastavení a otestování zásad Azure AD B2C můžete začít přizpůsobovat zásady. V následujících článcích se dozvíte, jak: