Udostępnij za pośrednictwem


Dostosowywanie tokenów

Jako deweloper podstawowa interakcja z identyfikatorem Entra firmy Microsoft jest żądana tokenu w celu zidentyfikowania użytkownika. Żądasz również tokenu w celu uzyskania autoryzacji w celu wywołania internetowego interfejsu API. Token internetowego interfejsu API określa, co ten interfejs API może zrobić, gdy obsługuje określone żądanie. W tym artykule dowiesz się więcej o informacjach, które można otrzymywać w tokenach i sposobach dostosowywania tokenów. Te najlepsze rozwiązania dla deweloperów Zero Trust zwiększają elastyczność i kontrolę, jednocześnie zwiększając bezpieczeństwo aplikacji z najmniejszymi uprawnieniami.

Przyczyny dostosowywania tokenów aplikacji zależą od procesu używanego do zwiększenia szczegółowości autoryzacji w aplikacjach i interfejsach API. Na przykład w aplikacji mogą istnieć różne role użytkownika, poziomy dostępu i funkcje, które opierają się na informacjach z tokenów.

Interfejs API programu Microsoft Graph udostępnia niezawodny zestaw informacji o katalogu i danych na platformie Microsoft 365. Możesz opracować precyzyjny i rozbudowany system autoryzacji, tworząc dane w programie Microsoft Graph. Na przykład możesz uzyskać dostęp do informacji z członkostwa w grupie użytkownika, szczegółowych danych profilu, programu SharePoint i programu Outlook do użycia w decyzjach dotyczących autoryzacji. Możesz również uwzględnić dane autoryzacji w tokenie z identyfikatora Entra firmy Microsoft.

Autoryzacja na poziomie aplikacji

Dla informatyków istnieje możliwość dodania autoryzacji na poziomie aplikacji bez dostosowywania tokenu ani dodawania jakiegokolwiek kodu przez dewelopera.

Specjalista IT może uniemożliwić wystawianie tokenów do dowolnej aplikacji w dzierżawie przy użyciu flagi wymaganej przez użytkownika, aby upewnić się, że tylko zestaw użytkowników może zalogować się do aplikacji. Bez tej flagi wszyscy użytkownicy w dzierżawie mogą uzyskiwać dostęp do aplikacji. Za pomocą tej flagi tylko przypisani użytkownicy i grupy mogą uzyskiwać dostęp do aplikacji. Gdy przypisany użytkownik uzyskuje dostęp do aplikacji, aplikacja otrzymuje token. Jeśli użytkownik nie ma przypisania, aplikacja nie otrzyma tokenu. Pamiętaj, aby zawsze bezpiecznie obsługiwać żądania tokenów, które nie odbierają tokenów.

Metody dostosowywania tokenu

Istnieją dwa sposoby dostosowywania tokenów: opcjonalne oświadczenia i mapowanie oświadczeń.

Opcjonalne oświadczenia

Opcjonalne oświadczenia określają oświadczenia, które mają być wysyłane do aplikacji w tokenach przez identyfikator entra firmy Microsoft. Za pomocą opcjonalnych oświadczeń można:

  • Wybierz więcej oświadczeń do uwzględnienia w tokenach aplikacji.
  • Zmień zachowanie oświadczeń zwracanych przez Platforma tożsamości Microsoft w tokenach.
  • Dodawać oświadczenia niestandardowe dla aplikacji i uzyskiwać do nich dostęp.

Opcjonalne oświadczenia zawieszają się z obiektu rejestracji aplikacji ze zdefiniowanym schematem. Mają zastosowanie do aplikacji niezależnie od tego, gdzie była uruchomiona. Podczas pisania aplikacji wielodostępnej opcjonalne oświadczenia działają dobrze, ponieważ są one spójne w każdej dzierżawie w usłudze Microsoft Entra ID. Na przykład adres IP nie jest specyficzny dla dzierżawy, podczas gdy aplikacja ma adres IP.

Domyślnie użytkownicy-goście w dzierżawie mogą również logować się do aplikacji. Jeśli chcesz zablokować użytkowników-gości, należy wyrazić zgodę na opcjonalne oświadczenie (acct). Jeśli ma wartość 1, użytkownik ma klasyfikację gościa. Jeśli chcesz zablokować gości, zablokuj tokeny za pomocą pliku acct==1.

Zasady mapowania oświadczeń

W usłudze Microsoft Entra ID obiekty zasad reprezentują zestawy reguł dla poszczególnych aplikacji lub wszystkich aplikacji w organizacji. Zasady mapowania oświadczeń modyfikują oświadczenia, które problemy z identyfikatorem Entra firmy Microsoft w tokenach dla określonych aplikacji.

