Sdílet prostřednictvím


Důležité informace o používání Azure Active Directory B2C v architektuře s více tenanty

Azure Active Directory (Azure AD) B2C poskytuje identitu mezi podniky jako službu. Identita uživatele je obvykle jednou z hlavních aspektů při návrhu víceklientských aplikací. Vaše řešení identit slouží jako vrátný pro vaši aplikaci a zajišťuje, aby vaši tenanti zůstali v mezích, které pro ně definujete. Tento článek popisuje aspekty a přístupy k používání Azure AD B2C ve víceklientských řešeních.

Jedním z nejběžnějších důvodů použití Azure AD B2C je povolení federace identit pro aplikaci. Federace identit je proces navázání vztahu důvěryhodnosti mezi dvěma zprostředkovateli identity, aby se vaši uživatelé mohli přihlásit pomocí existujícího účtu. Pokud používáte Azure AD B2C, můžete implementovat federaci identit, abyste uživatelům umožnili přihlášení pomocí jejich účtů sociálních nebo podnikových účtů. Pokud používáte federaci, uživatelé nemusí vytvářet samostatný místní účet , který je specifický pro vaši aplikaci.

Pokud s tímto tématem začínáte, doporučujeme projít si následující zdroje informací:

Poznámka:

V tomto článku jsou popsány dva podobně pojmenované koncepty: tenanti aplikací a tenanti Azure AD B2C.

Termín aplikace se používá k odkazování na tenanty, což můžou být vaši zákazníci nebo skupiny uživatelů.

Azure AD B2C také používá koncept tenanta odkazující na jednotlivé adresáře a termín víceklientská architektura se používá k odkazování na interakce mezi několika tenanty Azure AD B2C. I když jsou termíny stejné, koncepty nejsou. Pokud se v tomto článku odkazuje tenant Azure AD B2C, použije se úplný termín tenant Azure AD B2C.

Identita ve víceklientských řešeních

Ve víceklientských řešeních je běžné kombinovat více služeb identit, aby bylo možné dosáhnout různých sad požadavků. Mnoho řešení má dvě různé sady identit:

  • Identity zákazníků, které jsou určené pro účty koncových uživatelů. Řídí, jak uživatelé tenantů získají přístup k vašim aplikacím.
  • Interní identity, které zpracovávají způsob, jakým váš vlastní tým spravuje vaše řešení

Tyto různé typy identit obvykle používají odlišné služby identit. Azure AD B2C je služba správy identit a přístupu zákazníků (CIAM), kterou uživatelé tenantů používají pro přístup k řešení. Microsoft Entra ID je služba pro správu identit a přístupu (IAM), kterou vy a váš tým používáte ke správě prostředků Azure a k řízení vaší aplikace.

Představte si příklad víceklientských řešení vytvořených společností Fabrikam. Řešení využívá kombinaci těchto dvou služeb ke splnění požadavků společnosti Fabrikam:

  • Společnost Fabrikam implementuje Azure AD B2C, aby se zákazníci (tenanti) společnosti mohli přihlásit k aplikacím.
  • Zaměstnanci společnosti Fabrikam používají adresář Microsoft Entra své organizace k získání přístupu k řešení pro účely správy a správy. Používají stejné identity, které používají pro přístup k jiným prostředkům společnosti Fabrikam, jako je systém Microsoft Office.

Následující diagram znázorňuje tento příklad:

Diagram znázorňující dvě aplikace se dvěma metodami přihlášení

Modely izolace

Když používáte Azure AD B2C, musíte se rozhodnout, jak izolovat uživatelské účty mezi různými tenanty aplikací.

Potřebujete zvážit otázky, jako jsou:

  • Potřebujete federovat přihlášení k zprostředkovatelům identity zákazníka? Potřebujete například povolit federaci SAML, Microsoft Entra ID, poskytovatele sociálních přihlášení nebo jiných zdrojů?
  • Máte vy nebo vaši tenanti požadavky na rezidenci dat?
  • Potřebuje uživatel přístup k více než jednomu tenantovi aplikace?
  • Potřebujete složitá oprávnění nebo řízení přístupu na základě role (RBAC)?
  • Kdo se přihlásí k vaší aplikaci? Různé kategorie uživatelů se často nazývají osoby uživatelů.

Následující tabulka shrnuje rozdíly mezi hlavními modely tenantů pro Azure AD B2C:

