Auktorisera åtkomst med Microsoft Entra ID för Azure SignalR Service
Artikel
Azure SignalR Service stöder Microsoft Entra-ID för att auktorisera begäranden till dess resurser. Med Microsoft Entra-ID kan du använda rollbaserad åtkomstkontroll (RBAC) för att bevilja behörigheter till ett säkerhetsobjekt. Ett säkerhetsobjekt är en användar-/resursgrupp, ett program eller ett huvudnamn för tjänsten, till exempel systemtilldelade identiteter och användartilldelade identiteter.
Microsoft Entra-ID autentiserar säkerhetsobjektet och returnerar en OAuth 2.0-token. Token används sedan för att auktorisera en begäran mot Azure SignalR Service-resursen.
Att auktorisera begäranden mot Azure SignalR Service med hjälp av Microsoft Entra-ID ger överlägsen säkerhet och användarvänlighet jämfört med åtkomstnyckelauktorisering. Vi rekommenderar starkt att du använder Microsoft Entra-ID för att auktorisera när det är möjligt, eftersom det garanterar åtkomst med minsta möjliga behörighet.
Viktigt
Om du inaktiverar lokal autentisering kan det få följande konsekvenser:
Den aktuella uppsättningen åtkomstnycklar tas bort permanent.
Token som signerats med den aktuella uppsättningen åtkomstnycklar blir otillgängliga.
Översikt över Microsoft Entra ID
När ett säkerhetsobjekt försöker komma åt en Azure SignalR Service-resurs måste begäran auktoriseras. Att använda Microsoft Entra-ID för att få åtkomst till en resurs kräver två steg:
Microsoft Entra-ID autentiserar säkerhetsobjektet och returnerar sedan en OAuth 2.0-token.
Token skickas som en del av en begäran till Azure SignalR Service-resursen för auktorisering av begäran.
Autentisering på klientsidan med Microsoft Entra-ID
När du använder en åtkomstnyckel delas nyckeln mellan appservern (eller funktionsappen) och Azure SignalR Service-resursen. Azure SignalR Service autentiserar klientanslutningsbegäran med hjälp av den delade nyckeln.
När du använder Microsoft Entra-ID finns det ingen delad nyckel. I stället använder Azure SignalR Service en tillfällig åtkomstnyckel för signeringstoken som används i klientanslutningar. Arbetsflödet innehåller fyra steg:
Säkerhetsobjektet kräver en OAuth 2.0-token från Microsoft Entra-ID för att autentisera sig själv.
Säkerhetsobjektet anropar SIGNALR-autentiserings-API:et för att hämta en tillfällig åtkomstnyckel.
Säkerhetsobjektet signerar en klienttoken med den tillfälliga åtkomstnyckeln för klientanslutningar under förhandling.
Klienten använder klienttoken för att ansluta till Azure SignalR Service-resurser.
Den tillfälliga åtkomstnyckeln upphör att gälla om 90 minuter. Vi rekommenderar att du får en ny och roterar ut den gamla en gång i timmen.
Microsoft Entra ID auktoriserar åtkomsträttigheter till skyddade resurser via Azure RBAC. Azure SignalR Service definierar en uppsättning inbyggda Azure-roller som omfattar vanliga uppsättningar med behörigheter för åtkomst till Azure SignalR Service-resurser. Du kan också definiera anpassade roller för åtkomst till Azure SignalR Service-resurser.
Resursomfång
Du kan behöva bestämma omfånget för åtkomst som säkerhetsobjektet ska ha innan du tilldelar någon Azure RBAC-roll till ett säkerhetsobjekt. Vi rekommenderar att du endast beviljar det minsta möjliga omfånget. Azure RBAC-roller som definierats i ett bredare omfång ärvs av resurserna under dem.
Du kan begränsa åtkomsten till Azure SignalR Service-resurser på följande nivåer, från och med det smalaste omfånget.
Scope
beskrivning
Enskild resurs
Gäller endast för målresursen.
Resursgrupp
Gäller för alla resurser i en resursgrupp.
Prenumeration
Gäller för alla resurser i en prenumeration.
Hanteringsgrupp
Gäller för alla resurser i prenumerationerna som ingår i en hanteringsgrupp.
Inbyggda Azure-roller för Azure SignalR Service-resurser
Fullständig åtkomst till alla API:er för dataplan, inklusive REST-API:er, API:et för skapande av WebSocket-anslutningar och API:er för autentisering.
Använd för serverlöst läge för auktorisering med Microsoft Entra-ID eftersom det kräver både REST API-behörigheter och autentiserings-API-behörigheter.
Fullständig åtkomst till REST-API:er för dataplanet.
Används ofta för att skriva ett verktyg som hanterar anslutningar och grupper, men som inte upprättar anslutningar eller anropar API:er för autentisering.
Demonstrera funktionerna i Microsoft Entra ID för att modernisera identitetslösningar, implementera hybridlösningar och implementera identitetsstyrning.
Den här artikeln innehåller information om hur du auktoriserar begäranden till Azure SignalR Service-resurser med hjälp av Microsoft Entra-hanterade identiteter.
Lär dig hur du implementerar din egen autentisering och integrerar den med Azure SignalR Service genom att följa exemplet från slutpunkt till slutpunkt.