Osvědčené postupy a doporučení pro Microsoft Identity Platform

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

Pokud teprve začínáte, projděte si dokumentaci k platformě Microsoft Identity Platform a seznamte se se základy ověřování, scénáři aplikací na platformě Microsoft Identity Platform a další.

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

Tip

Pomocník s integrací vám může pomoct použít mnoho z těchto osvědčených postupů a doporučení. Vyberte některou z registrací aplikací a pak vyberte položku nabídky Pomocník pro integraci a začněte s asistentem.

Základy

checkbox Přečtěte si a seznamte se se zásadami platformy Microsoftu. Ujistěte se, že vaše aplikace dodržuje podmínky popsané tak, jak jsou navržené k ochraně uživatelů a platformy.

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

checkboxDodržujte pokyny pro branding pro aplikace.

checkbox Zadejte smysluplný název a logo aplikace. Tyto informace se zobrazí na výzvě k vyjádření souhlasu vaší aplikace. Ujistěte se, že vaše jméno a logo představují zástupce vaší společnosti nebo produktu, aby uživatelé mohli činit informovaná rozhodnutí. Ujistěte se, že neodoláte žádným ochranným známkám.

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 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 ve svých 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).
  • Pro veřejné klienty použijte identifikátory URI přesměrování specifické pro platformu (pokud je to možné hlavně pro iOS a Android). Jinak použijte identifikátory URI přesměrování s vysokou náhodností, 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ě zkontrolujte a oříznout všechny nepoužité 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 implicitního toku udělení OAuth2, pokud to explicitně nevyžadujete. Tady se dozvíte o platném scénáři.

checkbox Přesunutí nad rámec uživatelského jména a hesla Nepoužívejte tok přihlašovacích údajů vlastníka prostředku (ROPC), který přímo zpracovává hesla uživatelů. Tento tok vyžaduje vysoký stupeň důvěryhodnosti a expozice uživatelů a měl by se používat pouze v případě, že se nedají použít jiné, bezpečnější toky. 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 mít pro vaši aplikaci omezení. V případě modernějších přístupů si přečtěte toky ověřování a scénáře aplikací.

checkbox Chraňte a spravujte důvěrné přihlašovací údaje aplikace pro webové aplikace, webová rozhraní API a aplikace démona. Použijte přihlašovací údaje certifikátu, ne přihlašovací údaje hesla (tajné kódy klienta). Pokud musíte použít přihlašovací údaje hesla, nenastavujte ho ručně. Neukládejte přihlašovací údaje do kódu nebo konfigurace a nikdy jim nedovolte, aby je lidé zpracovali. Pokud je to možné, používejte 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 oprávnění s nejnižšími oprávněními. Požádejte pouze o oprávnění, která vaše aplikace naprosto potřebuje, a jenom v případě, že je potřebujete. Seznamte se s různými typy oprávnění. V případě potřeby používejte pouze oprávnění aplikace; 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í platformy Microsoft Identity Platform, pečlivě si promyslete oprávnění, která by měla zveřejnit. Zvažte, jaká je správná členitost vašeho ř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

checkboxPoužívejte moderní řešení ověřování (OAuth 2.0, OpenID Připojení) k bezpečnému přihlašování uživatelů.

checkbox Nenaprogramujte přímo protokoly, jako je OAuth 2.0 a Open ID. Místo toho využijte knihovnu MSAL (Microsoft Authentication Library). 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í pro zařízení a integrovanou podporu ukládání tokenů do mezipaměti. Další informace najdete v seznamu klientských knihoven podporovaných Microsoftem. Pokud potřebujete ruční kód pro ověřovací protokoly, měli byste postupovat podle metodologie vývoje Microsoft SDL nebo podobné metody vývoje. Věnujte pozornost aspektům zabezpečení ve specifikacích standardů pro každý protokol.

checkbox Migrujte existující aplikace z Azure Active Directory Authentication Library (ADAL) do knihovny Microsoft Authentication Library. MSAL je nejnovější řešení platformy identit Od Microsoftu a je k dispozici v .NET, JavaScriptu, Androidu, iOS, macOS, Pythonu a Javě. Přečtěte si další informace o migraci ADAL.NET, ADAL.js a ADAL.NET a aplikacích zprostředkovatele pro iOS.

checkbox Pro mobilní aplikace nakonfigurujte každou platformu pomocí prostředí registrace aplikací. Aby vaše aplikace mohla využívat Microsoft Authenticator nebo Microsoft Portál společnosti pro jednotné přihlašování, potřebuje vaše aplikace nakonfigurovaný identifikátor URI přesměrování zprostředkovatele. Microsoft tak může po ověření vrátit řízení do vaší aplikace. Při konfiguraci jednotlivých platforem vás prostředí registrace aplikace provede procesem. 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 Vewebových U webových aplikací by mezipaměť tokenů měla být klíčem 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 serializaci mezipaměti vlastních tokenů v rozhraní .NET i .NET Framework. Z důvodů zabezpečení a výkonu 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, k dispozici prostřednictvím Microsoft Graphu, požádejte o oprávnění pro tato data místo jednotlivých rozhraní API.

checkbox Nedívejte se na hodnotu přístupového tokenu nebo se ji pokuste 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ěly analyzovat pouze webová rozhraní API (protože se jedná o ty, které definují formát a nastavení šifrovacích klíčů).

Prostředí koncového uživatele

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

checkbox Minimalizujte počet, kolikrát uživatel při používání aplikace potřebuje zadat přihlašovací údaje, a to pokusem o tiché ověřování (získání tichého tokenu) před interaktivními toky.

checkbox Nepoužívejte "prompt=consent" pro každé přihlášení. Použijte pouze příkaz prompt=consent, pokud 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. Použití rozhraní Microsoft Graph API je snadný způsob, jak to udělat. Nástroj Graph Explorer , který vám pomůže začít.

checkbox Zaregistrujte úplnou sadu oprávnění, která vaše aplikace vyžaduje, aby správci mohli snadno udělit souhlas se svým tenantem. Použití přírůstkového souhlasu za běhu pomáhá uživatelům pochopit, proč vaše aplikace žádá o oprávnění, která se můžou týkat nebo zmást uživatele při prvním spuštění.

checkboxImplementujte čisté prostředí jednotného přihlašování. Jedná se o ochranu osobních údajů a požadavek na zabezpečení a zajišťuje dobré uživatelské prostředí.

Testování

checkboxOtestujte 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, podřízené účty a suverénní účty).

Další materiály

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