Situace Sdílený tenant Azure AD B2C Vertikálně dělený tenant Azure AD B2C Jeden tenant Azure AD B2C na tenanta aplikace
Izolace dat Data z každého tenanta aplikace jsou uložená v jednom tenantovi Azure AD B2C, ale můžou k němu přistupovat jenom správci. Data z každého tenanta aplikace se distribuují mezi několik tenantů Azure AD B2C, ale můžou k němu přistupovat jenom správci. Data z každého tenanta aplikace jsou uložená ve vyhrazeném tenantovi Azure AD B2C, ale můžou k němu přistupovat jenom správci.
Složitost nasazení Nízká Střední až vysoká v závislosti na strategii dělení Velmi vysoká
Omezení, která je potřeba vzít v úvahu Požadavky na tenanta Azure AD B2C, požadavky na IP adresu klienta Kombinace požadavků, počtu tenantů Azure AD B2C na předplatné a počtu adresářů pro jednoho uživatele v závislosti na strategii dělení Počet tenantů Azure AD B2C na předplatné, maximální počet adresářů pro jednoho uživatele
Provozní složitost Nízká Střední až vysoká v závislosti na strategii dělení Velmi vysoká
Počet požadovaných tenantů Azure AD B2C Jeden Mezi 1 a n v závislosti na strategii dělení n, kde n je počet tenantů aplikací
Ukázkový scénář Vytváříte nabídku SaaS pro uživatele, kteří mají nízké nebo žádné požadavky na rezidenci dat, jako je služba streamování hudby nebo videa. Vytváříte nabídku SaaS, jako je účetnictví a uchovávání záznamů pro firmy. Potřebujete podporovat požadavky na rezidenci dat nebo velký počet vlastních zprostředkovatelů federovaných identit. Vytváříte nabídku SaaS, jako je aplikace pro správu záznamů pro firmy. Vaši zákazníci vyžadují vysokou míru izolace dat od jiných tenantů aplikací.

Sdílený tenant Azure AD B2C

Obecně je nejjednodušší spravovat jednoho sdíleného tenanta Azure AD B2C, pokud to vaše požadavky umožňují. Potřebujete dlouhodobě udržovat pouze jednoho tenanta a tato možnost vytvoří nejnižší režii.

Poznámka:

Pro většinu scénářů doporučujeme použít sdíleného tenanta Azure AD B2C.

Sdílený tenant Azure AD B2C byste měli zvážit v těchto případech:

  • Nemáte požadavky na rezidenci dat ani přísné požadavky na izolaci dat.
  • Požadavky vaší aplikace jsou v rámci limitů služby Azure AD B2C.
  • Pokud máte zprostředkovatele federovaných identit, můžete pomocí zjišťování domovské sféry automaticky vybrat zprostředkovatele, pomocí něhož se má uživatel přihlásit, nebo je přijatelné, aby ho uživatelé ručně vybrali ze seznamu.
  • Máte jednotné přihlašovací prostředí pro všechny tenanty aplikací.
  • Koncoví uživatelé potřebují přístup k více než jednomu tenantovi aplikace pomocí jednoho účtu.

Tento diagram znázorňuje sdílený model tenanta Azure AD B2C:

Diagram znázorňující tři aplikace připojující se k jednomu sdílenému tenantovi Azure AD B2C

Vertikálně dělené tenanty Azure AD B2C

Zřizování vertikálně dělených tenantů Azure AD B2C je strategie, která je navržená tak, aby minimalizovala( pokud je to možné) počet potřebných tenantů Azure AD B2C. Je to střední země mezi ostatními modely tenantů. Vertikální dělení nabízí větší flexibilitu při přizpůsobení pro konkrétní tenanty, pokud je to potřeba. Nevytváří ale provozní režii přidruženou ke zřízení tenanta Azure AD B2C pro každého tenanta aplikace.

Požadavky na nasazení a údržbu pro tento model tenanta Azure AD B2C jsou vyšší než požadavky na nasazení a údržbu, ale jsou nižší než v případě, že použijete jednoho tenanta Azure AD B2C na tenanta aplikace. Stále potřebujete navrhnout a implementovat strategii nasazení a údržby pro více tenantů ve vašem prostředí.

