Udostępnij za pośrednictwem


Uwierzytelnianie aplikacji przy użyciu identyfikatora Entra firmy Microsoft w celu uzyskania dostępu do zasobów usługi Event Hubs

Platforma Microsoft Azure zapewnia zintegrowane zarządzanie kontrolą dostępu dla zasobów i aplikacji na podstawie identyfikatora Entra firmy Microsoft. Kluczową zaletą korzystania z identyfikatora Entra firmy Microsoft z usługą Azure Event Hubs jest to, że nie trzeba już przechowywać poświadczeń w kodzie. Zamiast tego możesz zażądać tokenu dostępu OAuth 2.0 z Platforma tożsamości Microsoft. Nazwa zasobu do żądania tokenu to https://eventhubs.azure.net/, i jest taka sama dla wszystkich chmur/dzierżaw (w przypadku klientów platformy Kafka zasób żądania tokenu to https://<namespace>.servicebus.windows.net). Firma Microsoft Entra uwierzytelnia podmiot zabezpieczeń (użytkownika, grupy, jednostki usługi lub tożsamości zarządzanej) uruchomionej aplikacji. Jeśli uwierzytelnianie powiedzie się, identyfikator Entra firmy Microsoft zwraca token dostępu do aplikacji, a aplikacja może następnie użyć tokenu dostępu, aby autoryzować żądanie do zasobów usługi Azure Event Hubs.

Po przypisaniu roli do podmiotu zabezpieczeń firmy Microsoft Entra platforma Azure udziela dostępu do tych zasobów dla tego podmiotu zabezpieczeń. Dostęp można ograniczyć do poziomu subskrypcji, grupy zasobów, przestrzeni nazw usługi Event Hubs lub dowolnego zasobu. Zabezpieczenia firmy Microsoft Entra mogą przypisywać role do użytkownika, grupy, jednostki usługi aplikacji lub tożsamości zarządzanej dla zasobów platformy Azure.

Uwaga

Definicja roli to kolekcja uprawnień. Kontrola dostępu oparta na rolach (RBAC) platformy Azure kontroluje sposób wymuszania tych uprawnień za pośrednictwem przypisania roli. Przypisanie roli składa się z trzech elementów: podmiotu zabezpieczeń, definicji roli i zakresu. Aby uzyskać więcej informacji, zobacz Opis różnych ról.

Wbudowane role dla usługi Azure Event Hubs

Platforma Azure udostępnia następujące wbudowane role platformy Azure umożliwiające autoryzowanie dostępu do danych usługi Event Hubs przy użyciu identyfikatora Entra firmy Microsoft i protokołu OAuth:

  • Właściciel danych usługi Azure Event Hubs: użyj tej roli, aby zapewnić pełny dostęp do zasobów usługi Event Hubs.
  • Nadawca danych usługi Azure Event Hubs: podmiot zabezpieczeń przypisany do tej roli może wysyłać zdarzenia do określonego centrum zdarzeń lub wszystkich centrów zdarzeń w przestrzeni nazw.
  • Odbiornik danych usługi Azure Event Hubs: podmiot zabezpieczeń przypisany do tej roli może odbierać zdarzenia z określonego centrum zdarzeń lub wszystkich centrów zdarzeń w przestrzeni nazw.

Aby uzyskać wbudowane role rejestru schematów, zobacz Role rejestru schematów.

Ważne

Nasza wersja zapoznawcza obsługuje dodawanie uprawnień dostępu do danych usługi Event Hubs do roli Właściciel lub Współautor. Jednak uprawnienia dostępu do danych dla roli Właściciel i Współautor nie są już honorowane. Jeśli używasz roli Właściciel lub Współautor, przejdź do roli Właściciel danych usługi Azure Event Hubs.

Uwierzytelnianie przy użyciu aplikacji

Kluczową zaletą korzystania z identyfikatora Entra firmy Microsoft z usługą Event Hubs jest to, że twoje poświadczenia nie muszą być już przechowywane w kodzie. Zamiast tego możesz zażądać tokenu dostępu OAuth 2.0 z Platforma tożsamości Microsoft. Firma Microsoft Entra uwierzytelnia podmiot zabezpieczeń (użytkownika, grupy lub jednostki usługi) z uruchomioną aplikacją. Jeśli uwierzytelnianie powiedzie się, identyfikator Entra firmy Microsoft zwraca token dostępu do aplikacji, a aplikacja może następnie użyć tokenu dostępu do autoryzowania żądań do usługi Azure Event Hubs.

