Kontrolowanie dostępu do zdarzeń
Usługa Azure Event Hubs obsługuje zarówno identyfikator entra firmy Microsoft, jak i sygnatury dostępu współdzielonego (SAS), aby obsługiwać zarówno uwierzytelnianie, jak i autoryzację. 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 Azure Event Hubs: Użyj tej roli, aby nadać uprawnienia do wysyłania danych do zasobów Event Hubs.
- odbiornika danych usługi Azure Event Hubs: użyj tej roli, aby udzielić uzyskiwania dostępu do zasobów usługi Event Hubs.
Autoryzowanie dostępu za pomocą tożsamości zarządzanych
Aby autoryzować żądanie do usługi Event Hubs z tożsamości zarządzanej w aplikacji, należy skonfigurować ustawienia kontroli dostępu opartej na rolach platformy Azure dla tej tożsamości zarządzanej. Usługa Azure Event Hubs definiuje role platformy Azure, które obejmują uprawnienia do wysyłania i odczytywania z usługi Event Hubs. Po przypisaniu roli platformy Azure do tożsamości zarządzanej tożsamość zarządzana ma dostęp do danych usługi Event Hubs w odpowiednim zakresie.
Autoryzowanie dostępu za pomocą platformy tożsamości firmy Microsoft
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 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.
Autoryzowanie dostępu do wydawców usługi Event Hubs przy użyciu sygnatur dostępu współdzielonego
Wydawca zdarzeń definiuje wirtualny punkt końcowy dla usługi Event Hubs. Wydawca może służyć tylko do wysyłania komunikatów do centrum zdarzeń i nie odbierać komunikatów. Zazwyczaj centrum zdarzeń stosuje jednego publikatora na klienta. Wszystkie komunikaty wysyłane do dowolnego wydawcy centrum zdarzeń są w kolejce w tym centrum zdarzeń. Wydawcy umożliwiają szczegółową kontrolę dostępu.
Każdy klient Event Hubs ma przypisany unikatowy token, który jest przesyłany do klienta. Klient, który posiada token, może wysyłać tylko do jednego wydawcy i do żadnego innego wydawcy. Jeśli kilku klientów używa tego samego tokenu, wszyscy współdzielą tego samego wydawcę.
Wszystkie tokeny są przypisywane z kluczami sygnatur dostępu współdzielonego. Zazwyczaj wszystkie tokeny są podpisane przy użyciu tego samego klucza. Klienci nie wiedzą o kluczu, co uniemożliwia klientom korzystanie z tokenów produkcyjnych. Klienci działają na tych samych tokenach, dopóki nie wygasną.
Autoryzowanie dostępu do użytkowników usługi Event Hubs przy użyciu sygnatur dostępu współdzielonego
Aby uwierzytelnić aplikacje zaplecza korzystające z danych generowanych przez producentów usługi Event Hubs, uwierzytelnianie tokenu usługi Event Hubs wymaga, aby jego klienci mieli przypisane uprawnienia do zarządzania () lub uprawnienia do nasłuchiwania () w przestrzeni nazw usługi Event Hubs, wystąpieniu centrum zdarzeń lub temacie. Dane są pobierane z usługi Event Hubs z użyciem grup konsumenckich. Chociaż zasady polityki SAS zapewniają szczegółowy zakres, ten zakres jest definiowany tylko na poziomie jednostki, a nie na poziomie konsumenta. Oznacza to, że uprawnienia zdefiniowane na poziomie przestrzeni nazw, wystąpienia centrum zdarzeń lub na poziomie tematu dotyczą grup odbiorców tej jednostki.