Sdílet prostřednictvím


Architektura zabezpečeného aplikačního modelu

Microsoft zavádí zabezpečenou škálovatelnou architekturu pro ověřování partnerů CSP (Cloud Solution Provider) a dodavatelů ovládacích panelů (CPV) prostřednictvím architektury vícefaktorového ověřování Microsoft Azure (MFA). Partneři CSP a dodavatelé ovládacích panelů můžou spoléhat na nový model, aby zvýšili zabezpečení pro volání integrace rozhraní API Partnerského centra. To pomáhá všem stranám, včetně partnerů Microsoftu, partnerů CSP a dodavatelů Ovládacích panelů, chránit svou infrastrukturu a zákaznická data před riziky zabezpečení.

Důležitý

Azure Active Directory (Azure AD) Graph je od 30. června 2023 zastaralý. Do budoucna nebudeme dělat žádné další investice do Azure AD Graphu. Rozhraní Azure AD Graph API nemají žádné závazky SLA ani závazky údržby, kromě oprav souvisejících se zabezpečením. Investice do nových funkcí a funkcí budou provedeny pouze v Microsoft Graphu.

Azure AD Graph vyřadíme v přírůstkových krocích, abyste měli dostatek času na migraci aplikací do rozhraní Microsoft Graph API. Později, kdy budeme oznamovat, zablokujeme vytváření nových aplikací pomocí Azure AD Graphu.

Další informace najdete v tématu Důležité: Vyřazení Azure AD Graph a vyřazení modulu PowerShell.

Rozsah

Tento článek se vztahuje na následující partnery:

  • Dodavatelé ovládacích panelů (CPV) jsou nezávislí dodavatelé softwaru, kteří vyvíjejí aplikace pro použití partnery CSP pro integraci s rozhraními API Partnerského centra. CPV není partner CSP s přímým přístupem k partnerskému řídicímu panelu nebo rozhraním API. Jsou to společnosti, které vyvíjejí aplikace (obvykle webové aplikace), které poskytovatelům CSP umožňují prodávat své produkty prostřednictvím jednotného marketplace.
  • Nepřímí poskytovatelé CSP a přímí partneři CSP, kteří používají ID aplikace + ověřování uživatelů a přímo se integrují s rozhraními API Partnerského centra.

Poznámka

Pokud se chcete kvalifikovat jako CPV, musíte se nejprve připojit k Partner Centeru jako CPV. Pokud jste stávajícím partnerem CSP, který je také CPV, platí pro vás i tento požadavek.

Zabezpečený vývoj aplikací

V procesu zadávání objednávek pro produkty Microsoftu jménem poskytovatelů CSP aplikace z marketplace komunikují s rozhraními API Microsoftu a zařazují objednávky a zřizují prostředky pro zákazníky.

Mezi tato rozhraní API patří:

  • Rozhraní API Partnerského centra implementují obchodní operace, jako je zadávání objednávek a správa životního cyklu předplatného.
  • Microsoft Graph API, která implementují správu identit pro tenanty CSP a tenanty zákazníků CSP.
  • Rozhraní API Azure Resource Manageru (ARM) zajišťují funkci nasazení do Azure.

Partneři CSP mají při volání rozhraní API Microsoftu oprávnění k tomu, aby mohli jednat jménem svých zákazníků. Delegovaná oprávnění umožňují partnerům CSP dokončit scénáře nákupu, nasazení a podpory pro své zákazníky.

Aplikace Marketplace jsou navržené tak, aby partnerům CSP pomohly uvést jejich řešení pro zákazníky. Aby toho bylo dosaženo, musí aplikace marketplace zosobnit oprávnění partnera CSP pro volání rozhraní API Microsoftu.

Vzhledem k tomu, že oprávnění partnera CSP jsou vysoká a poskytují přístup všem zákazníkům partnera, je důležité pochopit, jak musí být tyto aplikace navrženy tak, aby odolá vektorům zneužití zabezpečení. Útoky na zabezpečení na tyto citlivé aplikace můžou vést k ohrožení zákaznických dat. Proto musí být udělování oprávnění a zosobnění oprávnění partnera navrženo tak, aby dodržovalo zásadu minimálních oprávnění. Následující principy a osvědčené postupy zajišťují, aby byly aplikace marketplace udržitelné a mohly by odolat kompromisům.

Principy zabezpečení pro zosobnění přihlašovacích údajů

  • Aplikace z Marketplace nesmí ukládat žádné přihlašovací údaje od partnerů CSP.

  • Uživatelská hesla partnerů CSP by se neměla sdílet.

  • Klíče webové aplikace partnerského tenanta CSP se nesmí sdílet s dodavateli Ovládacích panelů.

  • Aplikace marketplace musí poskytnout identitu aplikace spolu s informacemi o partnerovi, a ne používat pouze přihlašovací údaje partnera při volání, která zosobňují identitu partnera CSP.

  • Přístup k aplikaci marketplace musí být založený na principu nejnižších oprávnění a musí být jasně vyjádřen v oprávněních.

  • Autorizace pro aplikaci obchodního systému musí být navázána na více různých přihlašovacích údajů.

  • Přihlašovací údaje aplikace a přihlašovací údaje partnera musí být k získání přístupu poskytovány společně.

    Důležitý

    Je důležité, aby nedošlo k žádnému jedinému místu kompromisu.

  • Přístup musí být omezený na konkrétní cílovou skupinu nebo rozhraní API.

  • Přístup musí identifikovat účel zosobnění.

  • Přístupová oprávnění pro aplikaci marketplace musí být časově svázaná. Partneři CSP musí mít možnost prodloužit nebo odvolat přístup k aplikaci marketplace.

  • Aby bylo možné zpracovávat ohrožení přihlašovacích údajů aplikace marketplace, musí být zavedeny rychlé procesy řízení nebo nápravy.

  • Všechny uživatelské účty by měly používat dvojúrovňové ověřování (2FA).

  • Aplikační model by měl být přátelský k dodatečným ustanovením zabezpečení, jako je podmíněný přístup k lepšímu modelu zabezpečení.

Poznámka

Nepřímí poskytovatelé CSP a přímí partneři CSP, kteří používají ID aplikace + ověřování uživatelů a přímo se integrují s rozhraními API Partnerského centra, musí dodržovat výše uvedené principy zabezpečení vlastních aplikací marketplace.

Identita a koncepty aplikací

Víceklientských aplikací

Víceklientské aplikace je obecně softwarová aplikace jako služba (SaaS). Aplikaci můžete nakonfigurovat tak, aby přijímala přihlášení z libovolného tenanta Microsoft Entra tak, že nakonfigurujete typ aplikace jako víceklientských na řídicím panelu Azure. Uživatelé v libovolném tenantovi Microsoft Entra se budou moct přihlásit k vaší aplikaci po vyjádření souhlasu s používáním svého účtu s vaší aplikací.

Další informace o vytváření víceklientských aplikací najdete v tématu Přihlášení libovolného uživatele Microsoft Entra pomocí vzoru víceklientských aplikací.

Aby se uživatel přihlásil k aplikaci v Microsoft Entra ID, musí být aplikace reprezentovaná v tenantovi uživatele, což organizaci umožňuje provádět věci, jako je použití jedinečných zásad, když se uživatelé z jejich tenanta přihlásí k aplikaci. U jedné aplikace tenanta je tato registrace jednoduchá: je to ta, která se stane, když aplikaci zaregistrujete na řídicím panelu Azure.

U víceklientské aplikace se počáteční registrace aplikace nachází v tenantovi Microsoft Entra používaném vývojářem. Když se uživatel z jiného tenanta poprvé přihlásí k aplikaci, Microsoft Entra ID ho požádá o souhlas s oprávněními požadovanými aplikací. Pokud souhlasí, v tenantovi uživatele se vytvoří reprezentace aplikace nazývaná "service principal" a proces přihlášení může pokračovat. Delegace se také vytvoří v adresáři, který zaznamenává uživatelský souhlas s aplikací.

Poznámka

Nepřímí poskytovatelé CSP a přímí partneři CSP, kteří používají ID aplikace + ověřování uživatelů a přímo se integrují s rozhraními API Partnerského centra, budou muset udělit souhlas s aplikací z marketplace pomocí stejné architektury pro vyjádření souhlasu.

Prostředí souhlasu je ovlivněno oprávněními požadovanými aplikací. Microsoft Entra ID podporuje dva druhy oprávnění, pouze pro aplikace a delegované.

  • oprávnění jen pro aplikaci se uděluje přímo identitě aplikace. Aplikaci můžete například udělit oprávnění ke čtení seznamu uživatelů v tenantovi bez ohledu na to, kdo je přihlášený k aplikaci.
  • Delegovaná oprávnění aplikaci udělí možnost jednat jako přihlášený uživatel pro podmnožinu věcí, které může uživatel dělat. Můžete například aplikaci udělit delegovaná oprávnění ke čtení přihlášeného kalendáře uživatele.

Některá oprávnění jsou udělena běžným uživatelem, zatímco jiné vyžadují souhlas správce tenanta. Další informace o rámci Microsoft Entra pro udělování souhlasů aplikacím naleznete v článku Porozumění zkušenostem s udělováním souhlasů v aplikacích Microsoft Entra.

Víceklientská aplikace - tok tokenů pro otevřenou autorizaci (OAuth)

V toku otevřené autorizace víceklientské aplikace (OAuth) je aplikace reprezentována jako víceklientská aplikace v tenantovi partnera CPV nebo CSP.

Pokud chcete získat přístup k rozhraním API Microsoftu (rozhraní API Partnerského centra, rozhraní Graph API atd.), musí se partneři CSP přihlásit k aplikaci a odsouhlasit, aby aplikaci umožňovala volat rozhraní API jejich jménem.

Poznámka

Nepřímí poskytovatelé CSP a přímí partneři CSP, kteří používají ID aplikace a ověřování uživatelů a přímo se integrují s rozhraními API Partnerského centra, budou muset udělit souhlas s aplikací marketplace, aby mohli používat stejnou architekturu souhlasu.

Aplikace získá přístup k prostředkům partnera, jako jsou rozhraní Graph a Partner Center API, prostřednictvím udělení souhlasu a OAuth.

Vytvoření víceklientských aplikací

Víceklientní aplikace musí splňovat následující požadavky:

  • Musí se jednat o webovou aplikaci s ID aplikace a tajným klíčem.
  • Musí mít vypnutý implicitní režim ověřování.

Kromě toho doporučujeme dodržovat tyto osvědčené postupy:

  • Použijte certifikát pro tajný klíč.
  • Povolení podmíněného přístupu pro použití omezení rozsahu IP adres To může vyžadovat povolení dalších funkcí v tenantovi Microsoft Entra.
  • Použijte zásady životnosti přístupového tokenu pro aplikaci.

Při získávání tokenu se musí předložit ID aplikace a tajný klíč. Tajný klíč může být certifikát.

Aplikaci je možné nakonfigurovat tak, aby volala více rozhraní API, včetně rozhraní API Azure Resource Manageru. Toto jsou minimální sada oprávnění vyžadovaná pro rozhraní API Partnerského centra:

  • Delegovaná oprávnění Microsoft Entra ID: Přístup k adresáři jako přihlášený uživatel
  • Delegovaná oprávnění rozhraní API Partnerského centra: Přístup

Multitenantní aplikace musí získat souhlas od partnerů a použít tento souhlas k dalším voláním rozhraní API Partnerského centra. Souhlas se získává prostřednictvím toku ověřovacího kódu OAuth.

Pokud chcete získat souhlas, partneři CPV nebo CSP musí vytvořit web pro onboarding, který může přijmout udělení ověřovacího kódu z Microsoft Entra ID.

Další informace najdete v tématu microsoft identity platformě a toku autorizačního kódu OAuth 2.0.

Tady jsou kroky pro víceklientské aplikace pro zachycení souhlasu partnera CSP spolu s opakovaně použitelným tokenem pro volání rozhraní API Partnerského centra.

K získání souhlasu partnera použijte následující postup.

  1. Vytvořte webovou aplikaci pro onboarding partnera, která může hostovat odkaz na vyjádření souhlasu partnera, aby klikl, aby přijal souhlas s víceklientskou aplikací.
  2. Partner CSP klikne na odkaz pro vyjádření souhlasu. Například https://login.microsoftonline.com/common/oauth2/authorize?&client_id=<marketplaceappid>&response_ty
  3. Přihlašovací stránka Microsoft Entra vysvětluje oprávnění, která budou udělena aplikaci jménem uživatele. Partner CSP se může rozhodnout použít přihlašovací údaje agenta pro správu nebo prodejního agenta k přihlášení a schválení souhlasu. Aplikace má udělená oprávnění na základě role uživatele použité k přihlášení.
  4. Po udělení souhlasu vytvoří Microsoft Entra ID služebního principála víceklientské aplikace CPV v tenantovi partnera CSP.
    • Aplikaci jsou uděleny OAuth oprávnění k jednání jménem uživatele. Tyto granty umožňují víceklientské aplikaci volat rozhraní API Partnerského centra v zastoupení partnera.
    • V tomto okamžiku se přihlašovací stránka Microsoft Entra přesměruje na webovou aplikaci pro onboarding partnera. Webová aplikace obdrží autorizační kód z ID Microsoft Entra. Webová aplikace pro onboarding partnera musí používat autorizační kód spolu s ID aplikace a tajným klíčem k volání rozhraní Microsoft Entra ID Tokens API pro získání obnovovacího tokenu.
  5. Bezpečně uložte obnovovací token. Obnovovací token je součástí přihlašovacích údajů partnera, které slouží k získání přístupu k rozhraním API Partnerského centra jménem partnera. Po získání obnovovacího tokenu ho zašifrujte a uložte do úložiště tajných klíčů, jako je trezoru klíčů Azure.

Tok volání žádosti o token

Aplikace partnera CPVs nebo CSP musí získat přístupový token před voláním rozhraní API Partnerského centra. Tato rozhraní API jsou reprezentována na adrese URL prostředku https://api.partnercenter.microsoft.com.

Aplikace CPV by měla identifikovat, který partnerský účet musí zosobnit, aby volala rozhraní API Partnerského centra na základě buď produktu, nebo federovaného přihlašování. Aplikace načte šifrovaný obnovovací token pro daného partnerského tenanta z úložiště tajných klíčů. Před použitím musí být obnovovací token dešifrován.

U partnerů CSP, kteří mají souhlas jenom s jedním tenantem, odkazuje partnerský účet na tenanta partnera CSP.

Obnovovací token je určen pro více cílových skupin. To znamená, že obnovovací token lze použít k získání tokenu pro více cílových skupin na základě uděleného souhlasu. Pokud je například udělen souhlas partnera pro rozhraní API Partnerského centra a rozhraní Microsoft Graph API, můžete použít obnovovací token k vyžádání přístupového tokenu pro obě rozhraní API. Přístupový token má udělení "na základě pověření" a umožňuje aplikaci marketplace vydávat se za partnera, který udělil souhlas při volání těchto API.

Přístupový token je možné získat pro jednu cílovou skupinu najednou. Pokud aplikace potřebuje přístup k více rozhraním API, musí požádat o více přístupových tokenů pro cílovou skupinu. K vyžádání přístupového tokenu musí aplikace volat rozhraní Microsoft Entra ID Tokens API . Případně může také použít sadu Microsoft Entra SDK AuthenticationContext.AcquireTokenAsync a předat následující informace:

  • URL prostředku, což je koncová URL adresa, kterou má volat aplikace. Například adresa URL prostředku pro rozhraní API Partnerského centra Microsoftu je https://api.partnercenter.microsoft.com.
  • Přihlašovací údaje aplikace, které se skládají z ID webové aplikace a tajného klíče.
  • Obnovovací token

Výsledný přístupový token umožňuje aplikaci volat rozhraní API, která jsou uvedena ve zdroji. Aplikace nemůže požádat o přístupový token pro API, která neobdržela oprávnění jako součást žádosti o souhlas. Hodnota atributu UserPrincipalName (UPN) je uživatelské jméno Microsoft Entra pro uživatelské účty.

Další aspekty

Podmíněný přístup

Pokud jde o správu cloudových prostředků, klíčovým aspektem zabezpečení cloudu je identita a přístup. V mobilním a cloudovém světě můžou uživatelé přistupovat k prostředkům vaší organizace pomocí různých zařízení a aplikací odkudkoli. Nestačí zaměřit se jen na to, kdo může mít přístup k prostředku. Pokud chcete zvládnout rovnováhu mezi zabezpečením a produktivitou, musíte také zvážit, jak se k prostředku přistupuje. Pomocí podmíněného přístupu Microsoft Entra můžete tento požadavek vyřešit. Pomocí podmíněného přístupu můžete implementovat automatizovaná rozhodnutí o řízení přístupu pro přístup ke cloudovým aplikacím, které jsou založené na podmínkách.

Další informace najdete v tématu Co je podmíněný přístup v Microsoft Entra ID?

Omezení rozsahu IP adres

Tokeny můžete omezit jenom na konkrétní rozsah IP adres. Tato funkce pomáhá omezit oblast útoku pouze na konkrétní síť.

Vícefaktorové ověřování

Vynucení vícefaktorového ověřování pomáhá omezit situace ohrožení přihlašovacích údajů vynucením ověření přihlašovacích údajů na dva nebo více formulářů. Tato funkce umožňuje službě Microsoft Entra ID ověřit identitu volajícího prostřednictvím zabezpečených sekundárních kanálů, jako jsou mobilní nebo e-maily, před vystavením tokenů.

Další informace najdete v tématu Jak to funguje: Azure Multi.