W poniższych sekcjach pokazano, jak skonfigurować aplikację natywną lub aplikację internetową do uwierzytelniania przy użyciu Platforma tożsamości Microsoft 2.0. Aby uzyskać więcej informacji na temat Platforma tożsamości Microsoft 2.0, zobacz omówienie Platforma tożsamości Microsoft (wersja 2.0).

Aby zapoznać się z omówieniem przepływu udzielania kodu OAuth 2.0, zobacz Autoryzowanie dostępu do aplikacji internetowych firmy Microsoft Entra przy użyciu przepływu udzielania kodu OAuth 2.0.

Rejestrowanie aplikacji w dzierżawie firmy Microsoft Entra

Pierwszym krokiem używania identyfikatora Entra firmy Microsoft do autoryzowania zasobów usługi Event Hubs jest zarejestrowanie aplikacji klienckiej w dzierżawie firmy Microsoft Entra w witrynie Azure Portal. Wykonaj kroki opisane w przewodniku Szybki start: rejestrowanie aplikacji przy użyciu Platforma tożsamości Microsoft w celu zarejestrowania aplikacji w identyfikatorze Entra firmy Microsoft reprezentującym aplikację próbującą uzyskać dostęp do zasobów usługi Event Hubs.

Podczas rejestrowania aplikacji klienckiej należy podać informacje o aplikacji. Identyfikator Entra firmy Microsoft udostępnia następnie identyfikator klienta (nazywany również identyfikatorem aplikacji), którego można użyć do skojarzenia aplikacji ze środowiskiem uruchomieniowym Microsoft Entra. Aby dowiedzieć się więcej o identyfikatorze klienta, zobacz Application and service principal objects in Microsoft Entra ID (Obiekty aplikacji i jednostki usługi w identyfikatorze Entra firmy Microsoft).

Uwaga

Jeśli zarejestrujesz aplikację jako aplikację natywną, możesz określić dowolny prawidłowy identyfikator URI dla identyfikatora URI przekierowania. W przypadku aplikacji natywnych ta wartość nie musi być rzeczywistym adresem URL. W przypadku aplikacji internetowych identyfikator URI przekierowania musi być prawidłowym identyfikatorem URI, ponieważ określa adres URL, do którego podano tokeny.

Po zarejestrowaniu aplikacji zobaczysz identyfikator aplikacji (klienta) w obszarze Ustawienia:

Zrzut ekranu przedstawiający stronę rejestracji aplikacji z wyróżnionym identyfikatorem aplikacji.

Tworzenie wpisu tajnego klienta

Aplikacja potrzebuje klucza tajnego klienta, aby potwierdzić swoją tożsamość podczas żądania tokenu. Wykonaj kroki opisane w artykule Dodawanie wpisu tajnego klienta, aby utworzyć klucz tajny klienta dla aplikacji w identyfikatorze Entra firmy Microsoft.

Przypisywanie ról platformy Azure przy użyciu witryny Azure Portal

Przypisz jedną z ról usługi Event Hubs do jednostki usługi aplikacji w żądanym zakresie (przestrzeń nazw usługi Event Hubs, grupa zasobów, subskrypcja). Aby uzyskać szczegółowe instrukcje, zobacz Przypisywanie ról platformy Azure przy użyciu witryny Azure Portal.

Po zdefiniowaniu roli i jej zakresu możesz przetestować to zachowanie przy użyciu przykładów w tej lokalizacji usługi GitHub. Aby dowiedzieć się więcej na temat zarządzania dostępem do zasobów platformy Azure przy użyciu kontroli dostępu opartej na rolach (RBAC) platformy Azure i witryny Azure Portal, zobacz ten artykuł.

Biblioteki klienta na potrzeby pozyskiwania tokenów

Po zarejestrowaniu aplikacji i udzieleniu jej uprawnień do wysyłania/odbierania danych w usłudze Azure Event Hubs możesz dodać kod do aplikacji w celu uwierzytelnienia podmiotu zabezpieczeń i uzyskania tokenu OAuth 2.0. Aby uwierzytelnić i uzyskać token, możesz użyć jednej z bibliotek uwierzytelniania Platforma tożsamości Microsoft lub innej biblioteki open source obsługującej openID lub Connect 1.0. Aplikacja może następnie użyć tokenu dostępu, aby autoryzować żądanie względem usługi Azure Event Hubs.

W przypadku scenariuszy, w których jest obsługiwane uzyskiwanie tokenów, zobacz sekcję Scenariusze w repozytorium Microsoft Authentication Library (MSAL) dla repozytorium GitHub platformy .NET.

Przykłady

Zobacz następujące powiązane artykuły: