Přehled vlastních zásad Azure AD B2C
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 identit, vývojář identit může upravit vlastní zásady pro provádění mnoha různých úloh.
Vlastní zásada je plně konfigurovatelná a řízená zásadami. Vlastní zásada orchestruje 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 založené na rozhraní REST API. Tato architektura vytváří uživatelsky přívětivé prostředí s bílými popisky.
Vlastní zásada je reprezentována jako jeden nebo více souborů ve formátu XML, které vzájemně odkazují v hierarchickém řetězu. Elementy XML definují stavební bloky, interakci s uživatelem a dalšími stranami a obchodní logiku.
Úvodní balíček vlastních zásad
Úvodní balíček vlastních zásad Azure AD B2C obsahuje několik předem připravených zásad, které vám pomůžou rychle začít. Každý z těchto úvodních balíčků obsahuje nejmenší počet technických profilů a cest uživatelů potřebných k dosažení popsaných scénářů:
- LocalAccounts – Povolí pouze použití místních účtů.
- SocialAccounts – Umožňuje používat jenom účty sociálních sítí (nebo federovaných).
- SocialAndLocalAccounts – umožňuje používat místní i sociální účty. Většina našich ukázek se týká této zásady.
- SocialAndLocalAccountsWithMFA – Umožňuje možnosti sociálního, místního a vícefaktorového ověřování.
V úložišti GitHub s ukázkami Azure AD B2C najdete ukázky pro několik vylepšených vlastních cest a scénářů CIAM pro Azure AD B2C. Například vylepšení zásad místního účtu, vylepšení zásad sociálních účtů, 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.
Principy základů
Žádosti
Deklarace identity poskytuje dočasné úložiště dat během provádění zásad Azure AD B2C. Deklarace identity jsou více jako proměnné v programovacím jazyce. Může ukládat informace o uživateli, jako je 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ístem, kde deklarujete deklarace identity.
Když se zásady spustí, Azure AD B2C odesílá a přijímá deklarace identity interním a externím stranám a pak odešle podmnožinu těchto deklarací identity do aplikace předávající strany jako součást tokenu. Deklarace identity se používají těmito způsoby:
- Deklarace identity se ukládá, čte nebo aktualizuje proti objektu uživatele adresáře.
- Deklarace identity se přijímá od externího zprostředkovatele identity.
- Deklarace identity se odesílají nebo přijímají pomocí vlastní služby REST API.
- Data se shromažďují jako deklarace identity od uživatele během procesu registrace nebo úprav toků profilu.
Manipulace s deklaracemi
Transformace deklarací identity jsou předdefinované funkce, které je možné použít k převodu dané deklarace identity 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í identity určuje transformační metodu, která je také předdefinovaná.
Přizpůsobení a lokalizace uživatelského rozhraní
Pokud chcete shromažďovat informace od uživatelů tak, že ve webovém prohlížeči prezentujete stránku, použijte technický profil s vlastním tvrzením. Přidáním deklarací identity a přizpůsobením uživatelského vstupu můžete upravit svůj technický profil s vlastním kontrolním výrazem.
Pokud chcete přizpůsobit uživatelské rozhraní pro svůj technický profil s vlastním kontrolním výrazem, zadáte adresu URL v elementu definice obsahu s přizpůsobeným obsahem HTML. V technickém profilu s vlastním kontrolním výrazem přejdete na toto ID definice obsahu.
K přizpůsobení řetězců specifických pro jazyk použijte element lokalizace . Definice obsahu může obsahovat lokalizační odkaz, který určuje seznam lokalizovaných prostředků, které se mají načíst. Azure AD B2C slučuje 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á se v protokolu SAML označuje jako poskytovatel služeb, volá zásady předávající strany, aby provedly konkrétní cestu uživatele. Zásady předávající strany určují cestu uživatele, která se má provést, a seznam deklarací identity, které token zahrnuje.
Všechny aplikace předávající strany, které používají stejnou zásadu, obdrží stejné deklarace identity tokenů a uživatel prochází stejnou cestou uživatele.
Cesty uživatelů
Cesty uživatelů umožňují definovat obchodní logiku s cestou, kterou uživatel sleduje, aby získal přístup k vaší aplikaci. Uživatel prochází cestou uživatele, aby načetl deklarace identity, které se mají předložit vaší aplikaci. Cesta uživatele je vytvořená z posloupnosti kroků orchestrace. Aby uživatel získal token, musí se připojit k poslednímu kroku.
Následující pokyny popisují, jak můžete přidat kroky orchestrace do zásad úvodního balíčku pro sociální a místní účty. Tady je příklad volání rozhraní REST API, které bylo přidáno.
Kroky orchestrace
Krok orchestrace odkazuje na metodu, která implementuje zamýšlený účel nebo funkci. Tato metoda se nazývá technický profil. Když vaše cesta uživatele potřebuje větvení, aby lépe představovala obchodní logiku, odkazuje krok orchestrace na dílčí cestu. Dílčí cesta obsahuje vlastní sadu kroků orchestrace.
Aby uživatel získal token, musí přejít k poslednímu kroku orchestrace na cestě uživatele. Uživatelé ale nemusí procházet všechny kroky orchestrace. Kroky orchestrace lze podmíněně spouštět na základě předpokladů definovaných v kroku orchestrace.
Po dokončení kroku orchestrace ukládá Azure AD B2C výstupní deklarace identity do balíčku deklarací identity. Deklarace identity v pytli deklarací identity můžou využívat jakékoli další kroky orchestrace na cestě uživatele.
Následující diagram znázorňuje, jak kroky orchestrace cesty uživatele mají přístup k balíčku deklarací identity.
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. Odesíláte vstupní deklarace identity, spouštíte transformaci deklarací identity a komunikujete s nakonfigurovanou stranou. Po dokončení procesu vrátí technický profil výstupní deklarace identity do balíčku deklarací identity. Další informace najdete v přehledu technických profilů.
Technický profil ověření
Když uživatel pracuje s uživatelským rozhraním, můžete chtít ověřit shromážděná data. Pokud chcete s uživatelem pracovat, musí se použít technický profil s vlastním kontrolním výrazem .
Chcete-li ověřit vstup uživatele, volá se z technického profilu s vlastním potvrzením ověření technický profil . Technický profil ověření je metoda volání jakéhokoli neinteraktivního technického profilu. V takovém případě může technický profil vracet výstupní deklarace identity nebo chybovou zprávu. Chybová zpráva se zobrazí uživateli na obrazovce, což uživateli umožní opakovat akci.
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ěření.
Model dědičnosti
Každá úvodní sada obsahuje následující soubory:
- Základní soubor, který obsahuje většinu definic. Pokud chcete pomoct s řešením potíží a dlouhodobou údržbou zásad, zkuste minimalizovat počet změn, které v tomto souboru provedete.
- 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ů, aby vyhovoval potřebám zákazníka.
- Soubor rozšíření , který obsahuje jedinečné změny konfigurace pro vašeho tenanta. Tento soubor zásad je odvozený ze souboru Lokalizace. Pomocí tohoto souboru můžete přidat nové funkce nebo přepsat stávající funkce. Tento soubor můžete například použít k federaci s novými zprostředkovateli identity.
- Soubor předávající strany , který je jedním souborem zaměřeným na úlohy, který je vyvolán přímo aplikací předávající strany, jako je web, mobilní nebo desktopové aplikace. Každý jedinečný úkol, například 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 s příponou.
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šířit ji přidáním nových prvků.
- V případě 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. Odstraňte například svůj účet, změňte telefonní číslo, zásady 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.
Doprovodné materiály a osvědčené postupy
Osvědčené postupy
Ve vlastních zásadách Azure AD B2C můžete integrovat vlastní obchodní logiku, abyste mohli vytvářet uživatelská prostředí, která potřebujete, a rozšířit funkčnost služby. Máme sadu osvědčených postupů a doporučení, které vám pomůžou 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é přepíší základní zásadu odkazováním na stejné ID. Tento přístup umožňuje škálovat projekt na více instancí a usnadnit upgrade základních zásad později, pokud Microsoft vydává nové úvodní balíčky.
- V rámci základní zásady důrazně doporučujeme vyhnout se změnám. V případě potřeby proveďte komentáře, kde se změny provádějí.
- Při přepsání elementu, jako jsou metadata technického profilu, se vyhněte kopírování celého technického profilu ze základní zásady. Místo toho zkopírujte pouze požadovaný oddíl prvku. Příklad, jak provést změnu, najdete v tématu Zakázání ověření e-mailu.
- Pokud chcete snížit duplicitu technických profilů, kde se sdílí základní funkce, použijte zahrnutí technického profilu.
- Vyhněte se zápisu do adresáře Microsoft Entra během přihlašování, což může vést k problémům s omezováním.
- Pokud vaše zásada obsahuje externí závislosti, jako jsou rozhraní REST API, ujistěte se, že jsou vysoce dostupné.
- Pro lepší uživatelské prostředí se ujistěte, že jsou vaše vlastní šablony HTML 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 zlepšit rychlost odezvy.
- Pokud chcete provést změnu cesty 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 k cestě uživatele, kterou jste zkopírovali. Pak v zásadách předávající strany změňte výchozí prvek cesty uživatele tak, aby ukazoval na novou cestu uživatele.
Řešení problému
Při vývoji pomocí zásad Azure AD B2C můžete při provádění cesty uživatele narazit na chyby nebo výjimky. Můžete ho prozkoumat pomocí Přehledy aplikace.
- Integrujte aplikační Přehledy s Azure AD B2C za účelem diagnostiky výjimek.
- Rozšíření Azure AD B2C pro Visual Studio Code vám pomůže získat přístup k protokolům a vizualizovat je na základě názvu a času zásady.
- Nejběžnější chyba při nastavování vlastních zásad je nesprávně formátovaná xml. K identifikaci chyb před nahráním souboru XML použijte ověření schématu XML.
Průběžná integrace
Pomocí kanálu kontinuální integrace a doručování (CI/CD), který jste nastavili v Azure Pipelines, můžete do doručování softwaru a automatizace řízení kódu zahrnout vlastní zásady Azure AD B2C. Při nasazování do různých prostředí Azure AD B2C, jako je vývoj, testování a produkce, doporučujeme odebrat ruční procesy a provádět automatizované testování pomocí Azure Pipelines.
Příprava prostředí
Začínáme s vlastními zásadami Azure AD B2C:
- Vytvoření tenanta Azure AD B2C
- Zaregistrujte webovou aplikaci pomocí webu Azure Portal, abyste mohli zásady otestovat.
- Přidejte potřebné klíče zásad a zaregistrujte aplikace Identity Experience Framework.
- Získejte úvodní balíček zásad Azure AD B2C a nahrajte ho do svého tenanta.
- Po nahrání úvodního balíčku otestujte zásady registrace nebo přihlášení.
- Doporučujeme stáhnout a nainstalovat Visual Studio Code (VS Code). Visual Studio Code je jednoduchý, ale výkonný editor zdrojového kódu, který běží na ploše a je k dispozici pro Windows, macOS a Linux. S VS Code můžete rychle procházet a upravovat soubory XML vlastních zásad Azure AD B2C instalací 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 své zásady. V následujících článcích se dozvíte, jak:
- Přidejte deklarace identity a přizpůsobte uživatelský vstup pomocí vlastních zásad. Zjistěte, jak definovat deklaraci identity a přidat deklaraci identity do uživatelského rozhraní přizpůsobením některých technických profilů úvodní sady.
- Přizpůsobte si uživatelské rozhraní aplikace pomocí vlastních zásad. Zjistěte, jak vytvořit vlastní obsah HTML a přizpůsobit definici obsahu.
- Lokalizace uživatelského rozhraní aplikace pomocí vlastních zásad Zjistěte, jak nastavit seznam podporovaných jazyků a poskytnout popisky specifické pro konkrétní jazyk přidáním elementu lokalizovaných prostředků.
- Během vývoje a testování zásad můžete zakázat ověření e-mailu. Zjistěte, jak přepsat metadata technického profilu.
- Nastavte přihlášení pomocí účtu Google pomocí vlastních zásad. Zjistěte, jak vytvořit nového zprostředkovatele deklarací identity pomocí technického profilu OAuth2. Pak přizpůsobte cestu uživatele tak, aby zahrnovala možnost přihlášení Google.
- Pokud chcete diagnostikovat problémy s vlastními zásadami, můžete shromažďovat protokoly Azure Active Directory B2C pomocí služby Application Přehledy. Zjistěte, jak přidat nové technické profily a nakonfigurovat zásady předávající strany.
- Pokud chcete pochopit, jak se vlastní zásady vytvářejí úplně od začátku, přečtěte si, jak vytvořit a spustit vlastní zásady v Azure Active Directory B2C– postupy.