Uwierzytelnianie aplikacji przy użyciu identyfikatora Entra firmy Microsoft w celu uzyskania dostępu do 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 w usłudze Azure Event Hubs jest to, że nie trzeba przechowywać poświadczeń w kodzie. Zamiast tego zażądaj tokenu dostępu OAuth 2.0 z platformy tożsamości firmy Microsoft. Nazwa zasobu do żądania tokena to https://eventhubs.azure.net/, i jest taka sama dla wszystkich chmur i dzierżawców. Dla klientów Kafka zasobem służącym do żądania tokenu jest https://<namespace>.servicebus.windows.net. Firma Microsoft Entra uwierzytelnia podmiot zabezpieczeń, taki jak użytkownik, grupa, jednostka usługi lub tożsamość zarządzana, podczas uruchamiania aplikacji. Jeśli uwierzytelnianie powiedzie się, identyfikator Entra firmy Microsoft zwraca token dostępu do aplikacji, który może następnie użyć tokenu do autoryzowania żądań do zasobów usługi Azure Event Hubs.

Gdy przypisujesz rolę do Microsoft Entra Security Principal, Azure przyznaje dostęp do tych zasobów właśnie temu principalowi bezpieczeństwa. Możesz ograniczyć dostęp do subskrypcji, grupy zasobów, przestrzeni nazw Event Hubs lub dowolnego zasobu w jej strukturze. Podmiot zabezpieczeń firmy Microsoft Entra może przypisywać role do użytkownika, grupy, jednostki usługi aplikacji lub tożsamości zarządzanej dla zasobów platformy Azure.

Note

Definicja roli to kolekcja uprawnień. Kontrola dostępu oparta na rolach (RBAC) platformy Azure wymusza te uprawnienia za pośrednictwem przypisania roli. Przypisanie roli obejmuje trzy elementy: podmiot zabezpieczeń, definicję roli i zakres. Aby uzyskać więcej informacji, zobacz Opis różnych ról.

Prerequisites

Wbudowane role dla usługi Azure Event Hubs

Platforma Azure udostępnia te wbudowane role w celu autoryzowania 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 zobaczyć role wbudowane rejestru schematów, zobacz Role rejestru schematów.

Important

Wersja zapoznawcza obsługuje dodawanie uprawnień dostępu do danych usługi Event Hubs do roli Właściciel lub Współautor. Jednak te uprawnienia 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 w usłudze Event Hubs jest to, że nie musisz przechowywać poświadczeń w kodzie. Zamiast tego zażądaj tokenu dostępu OAuth 2.0 z platformy tożsamości firmy Microsoft. Microsoft Entra uwierzytelnia podmiot zabezpieczeń (użytkownika, grupę lub jednostkę usługi) uruchamiający 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 opisano sposób konfigurowania aplikacji natywnej lub aplikacji internetowej na potrzeby uwierzytelniania za pomocą platformy tożsamości firmy 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 przy użyciu identyfikatora Entra firmy Microsoft

Pierwszym krokiem do użycia Microsoft Entra ID do autoryzacji zasobów Event Hubs jest rejestracja aplikacji klienckiej w dzierżawcy Microsoft Entra w centrum administracyjne Microsoft Entra. Wykonaj kroki opisane w przewodniku Szybki start: rejestrowanie aplikacji przy użyciu platformy tożsamości Microsoft w celu zarejestrowania aplikacji w Microsoft Entra ID, która reprezentuje Twoją 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 identyfikator klienta, nazywany również identyfikatorem aplikacji, aby skojarzyć aplikację 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).

Note

Jeśli zarejestrujesz aplikację jako aplikację natywną, określ dowolny prawidłowy identyfikator 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, ponieważ określa adres URL, pod który dostarczane są tokeny.

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

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

Utwórz sekret klienta do uwierzytelniania

Aplikacja wymaga tajnego klucza klienta, aby udowodnić swoją tożsamość podczas żądania tokenu. Wykonaj kroki z sekcji Dodaj tajny klucz klienta, aby utworzyć tajny klucz klienta dla swojej aplikacji w Microsoft Entra ID.

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, takich jak przestrzeń nazw usługi Event Hubs, grupa zasobów lub subskrypcja. Aby uzyskać szczegółowe instrukcje, zobacz Przypisywanie ról platformy Azure przy użyciu witryny Azure Portal.

Po zdefiniowaniu roli i jej zakresu, przetestuj to zachowanie na przykładach dostępnych w tej lokalizacji GitHub. Aby dowiedzieć się więcej o zarządzaniu dostępem do zasobów Azure za pomocą kontroli dostępu opartej na rolach (RBAC) Azure oraz portalu Azure, zobacz ten artykuł.

Uzyskiwanie tokenów przy użyciu bibliotek klienckich

Po zarejestrowaniu aplikacji i przyznaniu jej uprawnień do wysyłania lub odbierania danych w Azure Event Hubs, dodaj kod do aplikacji uwierzytelniający zasadę bezpieczeństwa i pozyskaj token OAuth 2.0. Aby uwierzytelnić i uzyskać token, użyj jednej z bibliotek uwierzytelniania platformy tożsamości firmy Microsoft lub innej biblioteki open source obsługującej program OpenID 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.

Samples

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