Udostępnij za pośrednictwem


Opracowywanie strategii uprawnień aplikacji

Gdy dowiesz się, jak programować przy użyciu zasad zero trust, zapoznaj się z tym artykułem po zapoznaniu się z artykułem Uzyskiwanie autoryzacji dostępu do zasobów i Opracowywanie strategii uprawnień delegowanych. Zdefiniuj podejście uprawnień aplikacji do zarządzania poświadczeniami, gdy używasz Platforma tożsamości Microsoft do uwierzytelniania i autoryzowania aplikacji oraz zarządzania uprawnieniami i zgodą.

Jeśli żaden użytkownik nie jest zaangażowany, nie masz skutecznego modelu uprawnień, ponieważ aplikacja zawsze otrzymuje swoje uprawnienia wstępnie przydzielone.

  • Aplikacja potwierdza, że jest to aplikacja żądającą uprawnień. Twoja aplikacja potwierdza własną tożsamość przy użyciu jednej z następujących metod:

    • certyfikatu, który jest najlepszą opcją, lub
    • wpis tajny w zaawansowanym systemie zarządzania wpisami tajnymi lub
    • Podczas tworzenia usług na platformie Azure użyj tożsamości zarządzanych dla zasobów platformy Azure, zapoznaj się z następującą sekcją Zarządzanie poświadczeniami aplikacji.
  • Aplikacja zawsze wymaga wcześniejszej zgody administratora. Aplikacja żąda tego uprawnienia z zakresem .default . Żąda uprawnień przypisanych przez administratora do aplikacji.

  • Funkcje użytkownika trans. Domyślnie User.ReadWrite.All umożliwia aplikacji aktualizowanie profilu każdego użytkownika. Jako uprawnienie aplikacji umożliwia aplikacji odczytywanie i aktualizowanie profilu każdego użytkownika w dzierżawie.

  • Uprawnienia przyznane aplikacji są zawsze używanymi uprawnieniami. W przeciwieństwie do uprawnień delegowanych uprawnienia aplikacji nie są ograniczone przez to, co może zrobić żaden konkretny użytkownik.

Ograniczanie uprawnień aplikacji

Istnieją trzy sposoby ograniczenia aplikacji do mniejszego niż dostęp globalny.

  • Aplikacje usługi Microsoft Teams mają zgodę specyficzną dla zasobów (RSC), która umożliwia aplikacji dostęp do określonego zespołu, a nie uzyskiwania dostępu do wszystkich zespołów w przedsiębiorstwie. RSC to integracja aplikacji Microsoft Teams i interfejsu API programu Microsoft Graph, która umożliwia aplikacji korzystanie z punktów końcowych interfejsu API i zarządzanie określonymi zasobami. Jego model uprawnień umożliwia właścicielom usługi Teams i czatów wyrażenie zgody na dostęp do aplikacji i modyfikowanie ich danych usługi Teams i czatu.

  • Administratorzy programu Microsoft Exchange mogą tworzyć zasady aplikacji programu Exchange, aby ograniczyć dostęp aplikacji do określonych skrzynek pocztowych za pomocą skryptu programu PowerShell. Mogą ograniczyć określoną aplikację do określonych skrzynek pocztowych z dostępem lub Mail.Read dostępemCalendar.Read. Umożliwia to na przykład utworzenie automatyzacji, która może odczytywać tylko jedną skrzynkę pocztową lub wysyłać pocztę tylko z jednej skrzynki pocztowej, a nie ze wszystkich w przedsiębiorstwie.

  • Program SharePoint ma plik Sites.Selected jako określony zakres , aby umożliwić szczegółowe uprawnienia dostępu do programu SharePoint za pomocą aplikacji. Wybranie Sites.Selected aplikacji zamiast jednego z pozostałych wyników uprawnień domyślnie w aplikacji nie ma dostępu do żadnych zbiorów witryn programu SharePoint. Administrator używa punktu końcowego uprawnień lokacji do udzielania uprawnień do odczytu, zapisu lub odczytu i zapisu w aplikacji.

Zarządzanie poświadczeniami aplikacji

Higiena poświadczeń może zapewnić szybkie odzyskanie aplikacji po potencjalnym naruszeniu zabezpieczeń. Poniższe najlepsze rozwiązania zawierają wskazówki dotyczące tworzenia aplikacji, które przeprowadzają wykrywanie i korygowanie, unikając przestojów i wpływających na uprawnionych użytkowników. Te zalecenia obsługują zasadę zero trustu, która zakłada naruszenie w przygotowaniu cię do reagowania na zdarzenie zabezpieczeń.

  • Usuń wszystkie wpisy tajne z kodu i konfiguracji. Gdy używasz platformy Azure, umieść wpisy tajne w usłudze Key Vault i uzyskaj do nich dostęp za pośrednictwem tożsamości zarządzanych dla zasobów platformy Azure. Uodpornij kod na obsługę rotacji wpisów tajnych w przypadku naruszenia zabezpieczeń. Administratorzy IT mogą usuwać wpisy tajne i certyfikaty oraz wymieniać je bez usuwania aplikacji lub wywierania wpływu na uprawnionych użytkowników.

  • Używaj certyfikatów zamiast wpisów tajnych klienta, chyba że istnieje bezpieczny proces do zarządzania wpisami tajnymi. Osoby atakujące wiedzą, że wpisy tajne klienta są zwykle mniej bezpieczne i wyciekły użycie wpisów tajnych jest trudne do śledzenia. Certyfikaty można lepiej zarządzać i odwoływać w przypadku naruszenia zabezpieczeń. W przypadku korzystania z wpisów tajnych skompiluj lub użyj bezpiecznego procesu wdrażania bezobsługowego i przerzucania. Używaj wpisów tajnych z ustawionym okresem wygaśnięcia (na przykład jeden rok, dwa lata) i nigdy nie wygasa.

  • Regularnie przerzucaj certyfikaty i wpisy tajne, aby tworzyć odporność w aplikacji i unikać awarii z powodu przerzucania awaryjnego.

Następne kroki

  • Uzyskiwanie autoryzacji dostępu do zasobów pomaga zrozumieć, jak najlepiej zapewnić zero trust podczas uzyskiwania uprawnień dostępu do zasobów dla aplikacji.
  • Opracowywanie strategii uprawnień delegowanych ułatwia zaimplementowanie najlepszego podejścia do zarządzania uprawnieniami w aplikacji i opracowywania przy użyciu zasad zero trust.
  • Najlepsze rozwiązania dotyczące autoryzacji pomagają zaimplementować najlepsze modele autoryzacji, uprawnień i zgody dla aplikacji.
  • Żądanie uprawnień wymagających zgody administracyjnej opisuje środowisko uprawnień i zgody, gdy uprawnienia aplikacji wymagają zgody administracyjnej.
  • Usługa API Protection opisuje najlepsze rozwiązania dotyczące ochrony interfejsu API za pośrednictwem rejestracji, definiowania uprawnień i zgody oraz wymuszania dostępu w celu osiągnięcia celów zero trust.
  • Podaj poświadczenia tożsamości aplikacji, gdy żaden użytkownik nie wyjaśnia, dlaczego tożsamości zarządzane dla zasobów platformy Azure to najlepsze rozwiązanie dotyczące poświadczeń klienta dla usług (aplikacji innych niż użytkownicy) na platformie Azure.