Vertikální dělení je podobné vzoru horizontálního dělení dat. Pokud chcete tenanty Azure AD B2C vertikálně rozdělit, musíte tenanty aplikací uspořádat do logických skupin. Tato kategorizace tenantů se často označuje jako strategie dělení. Strategie dělení by měla být založená na společném, stabilním faktoru tenanta aplikace, jako je oblast, velikost nebo vlastní požadavky tenanta aplikace. Pokud je vaším cílem například vyřešit požadavky na rezidenci dat, můžete se rozhodnout nasadit tenanta Azure AD B2C pro každou oblast, která hostuje tenanty aplikací. Nebo pokud seskupíte podle velikosti, můžete se rozhodnout najít většinu identit tenantů aplikací v jednom tenantovi Azure AD B2C, ale vyhledat největší tenanty aplikací na vlastních vyhrazených tenantech Azure AD B2C.

Důležité

Vyhněte se vytváření strategie dělení na faktory, které se můžou v průběhu času měnit, protože je obtížné přesouvat uživatele mezi tenanty Azure AD B2C. Pokud například vytvoříte nabídku SaaS s více skladovými položkami nebo úrovněmi produktu, neměli byste rozdělit uživatele na základě vybrané skladové položky, protože skladová položka se může změnit, pokud zákazník upgraduje svůj produkt.

Pokud byste měli zvážit zřízení tenantů Azure AD B2C pomocí svisle dělené strategie, pokud:

  • Máte požadavky na rezidenci dat nebo potřebujete oddělit uživatele podle zeměpisu.
  • Máte velký počet zprostředkovatelů federovaných identit a nemůžete použít zjišťování domovské sféry k automatickému výběru uživatele pro přihlášení.
  • Vaše aplikace je nebo může vědět o víceklientské úrovni a ví, ke kterému tenantovi Azure AD B2C se vaši uživatelé musí přihlásit.
  • Myslíte si, že větší tenanti aplikací můžou dosáhnout limitů Azure AD B2C.
  • Máte dlouhodobou strategii pro nasazení a údržbu středně velkého počtu tenantů Azure AD B2C.
  • Máte strategii pro horizontální dělení tenantů aplikací mezi jedno nebo více předplatných Azure, aby fungovalo v rámci limitu počtu tenantů Azure AD B2C, které je možné nasadit v předplatném Azure.

Následující diagram znázorňuje svisle dělený model tenanta Azure AD B2C:

Diagram znázorňující tři aplikace Dvě jsou připojené ke sdílenému tenantovi Azure AD B2C. Třetí je připojený k vlastnímu tenantovi Azure AD B2C.

Jeden tenant Azure AD B2C na tenanta aplikace

Pokud pro každého tenanta aplikace zřídíte tenanta Azure AD B2C, můžete přizpůsobit mnoho faktorů pro každého tenanta. Tento přístup ale vytváří významné zvýšení režie. Potřebujete vyvinout strategii nasazení a údržby pro potenciálně velký počet tenantů Azure AD B2C.

Musíte také vědět o limitech služeb. Předplatná Azure umožňují nasadit pouze omezený počet tenantů Azure AD B2C. Pokud potřebujete nasadit více než limit, musíte zvážit vhodný návrh předplatného, abyste mohli vyrovnávat tenanty Azure AD B2C napříč několika předplatnými. Platí i další omezení Microsoft Entra, například počet adresářů, ke kterým může jeden uživatel vytvořit a počet adresářů, do nichž může uživatel patřit.

Upozorňující

Vzhledem ke složitosti tohoto přístupu důrazně doporučujeme nejprve zvážit ostatní modely izolace. Tato možnost je zde zahrnuta kvůli úplnosti, ale není to správný přístup pro většinu případů použití.

Běžnou chybnou představou je předpokládat, že pokud používáte vzor razítka nasazení, musíte do každého razítka zahrnout služby identit. To nemusí nutně platit a často můžete místo toho použít jiný model izolace. Pokud použijete tento model izolace, procvičit si úsilí a mít jasné obchodní odůvodnění. Režie na nasazení a údržbu je významná.

Měli byste zvážit zřízení tenanta Azure AD B2C pro každého tenanta aplikace, pouze pokud:

  • Pro tenanty aplikací máte přísné požadavky na izolaci dat.
  • Máte dlouhodobou strategii pro nasazení a údržbu velkého počtu tenantů Azure AD B2C.
  • Máte strategii pro horizontální dělení vašich zákazníků mezi jedno nebo více předplatných Azure, abyste vyhověli limitu tenanta Azure AD B2C na předplatné.
  • Vaše aplikace je nebo může vědět o víceklientské úrovni a ví, ke kterému tenantovi Azure AD B2C se vaši uživatelé musí přihlásit.
  • Potřebujete provést vlastní konfiguraci pro každého tenanta aplikace.
  • Koncoví uživatelé nemusí prostřednictvím stejného přihlašovacího účtu přistupovat k více než jednomu tenantovi aplikace.

