Microsoft identity platform osvědčených postupů 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í. Tento seznam pravidelně zkontrolujte, abyste měli jistotu, ž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 může změnit, protože provádíme vylepšení platformy.

Pokud teprve začínáte, podívejte se do Microsoft identity platform dokumentace a seznamte se se základy ověřování, scénáře aplikací v Microsoft identity platform a další.

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

Tip

Pomocník pro integraci v Azure Portal 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í v Azure Portal 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é pro ochranu 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

checkbox Dodrž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 rozhodovat informovaně. 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 zástupné cardy (*) ve svých identifikátorech URI.
  • U webových aplikací se ujistěte, že jsou všechna 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 (zejména pro iOS a Android). V opačném případě 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řízejte 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 není explicitně nutné. Tady se dozvíte o platném scénáři.

checkbox Přesuňte se 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 vystavení uživatelů a měl by se používat pouze v případě, že jiné, bezpečnější toky nejde použít. Tento tok je stále potřeba v některých scénářích (například v DevOps), ale mějte na pozoru, že jeho používání bude pro vaši aplikaci představovat omezení. Pokud chcete modernější přístupy, přečtěte si toky ověřování a scénáře aplikací.

checkbox Chraňte a spravujte své důvěrné přihlašovací údaje aplikace pro webové aplikace, webová rozhraní API a aplikace démona. Používejte 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 je nepovolujte, aby je lidé zpracovávali. 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 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 to 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í microsoftu Graph najdete v tomto odkazu na oprávnění.

checkboxPokud zabezpečujete rozhraní API pomocí Microsoft identity platform, pečlivě si promyslete oprávnění, která by měla zveřejnit. Zvažte správnou členitost vašeho řešení a jaká 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

checkboxK bezpečnému přihlášení uživatelů použijte moderní řešení ověřování (OAuth 2.0, OpenID Připojení).

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í (SSO) pro celé 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í v specifikacích standardů pro každý protokol.

checkboxMigrujte existující aplikace z knihovny ověřování Azure Active Directory (ADAL) do knihovny Microsoft Authentication Library. MSAL je nejnovější řešení platformy identit od Microsoftu a upřednostňuje se pro ADAL. Je k dispozici v .NET, JavaScriptu, Android, iOS, macOS a je také ve verzi Public Preview pro Python a Javu. Přečtěte si další informace o migraci aplikací ADAL.NET, ADAL.jsa ADAL.NET a iOS brokerů.

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 můžete stáhnout funkční příklad. Na iOS používejte zprostředkovatelé a systémové webové zobrazení, kdykoli je to možné.

checkbox Ve webových aplikacích nebo webových rozhraních API ponechte jednu mezipaměť tokenů na účet. U webových aplikací by mezipaměť tokenů měla být klíčována 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 vlastní mezipaměti tokenů v podplatformách rozhraní .NET Framework a .NET Core. Z důvodů zabezpečení a výkonu doporučujeme serializovat jednu mezipaměť na uživatele. Další informace najdete v tématu serializace mezipaměti tokenů.

checkboxPokud jsou data, která vaše aplikace vyžaduje, dostupná prostřednictvím Microsoftu Graph, požádejte o oprávnění pro tato data pomocí koncového bodu Microsoft Graph místo jednotlivých rozhraní API.

checkbox Podívejte se na hodnotu přístupového tokenu nebo se ji pokuste analyzovat jako klienta. Můžou měnit hodnoty, formáty nebo dokonce zaš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 jsou to 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í, aby zjistili, jestli vaší aplikaci důvěřují.

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

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í vaší aplikace).

checkbox V případě potřeby můžete aplikaci rozšířit o uživatelská data. Použití microsoftu Graph API je snadný způsob, jak to udělat. 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 svým tenantům snadno udělit souhlas. 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í.

checkbox Implementujte čisté jednotné 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í

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

Další materiály

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