Zwiększanie zabezpieczeń przy użyciu zasady najniższych uprawnień

Zasada zabezpieczeń informacji o najniższych uprawnieniach potwierdza, że użytkownicy i aplikacje powinni mieć dostęp tylko do danych i operacji, których potrzebują do wykonywania swoich zadań. Postępuj zgodnie ze wskazówkami w tym miejscu, aby zmniejszyć obszar ataków aplikacji i wpływ naruszenia zabezpieczeń (promień wybuchu) powinien wystąpić w aplikacji zintegrowanej z Platforma tożsamości Microsoft.

Rekomendacje na pierwszy rzut oka

  • Zapobiegaj naduprzywilejowaniu aplikacji, odwołując nieużywane i reducible uprawnień.
  • Skorzystaj z platformy wyrażania zgody platformy tożsamości, aby wymagać od użytkownika zgody na żądanie od aplikacji w celu uzyskania dostępu do chronionych danych.
  • Twórz aplikacje z najmniejszymi uprawnieniami podczas wszystkich etapów programowania.
  • Okresowo przeprowadzaj inspekcję wdrożonych aplikacji, aby zidentyfikować te, które są nadprzywilejowane.

Aplikacje ponaduprzywilejowane

Każda aplikacja, która otrzymała nieużywane lub reducible uprawnienia, jest uważana za nadmiernie uprzywilejowaną. Nieużywane i reducible uprawnienia mogą zapewnić nieautoryzowany lub niezamierzony dostęp do danych lub operacji, które nie są wymagane przez aplikację lub jej użytkowników do wykonywania swoich zadań. Unikaj zagrożeń bezpieczeństwa stwarzanych przez nieużywane i reducible uprawnień, udzielając tylko odpowiednich uprawnień. Odpowiednie uprawnienia to te z najmniej permissywnym dostępem wymaganym przez aplikację lub użytkownika do wykonywania wymaganych zadań.

Nieużywane uprawnienia

Nieużywane uprawnienie to uprawnienie przyznane aplikacji, ale którego interfejs API lub operacja uwidoczniona przez to uprawnienie nie jest wywoływana przez aplikację, gdy jest używana zgodnie z oczekiwaniami.

  • Przykład: Aplikacja wyświetla listę plików przechowywanych w usłudze OneDrive zalogowanego użytkownika przez wywołanie interfejsu API programu Microsoft Graph przy użyciu uprawnienia Files.Read . Jednak aplikacja otrzymała również uprawnienie Calendars.Read , ale nie udostępnia żadnych funkcji kalendarza i nie wywołuje interfejsu API Kalendarze.

  • Zagrożenie bezpieczeństwa: Nieużywane uprawnienia stanowią zagrożenie bezpieczeństwa eskalacji uprawnień poziomych. Jednostka, która wykorzystuje lukę w zabezpieczeniach w aplikacji, może użyć nieużywanego uprawnienia, aby uzyskać dostęp do interfejsu API lub operacji, która nie jest normalnie obsługiwana lub dozwolona przez aplikację, gdy jest używana zgodnie z oczekiwaniami.

  • Środki zaradcze: usuń wszelkie uprawnienia, które nie są używane w wywołaniach interfejsu API wykonanych przez aplikację.

Uprawnienia reducible

Uprawnienie do reducible to uprawnienie, które ma niższego uprzywilejowanego odpowiednika, które nadal zapewnia aplikację i jej użytkownikom dostęp potrzebny do wykonywania wymaganych zadań.

  • Przykład: aplikacja wyświetla informacje o profilu zalogowanego użytkownika przez wywołanie interfejsu API programu Microsoft Graph, ale nie obsługuje edytowania profilu. Jednak aplikacja otrzymała uprawnienie User.ReadWrite.All . Uprawnienie User.ReadWrite.All jest uznawane za reducible tutaj, ponieważ mniej permissive User.Read.All przyznaje wystarczający dostęp tylko do odczytu do danych profilu użytkownika.

  • Zagrożenie bezpieczeństwa: Uprawnienia reducible stanowią zagrożenie bezpieczeństwa eskalacji uprawnień pionowych. Jednostka wykorzystująca lukę w zabezpieczeniach w aplikacji może używać uprawnienia reducible do nieautoryzowanego dostępu do danych lub wykonywania operacji, które nie są zwykle dozwolone przez tę rolę jednostki.

  • Środki zaradcze: zastąp każde uprawnienie reducible w aplikacji jego najmniej permissywnym odpowiednikiem, który nadal włącza zamierzone funkcje aplikacji.

Większość aplikacji wymaga dostępu do chronionych danych, a właściciel tych danych musi wyrazić zgodę na ten dostęp. Zgodę można udzielić na kilka sposobów, w tym przez administratora dzierżawy, który może wyrazić zgodę dla wszystkich użytkowników w dzierżawie firmy Microsoft Entra lub przez samych użytkowników aplikacji, którzy mogą udzielić dostępu.

Za każdym razem, gdy aplikacja uruchamiana na urządzeniu żąda dostępu do chronionych danych, aplikacja powinna poprosić o zgodę użytkownika przed udzieleniem dostępu do chronionych danych. Użytkownik jest wymagany do udzielenia (lub odmowy) zgody na żądane uprawnienie, zanim aplikacja będzie mogła postępować.

Najmniejsze uprawnienia podczas tworzenia aplikacji

Bezpieczeństwo aplikacji i danych użytkownika, do których uzyskuje dostęp, jest obowiązkiem dewelopera.

Przestrzegaj tych wytycznych podczas opracowywania aplikacji, aby uniknąć nadmiernego nadprzywilejowania:

  • W pełni zrozumieć uprawnienia wymagane do wywołań interfejsu API wymaganych przez aplikację.
  • Poznaj najmniej uprzywilejowane uprawnienia dla każdego wywołania interfejsu API, które aplikacja musi wykonać przy użyciu Eksploratora programu Graph.
  • Znajdź odpowiednie uprawnienia od najmniej do najbardziej uprzywilejowanych.
  • Usuń wszelkie zduplikowane zestawy uprawnień w przypadkach, gdy aplikacja wykonuje wywołania interfejsu API, które mają nakładające się uprawnienia.
  • Zastosuj tylko najmniej uprzywilejowany zestaw uprawnień do aplikacji, wybierając najmniej uprzywilejowane uprawnienie na liście uprawnień.

Najmniejsze uprawnienia dla wdrożonych aplikacji

Organizacje często wahają się modyfikować działające aplikacje, aby uniknąć wpływu na normalne działania biznesowe. Jednak organizacja powinna rozważyć ograniczenie ryzyka zdarzenia zabezpieczeń, które stało się możliwe lub poważniejsze przy użyciu nadmiernie uprzywilejowanych uprawnień, aby być godnym zaplanowanej aktualizacji aplikacji.

Wprowadź te standardowe rozwiązania w organizacji, aby upewnić się, że wdrożone aplikacje nie są nadmiernie nadprzywilejowane i nie są nadmiernie nadużywane w czasie:

  • Oceń wywołania interfejsu API wykonywane z aplikacji.
  • Użyj Eksploratora programu Graph i dokumentacji programu Microsoft Graph , aby uzyskać wymagane i najmniej uprzywilejowane uprawnienia.
  • Przeprowadź inspekcję uprawnień przyznanych użytkownikom lub aplikacjom.
  • Zaktualizuj aplikacje przy użyciu najmniej uprzywilejowanego zestawu uprawnień.
  • Regularnie przeglądaj uprawnienia, aby upewnić się, że wszystkie autoryzowane uprawnienia są nadal istotne.

Następne kroki