Vylepšení zabezpečení s využitím principu nejnižších oprávnění

Princip zabezpečení informací s nejnižšími oprávněními potvrzuje, že uživatelům a aplikacím by měl být udělen přístup pouze k datům a operacím, které potřebují k výkonu své práce. Postupujte podle těchto pokynů, které vám pomůžou snížit prostor pro útok na aplikaci a snížit dopad porušení zabezpečení (poloměr výbuchu), pokud by k němu došlo v Microsoft identity platform integrované aplikaci.

Doporučení na první pohled

  • Zabránit nadměrně privilegovaným aplikacím odvoláním nepoužívaných a reduciovatelných oprávnění.
  • Architektura pro vyjádření souhlasu platformy Identity Platform vyžaduje souhlas člověka s požadavkem aplikace na přístup k chráněným datům.
  • Vytvářejte aplikace s minimálními oprávněními během všech fází vývoje.
  • Pravidelně auditujte nasazené aplikace a identifikujte ty, které jsou nadměrněprivilegované.

Přeprivilegované aplikace

Každá aplikace, která má udělené nepoužívané nebo reduciitelné oprávnění, se považuje za nadměrnou. Nepoužitá a opětovně použitelná oprávnění můžou poskytovat neoprávněný nebo nezamýšlený přístup k datům nebo operacím, které aplikace nebo její uživatelé k provádění svých úloh nevyžadují. Vyhněte se bezpečnostním rizikům, která představují nepoužívané a reduciovatelnou oprávnění, tím, že udělíte pouze příslušná oprávnění. Příslušná oprávnění jsou oprávnění s nejméně povoleným přístupem vyžadovaným aplikací nebo uživatelem k provádění požadovaných úkolů.

Nepoužitá oprávnění

Nepoužité oprávnění je oprávnění, které bylo uděleno aplikaci, ale jehož rozhraní API nebo operace vystavená tímto oprávněním není volána aplikací, pokud se používá podle očekávání.

  • Příklad: Aplikace zobrazí seznam souborů uložených na OneDrivu přihlášeného uživatele zavoláním Graph API Microsoft pomocí oprávnění Files.Read. Aplikace ale také získala oprávnění Calendars.Read , ale neposkytuje žádné funkce kalendáře a nevolá rozhraní API Calendars.

  • Bezpečnostní riziko: Nepoužitá oprávnění představují horizontální bezpečnostní riziko eskalace oprávnění . Entita, která zneužije ohrožení zabezpečení v aplikaci, by mohla použít nepoužívané oprávnění k získání přístupu k rozhraní API nebo operaci, která aplikace normálně nepodporuje nebo nepovoluje, pokud se používá podle očekávání.

  • Zmírnění rizik: Odeberte všechna oprávnění, která se nepoužívají ve voláních rozhraní API provedených aplikací.

Reducible permissions

Opakované oprávnění je oprávnění, které má protějšek s nižšími oprávněními, který by aplikaci a jejím uživatelům stále poskytoval přístup potřebný k provádění požadovaných úkolů.

  • Příklad: Aplikace zobrazí informace o profilu přihlášeného uživatele voláním Graph API Microsoft, ale nepodporuje úpravy profilu. Aplikace však získala oprávnění User.ReadWrite.All . Oprávnění User.ReadWrite.All je zde považováno za opakované, protože méně oprávnění User.Read.All uděluje dostatečný přístup jen pro čtení k datům profilů uživatelů.

  • Bezpečnostní riziko: Reducible permissions představují vertikální eskalaci oprávnění bezpečnostní riziko. Entita, která zneužije chybu zabezpečení v aplikaci, by mohla použít redukovatelné oprávnění pro neoprávněný přístup k datům nebo k provádění operací, které tato role entity normálně nepovoluje.

  • Zmírnění rizik: Nahraďte všechna oprávnění v aplikaci, která se můžou opakovat, svým nejméně povoleným protějškem, který stále povoluje požadované funkce aplikace.

Většina aplikací vyžaduje přístup k chráněným datům a vlastník těchto dat musí s tímto přístupem vyjádřit souhlas . Souhlas může být udělen několika způsoby, včetně správce tenanta, který může vyjádřit souhlas všem uživatelům v Microsoft Entra tenantovi, nebo samotnými uživateli aplikace, kteří můžou udělit přístup.

Kdykoli aplikace spuštěná v zařízení požádá o přístup k chráněným datům, měla by před udělením přístupu k chráněným datům požádat uživatele o souhlas. Uživatel musí udělit (nebo odepřít) souhlas s požadovaným oprávněním, aby aplikace postoupila.

Nejnižší oprávnění během vývoje aplikace

Zabezpečení aplikace a uživatelských dat, ke kterým přistupuje, je zodpovědností vývojáře.

Při vývoji aplikací dodržujte tyto pokyny, abyste zabránili tomu, že by byla nadměrně neprivilegovaná:

  • Plně porozumíte oprávněním požadovaným pro volání rozhraní API, která aplikace potřebuje provést.
  • Seznamte se s nejméně privilegovanými oprávněními pro každé volání rozhraní API, které aplikace potřebuje pomocí Graph Exploreru.
  • Vyhledejte odpovídající oprávnění od nejnižších po nejprivilegovanější.
  • V případech, kdy aplikace provádí volání rozhraní API s překrývajícími se oprávněními, odeberte všechny duplicitní sady oprávnění.
  • Výběrem nejméně privilegovaného oprávnění v seznamu oprávnění použijete pro aplikaci pouze nejnižší privilegovanou sadu oprávnění.

Nejnižší oprávnění pro nasazené aplikace

Organizace často váhají s úpravou spuštěných aplikací, aby nedošlo k ovlivnění jejich běžného obchodního provozu. Organizace by ale měla zvážit zmírnění rizika incidentu zabezpečení, který by byl možný nebo závažnější, a to použitím přeprivilegovaných oprávnění, která by si vyplatila plánovanou aktualizaci aplikace.

Zajistěte v organizaci tyto standardní postupy, které vám pomůžou zajistit, že nasazené aplikace nebudou nadměrně neprivilegované a nebudou přeprivilegované v průběhu času:

  • Vyhodnoťte volání rozhraní API vytvořená z aplikací.
  • Požadovaná a nejméně privilegovaná oprávnění potřebujete pomocí Graph Exploreru a dokumentace k Microsoft Graphu .
  • Auditovat oprávnění udělená uživatelům nebo aplikacím
  • Aktualizujte aplikace pomocí sady oprávnění s nejnižšími oprávněními.
  • Pravidelně kontrolujte oprávnění a ujistěte se, že jsou všechna autorizovaná oprávnění stále relevantní.

Další kroky