Správa identit a přístupu pro úlohy SaaS v Azure
Identita aplikace je kritickou oblastí pro úlohy SaaS, protože slouží jako první linie obrany pro ochranu dat. Často se přehlíží až do konce projektu, ale mnoho rozhodnutí o jiných prvech aplikace závisí na solidní strategii identit. Nepodceňujte důležitost identity při ochraně dat vašich zákazníků.
V kontextu úloh SaaS existují dva různé typy identit.
Identita aplikace, označovaná také jako správa identit a přístupu zákazníků (CIAM), umožňuje koncovým uživatelům ověřovat a používat vaši aplikaci SaaS. Existují dvě hlavní metody přihlašování uživatelů ke zprostředkovateli identity aplikace:
Federované identity. Uživatelé se přihlašují pomocí existujících přihlašovacích údajů, které spravuje jiný zprostředkovatel identity. Tento poskytovatel může být zprostředkovatelem sociální identity, jako je Google, Facebook nebo LinkedIn, nebo zprostředkovatel podnikové identity, který vaši zákazníci používají, například Microsoft Entra nebo Okta. Údržba účtu uživatele je odpovědností zprostředkovatele federované identity.
Místní identity. Uživatelé vytvoří účet jenom pro vaši aplikaci. Účet je zabezpečený pomocí uživatelského jména a hesla, klíče nebo jiných metod ověřování. Údržba účtu uživatele je vaší zodpovědností.
Podniková identita je řešení identit, které slouží k ověřování interních uživatelů a úloh pro obchodní nástroje pro produktivitu, interní nástroje nebo služby a služby Azure. K ověření interních uživatelů a úloh pro interní uživatele a úlohy použijete podnikové řešení identit pro firemní nástroje pro produktivitu, interní nástroje nebo služby a služby Azure.
Viz SE:05 Správa identit a přístupu.
Aplikační a podnikové identity slouží různým účelům a můžou používat různé zprostředkovatele identity. Tento článek se zaměřuje na aspekty návrhu pro identitu aplikace, i když oba typy budou pravděpodobně k dispozici ve vašem prostředí úloh SaaS.
Správa identit zahrnuje dvě související aspekty: ověřování (ověření identity uživatele) a autorizace (udělení oprávnění na základě identity). První tři části tohoto článku se zaměřují na ověřování saaS. Poslední část řeší aspekty autorizace pro poskytovatele SaaS.
Identita ve víceklientských aplikacích
Udržování dat tenanta v víceklientských aplikacích je důležité. Tato segmentace vychází z vaší volby efektivního ověřování a autorizace uživatelů. Volba modelu tenantů také výrazně ovlivňuje vaše rozhodnutí o zprostředkovateli identity. Určete prioritu identity jako primární hraniční síť.
Informace o segmentaci najdete v tématu SE:04 Doporučení.
Aspekty návrhu
Seznamte se s modely tenantů a nasazení pro vaši aplikaci. Vaše strategie identit může mít vliv na drobné odlišnosti. Jedná se například o omyl, že vzor razítka nasazení vyžaduje v každém razítku zprostředkovatele identity. U většiny zprostředkovatelů identity můžete často použít alternativní model izolace.
Když zvolíte zprostředkovatele identity pro víceklientské prostředí, vyhodnoťte dopad selhání. Chybné konfigurace můžou potenciálně snížit celou aplikaci pro všechny tenanty. Zvažte režijní náklady oproti riziku potenciálního poloměru dopadu.
Pokud řešení nasadíte do prostředí Azure zákazníka a budete ho spravovat za něj, budete možná muset provést integraci s poskytovatelem podnikové identity. Jasně rozumíte těmto aspektům:
- Typy uživatelů a jejich přístup potřebují při interakci s tenanty vaší aplikace. Uživatel A může například potřebovat přístup jenom k přihlášení k tenantovi 1, ale uživatel B může potřebovat přístup k přihlášení k tenantovi 1 i tenantovi 2.
- Dodržování předpisů o rezidenci dat, pokud se vztahují na vašeho zprostředkovatele identity. V některých případech můžou být data uložená zprostředkovatelem identity předmětem předpisů. Mnoho zprostředkovatelů identity poskytuje pro tento scénář konkrétní pokyny a možnosti. Vyhodnoťte, jestli je tento scénář pro vás relevantní, a proveďte nezbytné kroky k zajištění dodržování předpisů.
Doporučení k návrhu
Doporučení | Výhoda |
---|---|
Postupujte podle osvědčených postupů a pokynů zprostředkovatele identity pro dělení řešení pro více tenantů. | Izolace tenanta vám pomůže dosáhnout cílů zabezpečení a dodržování předpisů. |
Vyhněte se tomu, aby pro stejného uživatele bylo více účtů. Uživatel by měl mít jeden účet s jednou sadou přihlašovacích údajů, i když potřebuje přístup k více tenantům. Podle potřeby udělte přístup ke každému tenantovi místo vytváření více účtů pro stejného uživatele. | Vytvoření více účtů pro stejného uživatele zvyšuje bezpečnostní rizika a může zmást uživatele, kteří si musí pamatovat více uživatelských jmen a hesel pro stejný software. |
Při zvažování rezidence dat naplánujte, jak ukládat uživatelská data do samostatných umístění. Pokud pro uživatele nasadíte samostatné razítko nasazení v jiných zeměpisných oblastech, budete možná potřebovat také samostatné zprostředkovatele identity. Ujistěte se, že máte způsob, jak identifikovat, kde jsou uložená data uživatelů, abyste je mohli v případě potřeby nasměrovat do správné oblasti pro přihlášení. |
Budete moct podporovat požadavky na dodržování předpisů a vylepšit uživatelské prostředí směrováním uživatelů na přihlašovací prostředí, které je vhodné pro jejich umístění. |
Výběr zprostředkovatele identity
Každý zprostředkovatel identity nabízí jedinečné funkce, omezení, cenové modely a vzory implementace. Microsoft Entra a Okta jsou oblíbené možnosti identity jako služby (IDaaS). Existují také další opensourcoví poskytovatelé, jako jsou Keycloak a Authentik.
Aspekty návrhu
Zdokumentujte požadavky na vaši identitu. Začněte uvedením funkcí, které vaše aplikace potřebuje, a v budoucnu ji budete potřebovat. Mezi typické funkce, které je potřeba vzít v úvahu, patří:
-
- Podpora zprostředkovatele federovaných identit pro integraci s řešeními identit zákazníků Tato funkce umožňuje vyhnout se vytváření nových identit.
- Přizpůsobitelný tok přihlášení nebo registrace, který upraví vzhled a chování, aby se zachovala vaše značka. Tato funkce také umožňuje vkládat do procesu přihlašování nebo registrace vlastní obchodní logiku.
- Oddělení dat tenanta do odlišných sila, aby se zachovala izolace tenanta.
- Podpora auditu pro uchovávání nebo export protokolů přihlašování pro správu zabezpečení
Důležité
Při vyhodnocování nákladů na řešení identit zvažte plánovaný růst uživatelů. Řešení nemusí být v dlouhodobém horizontu nákladově efektivní ani škálovatelné, ale může být pro teď užitečné. Máte plán migrace, který můžete použít v případě potřeby.
Například řešení může být cenově dostupné pro 500 uživatelů, ale pro 5 milionů uživatelů je nedostupné. Pokud vyžaduje minimální nastavení a je uživatelsky přívětivé a snadno se migruje, může být stále správnou volbou, dokud škálování nákladů neodůvodní přechod na jiné řešení.
Důkladně prozkoumáte možnosti zprostředkovatele identity. Ujistěte se, že řešení identit odpovídá vašemu seznamu požadovaných funkcí. I když v současné době nepotřebujete složité scénáře, jako je federovaná identita, zvažte budoucí potřeby. U řešení SaaS typu business-to-business (B2B) bude pravděpodobně nakonec potřeba federovaná identita.
Faktor v režii správy Různí zprostředkovatelé identit vyžadují různé úrovně režijních nákladů na správu. Dobře známá řešení IDaaS obvykle mají menší režii, protože zpracovávají hostování, údržbu a zabezpečení. Další režijní náklady na opensourcové řešení ale můžou být užitečné, pokud je řešení vhodnější pro vaše specializované potřeby.
Doporučení k návrhu
Doporučení | Výhoda |
---|---|
Nevytvávejte vlastní řešení identit. Identita je vysoce specializovaná oblast a vytvoření řešení identit je složité a nákladné. Vytvoření řešení identit, které je bezpečné a spolehlivé, je obtížné. | Vyhnete se antipatternu vytvoření vlastního poskytovatele a vylepšení zabezpečení, spolehlivosti a provozní efektivity vašeho řešení. |
Vytvořte matici funkcí nabízených zprostředkovateli identit a namapujte ji na požadavky na vaši identitu. | Zajistíte, aby se vaše schopnost vyvíjet bez omezení omezenou sadou funkcí identit. |
Upřednostňte možnosti IDaaS u opensourcových řešení. Hostování opensourcového řešení sami způsobuje značné provozní režie a rizika zabezpečení. Tuto možnost ale můžete zvolit, pokud chcete splnit konkrétní požadavky na dodržování předpisů, rezidenci dat nebo spolehlivost, kterou poskytovatel nemůže splnit. Další informace najdete v tématu Zprostředkovatele identity IDaaS. |
Když použijete zprostředkovatele identity IDaaS, vyhnete se zbytečné složitosti a můžete se zaměřit na vaše základní podnikání. |
Federovaná identita
Federovaná identita, označovaná také jako jednotné přihlašování (SSO), umožňuje uživatelům přihlásit se pomocí přihlašovacích údajů, které už používají jinde. Federovanou identitu povolíte tak, že vytvoříte vztah důvěryhodnosti mezi zprostředkovatelem identity vaší aplikace a existujícím zprostředkovatelem identity zákazníka. Federovaná identita je běžným požadavkem pro řešení SaaS, zejména v B2B, protože zákazníci dávají přednost používání podnikových přihlašovacích údajů svým zaměstnancům. Nabízí několik výhod pro řešení B2B, jako je centralizovaná správa identit a automatická správa životního cyklu. V produktech B2C SaaS je integrace se zprostředkovateli sociálních identit běžná, aby se uživatelé mohli přihlásit pomocí existujících přihlašovacích údajů.
Kompromis: Složitost a provozní efektivita. Když pracujete s zprostředkovateli federovaných identit, zjednodušíte správu identit uživatelů. Vezměte ale náklady na integraci s jiným zprostředkovatelem identity. Rozhodněte se, kam chcete zaměřit provozní úsilí.
Implementace federované identity je zpočátku jednoduchá, ale s rostoucím počtem podporovaných zprostředkovatelů identity se stává složitější. Pečlivé plánování je nezbytné, zejména pokud každý zákazník používá jedinečného zprostředkovatele identity. I když používají stejného zprostředkovatele identity, pro každého zákazníka se kvůli konkrétním podrobnostem konfigurace často vyžadují jedinečné vztahy důvěryhodnosti.
Tento obrázek ukazuje vztah mezi vaší aplikací, vaším zprostředkovatelem identity aplikace a podřízenými zprostředkovateli identit, které můžete implementovat pomocí federace identit.
Aspekty návrhu
Odhadněte typy a počet zprostředkovatelů identity, které potřebujete podporovat. Možná budete potřebovat statický počet zprostředkovatelů sociálních identit nebo pro každého zákazníka budete potřebovat jedinečné federované zprostředkovatele identit. Měli byste vědět, jestli vaši zákazníci budou pro integraci používat OpenID Connect (OIDC), SAML (Security Assertion Markup Language) nebo obojí.
Namapujte přihlašovací prostředí. Vizualizujte tok uživatele procesu registrace a přihlášení. Mějte na paměti všechny zvláštní požadavky, které by mohly změnit návrh toku uživatele. Příklad:
Vlastní branding. White labeling or custom sign-in domains per customer.
Vlastní informace. Shromažďování dalších informací o uživatelích během registrace nebo přihlašování, například výběr tenanta pro uživatele s přístupem k více tenantům.
Výběr zprostředkovatele identity Pokud používáte jednoho zprostředkovatele identity aplikace, kterému důvěřuje mnoho federovaných zprostředkovatelů identity, rozhodněte se, jak vybrat zprostředkovatele. Tento výběr může být proveden ručně pomocí tlačítka nebo automaticky na základě známých informací o uživateli. S rostoucím počtem poskytovatelů je automatický výběr praktičtější. Tato funkce se označuje jako zjišťování domovské sféry.
Doporučení k návrhu
Doporučení | Výhoda |
---|---|
Vyberte zprostředkovatele identity, který se dá škálovat tak, aby vyhovoval počtu federovaných zprostředkovatelů identity, které potřebujete. Mějte na paměti pevné limity poskytovatele, které není možné překročit. |
Zajistíte, aby vaše řešení identit bylo možné škálovat při růstu. |
Naplánujte onboarding každého zprostředkovatele federované identity a automatizujte proces co nejvíce. Toto úsilí ve spolupráci mezi vaší organizací a zákazníky zahrnuje výměnu informací za účelem vytvoření vztahu důvěryhodnosti, obvykle prostřednictvím protokolů OIDC nebo SAML. |
Integrace identit může pro vás i vaše zákazníky trvat určitou dobu a úsilí. Plánováním procesu zlepšíte provozní efektivitu. |
Odráží složitost a náklady na federovanou identitu ve vašem cenovém a obchodním modelu. Díky tomu, že zákazníci mohou používat vlastního zprostředkovatele identity, zvyšuje provozní složitost a náklady kvůli režii při údržbě více vztahů důvěryhodnosti federovaných identit. U řešení SaaS je běžné, že podniky platí za vyšší úroveň, která umožňuje federované přihlašování. |
Federování s zprostředkovatelem identity zákazníka může být skryté náklady v řešeních SaaS. Plánováním se vyhnete neočekávaným nákladům během implementace. |
Naplánujte způsob výběru zprostředkovatele identity uživatele během procesu přihlašování. Zvažte použití zjišťování domovské sféry. Microsoft Entra ID poskytuje integrované zjišťování domovské sféry. |
Zjednodušíte uživatelské prostředí a zajistíte, aby se uživatelé přesměrovali na správný proces přihlašování. |
Autorizace
Autorizace uživatelů je zásadní pro aplikace SaaS, které často ukládají data pro více tenantů. Jasně definujte, jak budou mít uživatelé oprávnění přistupovat pouze ke svým datům bez neúmyslného přístupu k datům jiných tenantů. Kromě toho v rámci tenanta poskytněte podrobnou autorizaci, která uživatelům umožňuje číst nebo přistupovat k určitým informacím a zároveň omezit aktualizace nebo přístup k jiným datům.
Aspekty návrhu
Zvolte správný autorizační model pro případ použití. Existují dva hlavní typy:
- Autorizace na základě rolí Uživatelé mají přiřazené role nebo skupiny a konkrétní funkce jsou omezené na určité role. Správci můžou například provádět jakoukoli akci, ale uživatelé v jiných rolích mají omezená oprávnění.
- Autorizace založená na prostředcích Každý prostředek má vlastní sadu oprávnění. Uživatel může být správcem jednoho prostředku, ale nemá přístup k jinému.
Rozhodněte, kam se mají ukládat autorizační data. Autorizační data aplikace se dají uložit do:
- Váš zprostředkovatel identity. Využijte výhod předdefinovaných skupin nebo rolí a zpřístupnění oprávnění jako deklarací identity v tokenu vydaném pro vaši aplikaci. Aplikace pak může vynutit autorizační pravidla pomocí těchto deklarací identity tokenů.
- Vaše aplikace. Vyvíjejte vlastní logiku autorizace a ukládejte uživatelská oprávnění v databázi nebo podobném systému, což umožňuje jemně odstupňované ovládací prvky autorizace na základě rolí nebo na úrovni prostředků.
Kompromis: Složitost, flexibilita a zabezpečení Ukládání autorizačních dat ve zprostředkovateli identity a zpřístupnění prostřednictvím deklarací identity je obvykle jednodušší než správa vlastního autorizačního systému. Autorizace založená na deklarací identity ale omezuje vaši flexibilitu a musíte přijmout, že deklarace identity se aktualizují jenom při opětovném spuštění tokenu, což může způsobit zpoždění při použití změněných oprávnění.
Vyhodnoťte dopad delegovaného řízení. Ve většině aplikací SaaS, zejména v aplikacích B2B, je správa rolí a oprávnění delegována zákazníkům. Bez této funkce můžete zvýšit režijní náklady na správu, pokud zákazníci často mění oprávnění svých uživatelů.
Vyhodnoťte přístup s více tenanty. V některých systémech může jeden uživatel potřebovat přístup k datům z více tenantů. Například konzultanti můžou potřebovat přístup k datům z více tenantů. Naplánujte, jak budou zákazníci udělovat přístup těmto uživatelům a jak bude váš tok přihlašování podporovat výběr a přepínání mezi tenanty.
Doporučení k návrhu
Doporučení | Výhoda |
---|---|
Pokud to explicitně nepovolíte, zabráníte uživatelům v přístupu k datům přes hranice tenanta. | Neoprávněný přístup k datům jiného tenanta, i náhodný přístup, je možné považovat za závažný bezpečnostní incident a erode důvěru zákazníků ve vaší platformě. Blokování zbytečného přístupu vám pomůže vyhnout se těmto situacím. |
Pokud jsou data statická a mění se zřídka, uložte je do zprostředkovatele identity. Pokud jsou potřeba časté změny v době, kdy uživatel software používá, uložte autorizační data do aplikace. | Výběr nejlepšího úložiště dat pro autorizační data zvýší efektivitu provozu a pomůže vám splnit vaše potřeby škálovatelnosti. |
Pokud delegujete správu oprávnění zákazníkům, poskytněte jim jasnou metodu správy oprávnění. Vytvořte například webový portál, který je přístupný jenom správcům tenantů pro změnu uživatelských oprávnění. | Zákazníkům poskytnete větší kontrolu a vyhnete se zbytečné provozní zátěži týmu podpory. |
Další materiály
Víceklientská architektura je základní obchodní metodologie pro navrhování úloh SaaS. V těchto článcích najdete další informace o správě identit a přístupu:
- Aspekty architektury pro identitu ve víceklientských řešeních
- Přístupy k architektuře pro identitu ve víceklientských řešeních
Další krok
Seznamte se s výběrem modelu hostování výpočetních prostředků, provozních aspektů a optimalizací technologických možností, které vám pomůžou splnit vaše smlouvy o úrovni služeb a cíle.