Následující diagram znázorňuje použití jednoho tenanta Azure AD B2C na tenanta aplikace:

Diagram znázorňující tři aplikace, z nichž každý se připojuje k vlastnímu tenantovi Azure AD B2C

Federace identit

Musíte nakonfigurovat každého zprostředkovatele federované identity, a to buď prostřednictvím toku uživatele, nebo ve vlastních zásadách. Při přihlašování uživatelé obvykle vyberou zprostředkovatele identity, kterého chtějí použít k ověření. Pokud používáte model izolace sdíleného tenanta nebo máte velký počet zprostředkovatelů federovaných identit, zvažte použití zjišťování domovské sféry k automatickému výběru zprostředkovatele identity během přihlašování.

Federaci identit můžete použít také jako nástroj pro správu více tenantů Azure AD B2C tím, že mezi sebou federujete tenanty Azure AD B2C. To umožňuje aplikaci důvěřovat jednomu tenantovi Azure AD B2C. Aplikace nemusí vědět, že vaši zákazníci jsou rozděleni mezi několik tenantů Azure AD B2C. Tento přístup se nejčastěji používá ve svislém děleném modelu izolace, když jsou uživatelé rozděleni podle oblasti. Pokud tento přístup přijmete, je potřeba vzít v úvahu některé aspekty. Přehled tohoto přístupu najdete v tématu Globální řešení identit.

Zjišťování domovské sféry

Zjišťování domovské sféry je proces automatického výběru zprostředkovatele federované identity pro událost přihlášení uživatele. Pokud automaticky vyberete zprostředkovatele identity uživatele, nemusíte uživatele vyzvat k výběru zprostředkovatele.

Zjišťování domovské sféry je důležité, když použijete sdíleného tenanta Azure AD B2C a umožníte zákazníkům používat vlastního zprostředkovatele federované identity. Můžete se vyhnout návrhu, ve kterém si uživatel musí vybrat ze seznamu zprostředkovatelů identity. Tím se zvyšuje složitost procesu přihlašování. Uživatel může také omylem vybrat nesprávného poskytovatele, což způsobí selhání pokusu o přihlášení.

Zjišťování domovské sféry můžete nakonfigurovat různými způsoby. Nejběžnějším přístupem je použití přípony domény e-mailové adresy uživatele k určení zprostředkovatele identity. Řekněme například, že Northwind Traders je zákazníkem víceklientské řešení společnosti Fabrikam. E-mailová adresa user@northwindtraders.com obsahuje příponu northwindtraders.comdomény, která se dá namapovat na zprostředkovatele federované identity Northwind Traders.

Další informace naleznete v tématu Zjišťování domovské sféry. Příklad implementace tohoto přístupu v Azure AD B2C najdete v úložišti GitHub ukázek Azure AD B2C.

Umístění dat

Když zřídíte tenanta Azure AD B2C, vyberete pro účely rezidence dat oblast, ve které chcete tenanta nasadit. Tato volba je důležitá, protože určuje oblast, ve které se nacházejí vaše zákaznická data, když jsou neaktivní uložená. Pokud máte požadavky na rezidenci dat pro podmnožinu vašich zákazníků, zvažte použití svisle dělené strategie.

Autorizace

U řešení silné identity musíte kromě ověřování zvážit také autorizaci. Existuje několik přístupů k vytvoření strategie autorizace pro vaši aplikaci pomocí platformy Microsoft Identity Platform. Ukázka AppRoles ukazuje, jak pomocí rolí aplikace Azure AD B2C implementovat autorizaci v aplikaci. Popisuje také alternativní přístupy k autorizaci.

Neexistuje jediný přístup k autorizaci a při rozhodování o přístupu byste měli zvážit potřeby vaší aplikace a vašich zákazníků.

Údržba

