Autoryzowanie dostępu za pomocą identyfikatora Entra firmy Microsoft dla usługi Azure SignalR Service
Usługa Azure SignalR Service obsługuje identyfikator Entra firmy Microsoft do autoryzowania żądań do swoich zasobów. Za pomocą identyfikatora Entra firmy Microsoft możesz użyć kontroli dostępu opartej na rolach (RBAC), aby udzielić uprawnień podmiotowi zabezpieczeń. Podmiot zabezpieczeń to użytkownik/grupa zasobów, aplikacja lub jednostka usługi, taka jak tożsamości przypisane przez system i tożsamości przypisane przez użytkownika.
Identyfikator Entra firmy Microsoft uwierzytelnia podmiot zabezpieczeń i zwraca token OAuth 2.0. Token jest następnie używany do autoryzowania żądania względem zasobu usługi Azure SignalR Service.
Autoryzowanie żądań względem usługi Azure SignalR Service przy użyciu identyfikatora Entra firmy Microsoft zapewnia doskonałe zabezpieczenia i łatwość użycia w porównaniu z autoryzacją klucza dostępu. Zdecydowanie zalecamy używanie identyfikatora Entra firmy Microsoft do autoryzowania, jeśli jest to możliwe, ponieważ zapewnia dostęp z minimalnymi wymaganymi uprawnieniami.
Ważne
Wyłączenie uwierzytelniania lokalnego może mieć następujące konsekwencje:
- Bieżący zestaw kluczy dostępu jest trwale usuwany.
- Tokeny podpisane przy użyciu bieżącego zestawu kluczy dostępu stają się niedostępne.
Omówienie identyfikatora Entra firmy Microsoft
Gdy podmiot zabezpieczeń próbuje uzyskać dostęp do zasobu usługi Azure SignalR Service, żądanie musi być autoryzowane. Uzyskiwanie dostępu do zasobu przy użyciu identyfikatora Entra firmy Microsoft wymaga wykonania dwóch kroków:
- Identyfikator entra firmy Microsoft uwierzytelnia podmiot zabezpieczeń, a następnie zwraca token OAuth 2.0.
- Token jest przekazywany jako część żądania do zasobu usługi Azure SignalR Service w celu autoryzowania żądania.
Uwierzytelnianie po stronie klienta przy użyciu identyfikatora Entra firmy Microsoft
Gdy używasz klucza dostępu, klucz jest udostępniany między serwerem aplikacji (lub aplikacją funkcji) a zasobem usługi Azure SignalR Service. Usługa Azure SignalR Service uwierzytelnia żądanie połączenia klienta przy użyciu klucza współużytkowanego.
Jeśli używasz identyfikatora Entra firmy Microsoft, nie ma klucza współużytkowanego. Zamiast tego usługa Azure SignalR Service używa tymczasowego klucza dostępu do tokenów podpisywania używanych w połączeniach klienta. Przepływ pracy zawiera cztery kroki:
- Podmiot zabezpieczeń wymaga tokenu OAuth 2.0 z identyfikatora Entra firmy Microsoft w celu uwierzytelnienia się.
- Podmiot zabezpieczeń wywołuje interfejs API uwierzytelniania usługi SignalR, aby uzyskać tymczasowy klucz dostępu.
- Podmiot zabezpieczeń podpisuje token klienta z tymczasowym kluczem dostępu dla połączeń klienta podczas negocjacji.
- Klient używa tokenu klienta do nawiązywania połączenia z zasobami usługi Azure SignalR Service.
Tymczasowy klucz dostępu wygaśnie za 90 minut. Zalecamy uzyskanie nowego i obracanie starego raz na godzinę.
Przepływ pracy jest wbudowany w zestaw SDK usługi Azure SignalR Service dla serwerów aplikacji.
Przypisywanie ról platformy Azure na potrzeby praw dostępu
Microsoft Entra ID autoryzuje prawa dostępu do zabezpieczonych zasobów za pośrednictwem kontroli dostępu opartej na rolach platformy Azure. Usługa Azure SignalR Service definiuje zestaw wbudowanych ról platformy Azure, które obejmują typowe zestawy uprawnień na potrzeby uzyskiwania dostępu do zasobów usługi Azure SignalR Service. Możesz również zdefiniować role niestandardowe na potrzeby dostępu do zasobów usługi Azure SignalR Service.
Zakres zasobu
Może być konieczne określenie zakresu dostępu, który podmiot zabezpieczeń powinien mieć przed przypisaniem dowolnej roli RBAC platformy Azure do podmiotu zabezpieczeń. Zalecamy przyznanie tylko najwęższego możliwego zakresu. Role RBAC platformy Azure zdefiniowane w szerszym zakresie są dziedziczone przez pod nimi zasoby.
Dostęp do zasobów usługi Azure SignalR Service można ograniczyć na następujących poziomach, począwszy od najwęższego zakresu.
Scope | opis |
---|---|
Pojedynczy zasób | Dotyczy tylko zasobu docelowego. |
Grupa zasobów | Dotyczy wszystkich zasobów w grupie zasobów. |
Subskrypcja | Dotyczy wszystkich zasobów w subskrypcji. |
Grupa zarządzania | Dotyczy wszystkich zasobów w subskrypcjach uwzględnionych w grupie zarządzania. |
Wbudowane role platformy Azure dla zasobów usługi Azure SignalR Service
Rola | opis | Przypadek użycia |
---|---|---|
SignalR App Server | Dostęp do interfejsu API tworzenia połączenia protokołu WebSocket i interfejsów API uwierzytelniania. | Najczęściej używane dla serwera aplikacji. |
Właściciel usługi SignalR Service | Pełny dostęp do wszystkich interfejsów API płaszczyzny danych, w tym interfejsów API REST, interfejsu API tworzenia połączenia protokołu WebSocket i interfejsów API uwierzytelniania. | Służy do trybu bezserwerowego autoryzacji z identyfikatorem Entra firmy Microsoft, ponieważ wymaga zarówno uprawnień interfejsu API REST, jak i uprawnień interfejsu API uwierzytelniania. |
Właściciel interfejsu API REST usługi SignalR | Pełny dostęp do interfejsów API REST płaszczyzny danych. | Często używane do pisania narzędzia, które zarządza połączeniami i grupami, ale nie powoduje nawiązywania połączeń ani wywoływania interfejsów API uwierzytelniania. |
Czytnik interfejsu API REST usługi SignalR | Dostęp tylko do odczytu do interfejsów API REST płaszczyzny danych. | Często używane do pisania narzędzia do monitorowania, które wywołuje tylko interfejsy API REST tylko do odczytu w usłudze Azure SignalR Service. |
Następne kroki
Aby dowiedzieć się, jak utworzyć aplikację platformy Azure i używać autoryzacji firmy Microsoft Entra, zobacz Autoryzowanie żądań do zasobów usługi Azure SignalR Service za pomocą aplikacji Firmy Microsoft Entra.
Aby dowiedzieć się, jak skonfigurować tożsamość zarządzaną i używać autoryzacji firmy Microsoft Entra, zobacz Autoryzowanie żądań do zasobów usługi Azure SignalR Service przy użyciu tożsamości zarządzanych firmy Microsoft Entra.
Aby dowiedzieć się więcej na temat ról i przypisań ról, zobacz Co to jest kontrola dostępu oparta na rolach (RBAC) platformy Azure?.
Aby dowiedzieć się, jak tworzyć role niestandardowe, zobacz Kroki tworzenia roli niestandardowej.
Aby dowiedzieć się, jak używać tylko uwierzytelniania entra firmy Microsoft, zobacz Wyłączanie uwierzytelniania lokalnego.