Mapowanie oświadczeń jest używane dla informacji specyficznych dla dzierżawy, które nie mają schematu (na przykład EmployeeID, DivisionName). Mapowanie oświadczeń ma zastosowanie na poziomie jednostki usługi, który kontroluje administrator dzierżawy. Mapowanie oświadczeń odpowiada aplikacji dla przedsiębiorstw lub jednostki usługi dla tej aplikacji. Każda dzierżawa może mieć własne mapowanie oświadczeń.

Jeśli tworzysz aplikację biznesową, możesz przyjrzeć się dokładniej temu, co robi dzierżawa (jakie konkretne oświadczenia dzierżawa ma dostępne, których można użyć w tokenie). Jeśli na przykład organizacja ma właściwość nazwy działu użytkownika (a nie standardowe pole w identyfikatorze Entra firmy Microsoft) w lokalna usługa Active Directory, możesz użyć usługi Microsoft Entra Połączenie, aby zsynchronizować ją z identyfikatorem Entra firmy Microsoft.

Aby zawierać te informacje, można użyć jednego ze standardowych atrybutów rozszerzenia. Token można zdefiniować za pomocą oświadczenia nazwy działu, który można utworzyć z odpowiedniego rozszerzenia (nawet jeśli nie ma zastosowania w każdej dzierżawie). Na przykład organizacja umieszcza nazwę działu w atrybucie rozszerzenia 13.

Za pomocą mapowania oświadczeń można sprawić, że będzie działać dla innej dzierżawy, która umieszcza nazwę podziału w atrybucie seven.

Planowanie dostosowywania tokenu

Dostosowany token zależy od typu aplikacji: aplikacji klienckiej lub interfejsu API. Nie ma różnicy w tym, co można zrobić, aby dostosować token. To, co można umieścić w tokenie, jest takie samo dla każdego z nich. Token, który wybierzesz do dostosowania, zależy od tokenu używanego przez aplikację.

Dostosowywanie tokenów identyfikatorów

Jeśli tworzysz aplikację kliencką, dostosujesz token identyfikatora, ponieważ jest to token , którego żądasz, aby zidentyfikować użytkownika. Token należy do aplikacji, gdy oświadczenie odbiorców (aud) w tokenie jest zgodne z identyfikatorem klienta aplikacji. W przypadku aplikacji klienckiej, która wywołuje interfejsy API, ale nie implementuje ich, upewnij się, że dostosowano tylko token identyfikatora aplikacji.

Witryna Azure Portal i interfejs API programu Microsoft Graph umożliwiają dostosowanie tokenu dostępu dla aplikacji, ale te dostosowania nie mają wpływu. Nie można dostosować tokenu dostępu dla interfejsu API, którego nie jesteś właścicielem. Pamiętaj, że aplikacja nie może próbować dekodować ani sprawdzać tokenu dostępu, który aplikacja kliencka otrzymuje jako autoryzację w celu wywołania interfejsu API.

Dostosowywanie tokenów dostępu

Jeśli tworzysz interfejs API, dostosujesz token dostępu, ponieważ interfejs API odbiera tokeny dostępu w ramach wywołania klienta do interfejsu API.

Aplikacje klienckie zawsze dostosowują token identyfikatora odbierany do tożsamości użytkownika. Interfejsy API dostosowują tokeny dostępu odbierane przez interfejs API w ramach wywołania interfejsu API.

Grupy i role aplikacji

Jedną z najpopularniejszych technik autoryzacji jest oparcie dostępu do członkostwa w grupie użytkownika lub przypisanych ról. Konfigurowanie oświadczeń grup i ról aplikacji w tokenach pokazuje, jak skonfigurować aplikacje przy użyciu definicji ról aplikacji i przypisać grupy zabezpieczeń do ról aplikacji. Te metody pomagają zwiększyć elastyczność i kontrolę przy jednoczesnym zwiększeniu zabezpieczeń zerowego zaufania aplikacji z najmniejszymi uprawnieniami.

Następne kroki

  • Mapowanie oświadczeń użytkowników współpracy B2B opisuje obsługę identyfikatorów Entra firmy Microsoft w celu dostosowywania oświadczeń wystawionych w tokenie SAML (Security Assertion Markup Language) dla użytkowników współpracy B2B.
  • Dostosuj oświadczenia tokenu SAML aplikacji, gdy użytkownik uwierzytelnia się w aplikacji za pośrednictwem Platforma tożsamości Microsoft przy użyciu protokołu SAML 2.0.
  • 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.
  • Najlepsze rozwiązania dotyczące autoryzacji pomagają zaimplementować najlepsze modele autoryzacji, uprawnień i zgody dla aplikacji.
  • Użyj najlepszych rozwiązań dotyczących tworzenia tożsamości zero trust i zarządzania dostępem w cyklu tworzenia aplikacji, aby utworzyć bezpieczne aplikacje.