Při plánování víceklientského nasazení Azure AD B2C je potřeba zvážit dlouhodobou údržbu vašich prostředků Azure AD B2C. Tenant Azure AD B2C, jako je tenant Microsoft Entra vaší organizace, je prostředek, který potřebujete vytvořit, udržovat, provozovat a zabezpečit. I když následující seznam není vyčerpávající, měli byste zvážit údržbu, která vznikla v oblastech, jako jsou tyto:

  • Zásady správného řízení tenanta. Kdo udržuje tenanta Azure AD B2C? Jaké zvýšené role potřebují tito správci? Jak pro správce nakonfigurujete zásady podmíněného přístupu a vícefaktorového ověřování? Jak dlouhodobě monitorujete tenanta Azure AD B2C?
  • Konfigurace cesty uživatele Jak nasadíte změny do tenanta nebo tenantů Azure AD B2C? Jak testujete změny toků uživatelů nebo vlastních zásad před jejich nasazením?
  • Zprostředkovatelé federovaných identit Potřebujete v průběhu času přidat nebo odebrat zprostředkovatele identity? Pokud každému ze svých zákazníků povolíte používání vlastního zprostředkovatele identity, jak ho můžete spravovat ve velkém měřítku?
  • Registrace aplikací. Mnoho registrací aplikací Microsoft Entra používá k ověřování tajný klíč klienta nebo certifikát . Jak tyto tajné kódy nebo certifikáty obměňujete, když potřebujete?
  • Klíče zásad. Pokud používáte vlastní zásady, jak klíče zásad otočíte, když potřebujete?
  • Přihlašovací údaje uživatele. Jak spravujete informace o uživateli a přihlašovací údaje? Co se stane, když je některý z vašich uživatelů uzamčený nebo zapomene heslo a vyžaduje zásah správce nebo služby zákazníka?

Mějte na paměti, že tyto otázky musíte vzít v úvahu pro každého tenanta Azure AD B2C, kterého nasadíte. Měli byste také zvážit, jak se vaše procesy mění, když máte k údržbě více tenantů Azure AD B2C. Ruční nasazení změn vlastních zásad do jednoho tenanta Azure AD B2C je například snadné, ale ruční nasazení do pěti tenantů je časově náročné a rizikové.

Nasazení a DevOps

Dobře definovaný proces DevOps vám pomůže minimalizovat režii potřebnou k údržbě tenantů Azure AD B2C. V rané fázi procesu vývoje byste měli implementovat postupy DevOps. V ideálním případě byste se měli pokusit automatizovat všechny nebo většinu úloh údržby, včetně nasazení změn vlastních zásad nebo toků uživatelů. Než je nasadíte do produkčních tenantů, měli byste také naplánovat vytvoření několika tenantů Azure AD B2C pro postupné testování změn v nižších prostředích. Vaše kanály DevOps můžou tyto aktivity údržby provádět. Pomocí rozhraní Microsoft Graph API můžete programově spravovat tenanty Azure AD B2C.

Další informace o automatizovaných nasazeních a správě Azure AD B2C najdete v následujících zdrojích informací.

Důležité

Některé koncové body, které se používají ke správě Azure AD B2C prostřednictvím kódu programu, nejsou obecně dostupné. Rozhraní API v beta verzi Microsoft Graphu se můžou kdykoli změnit a podléhají předběžným podmínkám služby.

Porovnání Microsoft Entra B2B s Azure AD B2C

Spolupráce Microsoft Entra B2B je funkce Microsoft Entra Externí ID, kterou můžete použít k pozvání uživatelů typu host do tenanta Microsoft Entra vaší organizace, abyste s nimi mohli spolupracovat. Spolupráci B2B obvykle používáte v případě, že potřebujete externímu uživateli, jako je dodavatel, udělit přístup k prostředkům ve vašem tenantovi Microsoft Entra.

Azure AD B2C je jedinečný produkt kromě Microsoft Entra Externí ID, který poskytuje jinou sadu funkcí. Azure AD B2C má být používán zákazníky vašeho produktu. Váš tenant Azure AD B2C se liší od tenanta Microsoft Entra vaší organizace.

V závislosti na vašich uživatelích a scénářích možná budete muset používat Microsoft Entra B2B, Azure AD B2C nebo dokonce obojí najednou. Pokud například vaše aplikace potřebuje ověřit více typů uživatelů, jako jsou zaměstnanci ve vaší organizaci, uživatelé, kteří pracují pro dodavatele a zákazníky, můžete k splnění tohoto požadavku použít Microsoft Entra B2B a Azure AD B2C.

Další informace naleznete v tématu:

Přispěvatelé

Tento článek spravuje Microsoft. Původně byla napsána následujícími přispěvateli.

Hlavní autor:

Další přispěvatelé:

Pokud chcete zobrazit neveřejné profily LinkedIn, přihlaste se na LinkedIn.

Další kroky