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:
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
- Przykłady kontroli dostępu opartej na rolach przy użyciu starszego pakietu .NET Microsoft.Azure.EventHubs. Pracujemy nad utworzeniem nowej wersji tego przykładu przy użyciu najnowszego pakietu Azure.Messaging.EventHubs. Zobacz już przekonwertowaną tożsamość zarządzaną.
- Przykład RBAC przy użyciu starszego pakietu Java com.microsoft.azure.eventhubs. Możesz użyć przewodnika migracji, aby przeprowadzić migrację tego przykładu w celu użycia nowego pakietu (
com.azure.messaging.eventhubs
). Aby dowiedzieć się więcej o korzystaniu z nowego pakietu ogólnie, zobacz przykłady tutaj.
Powiązana zawartość
- Aby dowiedzieć się więcej na temat kontroli dostępu opartej na rolach platformy Azure, zobacz Co to jest kontrola dostępu oparta na rolach platformy Azure (Azure RBAC)?
- Aby dowiedzieć się, jak przypisywać przypisania ról platformy Azure i zarządzać nimi za pomocą programu Azure PowerShell, interfejsu wiersza polecenia platformy Azure lub interfejsu API REST, zobacz następujące artykuły:
- Dodawanie lub usuwanie przypisań ról platformy Azure przy użyciu programu Azure PowerShell
- Dodawanie lub usuwanie przypisań ról platformy Azure przy użyciu interfejsu wiersza polecenia platformy Azure
- Dodawanie lub usuwanie przypisań ról platformy Azure przy użyciu interfejsu API REST
- Dodawanie przypisań ról platformy Azure przy użyciu szablonów usługi Azure Resource Manager
Zobacz następujące powiązane artykuły:
- Uwierzytelnianie tożsamości zarządzanej za pomocą identyfikatora Entra firmy Microsoft w celu uzyskania dostępu do zasobów usługi Event Hubs
- Uwierzytelnianie żądań w usłudze Azure Event Hubs przy użyciu sygnatur dostępu współdzielonego
- Autoryzowanie dostępu do zasobów usługi Event Hubs przy użyciu Microsoft Entra ID
- Autoryzowanie dostępu do zasobów usługi Event Hubs przy użyciu sygnatur dostępu współdzielonego