Microsoft identity platform osvědčené postupy a doporučení

Tento článek popisuje osvědčené postupy, doporučení a běžné dohledy při integraci s Microsoft identity platform. Tento kontrolní seznam vás provede vysoce kvalitní a zabezpečenou integrací. Pravidelně si tento seznam projděte a ujistěte se, že zachováte kvalitu a zabezpečení integrace vaší aplikace s platformou Identity Platform. Kontrolní seznam není určený ke kontrole celé aplikace. Obsah kontrolního seznamu se může změnit, protože platformu vylepšujeme.

Pokud teprve začínáte, podívejte se do Microsoft identity platform dokumentace, kde se seznámíte se základy ověřování, scénáři aplikací v Microsoft identity platform a dalšími informacemi.

Pomocí následujícího kontrolního seznamu se ujistěte, že je vaše aplikace efektivně integrovaná s Microsoft identity platform.

Tip

Mnoho z těchto osvědčených postupů a doporučení vám může pomoct pomocník s integrací v Azure Portal. Vyberte některou z registrací aplikací v Azure Portal a pak vyberte položku nabídky Pomocník s integrací, abyste mohli začít s asistentem.

Základy

Checkbox Přečtěte si zásady platformy Microsoftu a seznamte se s nimi. Ujistěte se, že vaše aplikace dodržuje uvedené podmínky, protože jsou navržené tak, aby chránily uživatele a platformu.

Vlastnictví

Checkbox Ujistěte se, že informace přidružené k účtu, který jste použili k registraci a správě aplikací, jsou aktuální.

Značka

Checkbox Dodržujte pokyny pro branding pro aplikace.

Checkbox Zadejte smysluplný název a logo vaší aplikace. Tyto informace se zobrazí ve výzvě k vyjádření souhlasu vaší aplikace. Ujistěte se, že vaše jméno a logo reprezentují vaši společnost nebo produkt, aby se uživatelé mohli kvalifikovaně rozhodovat. Ujistěte se, že neporušujete žádné ochranné známky.

Ochrana osobních údajů

Checkbox Uveďte odkazy na podmínky služby a prohlášení o zásadách ochrany osobních údajů vaší aplikace.

Zabezpečení

Checkbox Správa identifikátorů URI pro přesměrování:

  • Udržujte vlastnictví všech identifikátorů URI přesměrování a udržujte záznamy DNS pro ně aktuální.
  • Nepoužívejte v identifikátorech URI zástupné cardy (*).
  • U webových aplikací se ujistěte, že jsou všechny identifikátory URI zabezpečené a šifrované (například pomocí schémat https).
  • U veřejných klientů použijte identifikátory URI pro přesměrování specifické pro konkrétní platformu (zejména pro iOS a Android). V opačném případě použijte identifikátory URI přesměrování s vysokou mírou náhodnosti, abyste zabránili kolizím při volání zpět do aplikace.
  • Pokud se vaše aplikace používá z izolovaného webového agenta, můžete použít https://login.microsoftonline.com/common/oauth2/nativeclient.
  • Pravidelně kontrolujte a upravujte všechny nepoužívané nebo nepotřebné identifikátory URI přesměrování.

Checkbox Pokud je vaše aplikace zaregistrovaná v adresáři, minimalizujte a ručně monitorujte seznam vlastníků registrace aplikací.

Checkbox Nepovolujte podporu pro tok implicitního udělení OAuth2 , pokud to explicitně nevyžadujete. Informace o platném scénáři najdete tady.

Checkbox Přejděte nad rámec uživatelského jména a hesla. Nepoužívejte tok přihlašovacích údajů hesla vlastníka prostředku (ROPC), který přímo zpracovává hesla uživatelů. Tento tok vyžaduje vysokou míru důvěryhodnosti a vystavení uživatelům a měl by se používat pouze v případě, že jiné, bezpečnější toky nelze použít. Tento tok je stále potřeba v některých scénářích (jako je DevOps), ale mějte na pozoru, že jeho použití bude pro vaši aplikaci představovat omezení. Modernější přístupy najdete v tématu Toky ověřování a scénáře aplikací.

Checkbox Ochrana a správa přihlašovacích údajů důvěrných aplikací pro webové aplikace, webová rozhraní API a aplikace démona Používejte přihlašovací údaje certifikátu, nikoli přihlašovací údaje hesla (tajné kódy klienta). Pokud musíte použít přihlašovací údaje hesla, nenastavujte je ručně. Neukládejte přihlašovací údaje v kódu nebo konfiguraci a nikdy nedovolte, aby je zpracovávali lidé. Pokud je to možné, použijte spravované identity pro prostředky Azure nebo Azure Key Vault k ukládání a pravidelné obměně přihlašovacích údajů.

Checkbox Ujistěte se, že vaše aplikace požaduje nejnižší oprávnění. Požádejte pouze o oprávnění, která vaše aplikace nezbytně potřebuje, a jenom v případě, že je potřebujete. Seznamte se s různými typy oprávnění. Používejte oprávnění aplikace pouze v případě potřeby. pokud je to možné, použijte delegovaná oprávnění. Úplný seznam oprávnění Microsoft Graphu najdete v tomto odkazu na oprávnění.

Checkbox Pokud zabezpečujete rozhraní API pomocí Microsoft identity platform, pečlivě si promyslete oprávnění, která by mělo zveřejnit. Zvažte, jaká jsou správná členitost pro vaše řešení a která oprávnění vyžadují souhlas správce. Před provedením jakýchkoli rozhodnutí o autorizaci zkontrolujte očekávaná oprávnění v příchozích tokenech.

Implementace

Checkbox K bezpečnému přihlašování uživatelů používejte moderní řešení ověřování (OAuth 2.0, OpenID Connect).

Checkbox Neprogramujte přímo proti protokolům, jako je OAuth 2.0 a Open ID. Místo toho využijte knihovnu Microsoft Authentication Library (MSAL). Knihovny MSAL bezpečně zabalí protokoly zabezpečení do snadno použitelné knihovny a získáte integrovanou podporu pro scénáře podmíněného přístupu , jednotné přihlašování (SSO) na celém zařízení a integrovanou podporu ukládání tokenů do mezipaměti. Další informace najdete v seznamu klientských knihoven podporovaných Microsoftem. Pokud musíte ručně kódovat ověřovací protokoly, měli byste postupovat podle microsoft SDL nebo podobné metodologie vývoje. Věnujte velkou pozornost aspektům zabezpečení ve specifikacích standardů pro každý protokol.

Checkbox Migrace existujících aplikací z knihovny Azure Active Directory Authentication Library (ADAL) do knihovny Microsoft Authentication Library MSAL je nejnovější řešení platformy identit od Microsoftu a dává přednost před knihovnou ADAL. Je k dispozici pro .NET, JavaScript, Android, iOS, macOS a je také ve verzi Public Preview pro Python a Javu. Přečtěte si další informace o migraci zprostředkovatelů aplikací ADAL.NET, ADAL.jsa ADAL.NET a iOS.

Checkbox U mobilních aplikací nakonfigurujte každou platformu pomocí prostředí pro registraci aplikací. Aby vaše aplikace mohla využívat výhod Microsoft Authenticatoru nebo Microsoft Portál společnosti pro jednotné přihlašování, potřebuje nakonfigurovaný identifikátor URI přesměrování zprostředkovatele. To umožňuje Microsoftu vrátit řízení vaší aplikaci po ověření. Při konfiguraci jednotlivých platforem vás procesem provede prostředí registrace aplikací. Pomocí rychlého startu si stáhněte funkční příklad. V iOSu používejte zprostředkovatele a systémové webové zobrazení, kdykoli je to možné.

Checkbox Ve webových aplikacích nebo webových rozhraních API zachovejte jednu mezipaměť tokenů pro každý účet. U webových aplikací by mezipaměť tokenů měla být klíčová podle ID účtu. U webových rozhraní API by měl být účet klíčován hodnotou hash tokenu použitého k volání rozhraní API. MSAL.NET poskytuje vlastní serializaci mezipaměti tokenů v podplatformách .NET Framework a .NET Core. Z bezpečnostních a výkonnostních důvodů doporučujeme serializovat jednu mezipaměť na uživatele. Další informace najdete v tématu o serializaci mezipaměti tokenů.

Checkbox Pokud jsou data, která vaše aplikace vyžaduje, dostupná prostřednictvím Microsoft Graphu, požádejte o oprávnění pro tato data pomocí koncového bodu Microsoft Graphu, nikoli pomocí individuálního rozhraní API.

Checkbox Nedívejte se na hodnotu přístupového tokenu ani se ji nepokoušejte analyzovat jako klienta. Můžou měnit hodnoty, formáty nebo se dokonce šifrovat bez upozornění – vždy použijte id_token, pokud se váš klient potřebuje dozvědět něco o uživateli nebo volat Microsoft Graph. Přístupové tokeny by měla analyzovat pouze webová rozhraní API (protože jsou to ty, které definují formát a nastavení šifrovacích klíčů).

Prostředí koncového uživatele

Zaškrtávací políčkoPorozumíte prostředí souhlasu a nakonfigurujte části výzvy k vyjádření souhlasu vaší aplikace tak, aby koncoví uživatelé a správci měli dostatek informací k určení, jestli vaší aplikaci důvěřují.

Checkbox Minimalizujte počet pokusů o bezobslužné ověřování (získání tichého tokenu) před interaktivními toky, kolikrát uživatel musí zadat přihlašovací údaje při používání vaší aplikace.

Checkbox Nepoužívejte "prompt=consent" pro každé přihlášení. Prompt=consent používejte jenom v případě, že jste zjistili, že potřebujete požádat o souhlas s dalšími oprávněními (například pokud jste změnili požadovaná oprávnění aplikace).

Checkbox Tam, kde je to možné, můžete aplikaci rozšířit o uživatelská data. Jednoduchým způsobem, jak to udělat, je použití Graph API Microsoftu. Nástroj Graph Explorer , který vám může pomoct začít.

Checkbox Zaregistrujte úplnou sadu oprávnění, která vaše aplikace vyžaduje, aby správci mohli snadno udělit souhlas svému tenantovi. Pomocí přírůstkového souhlasu za běhu můžete uživatelům pomoct pochopit, proč vaše aplikace žádá o oprávnění, která můžou uživatele při prvním spuštění znepokojovat nebo zmást.

Checkbox Implementujte čisté jednotné odhlašování. Je to požadavek na ochranu osobních údajů a zabezpečení a zajišťuje dobré uživatelské prostředí.

Testování

Checkbox Otestujte zásady podmíněného přístupu , které můžou ovlivnit schopnost uživatelů používat vaši aplikaci.

Checkbox Otestujte aplikaci se všemi možnými účty, které plánujete podporovat (například pracovní nebo školní účty, osobní účty Microsoft, dětské účty a suverénní účty).

Další materiály

Prostudujte si podrobné informace týkající se v2.0: