Auktorisera åtkomst till Web PubSub-resurser med hjälp av Microsoft Entra-ID
Azure Web PubSub Service möjliggör auktorisering av begäranden till Azure Web PubSub-resurser genom att använda Microsoft Entra-ID.
Genom att använda rollbaserad åtkomstkontroll (RBAC) med Microsoft Entra-ID kan behörigheter beviljas till ett säkerhetsobjekt[1]. Microsoft Entra auktoriserar det här säkerhetsobjektet och returnerar en OAuth 2.0-token, som Web PubSub-resurser sedan kan använda för att auktorisera en begäran.
Användning av Microsoft Entra-ID för auktorisering av Web PubSub-begäranden ger bättre säkerhet och användarvänlighet jämfört med åtkomstnyckelauktorisering. Microsoft rekommenderar att du använder Microsoft Entra-auktorisering med Web PubSub-resurser när det är möjligt för att säkerställa åtkomst med minsta möjliga behörighet.
[1] Säkerhetsobjekt: en användare/resursgrupp, ett program eller ett huvudnamn för tjänsten, till exempel systemtilldelade identiteter och användartilldelade identiteter.
Översikt över Microsoft Entra ID för Web PubSub
Autentisering krävs för att få åtkomst till en Web PubSub-resurs när du använder Microsoft Entra-ID. Den här autentiseringen omfattar två steg:
- Först autentiserar Azure säkerhetsobjektet och utfärdar en OAuth 2.0-token.
- För det andra läggs token till i begäran till Web PubSub-resursen. Tjänsten Web PubSub använder token för att kontrollera om tjänstens huvudnamn har åtkomst till resursen.
Autentisering på klientsidan vid användning av Microsoft Entra-ID
Förhandlingsservern/funktionsappen delar en åtkomstnyckel med Web PubSub-resursen, vilket gör det möjligt för Web PubSub-tjänsten att autentisera klientanslutningsbegäranden med klienttoken som genereras av åtkomstnyckeln.
Åtkomstnyckeln inaktiveras dock ofta när du använder Microsoft Entra-ID för att förbättra säkerheten.
För att lösa det här problemet har vi utvecklat ett REST API som genererar en klienttoken. Den här token kan användas för att ansluta till Azure Web PubSub-tjänsten.
Om du vill använda det här API:et måste förhandlingsservern först hämta en Microsoft Entra-token från Azure för att autentisera sig själv. Servern kan sedan anropa API:et Web PubSub Auth med Microsoft Entra-token för att hämta en klienttoken. Klienttoken returneras sedan till klienten, som kan använda den för att ansluta till Azure Web PubSub-tjänsten.
Vi tillhandahöll hjälpfunktioner (till exempel GenerateClientAccessUri) för programmeringsspråk som stöds.
Tilldela Azure-roller för åtkomsträttigheter
Microsoft Entra auktoriserar åtkomsträttigheter till skyddade resurser via rollbaserad åtkomstkontroll i Azure. Azure Web PubSub definierar en uppsättning inbyggda Azure-roller som omfattar vanliga uppsättningar med behörigheter som används för åtkomst till Web PubSub-resurser. Du kan också definiera anpassade roller för åtkomst till Web PubSub-resurser.
Resursomfång
Innan du tilldelar en Azure RBAC-roll till ett säkerhetsobjekt är det viktigt att identifiera den åtkomstnivå som huvudkontot ska ha. Vi rekommenderar att du beviljar rollen med minsta möjliga omfång. Resurser som finns under ärver Azure RBAC-roller med bredare omfång.
Du kan begränsa åtkomsten till Azure Web PubSub-resurser på följande nivåer, från och med det smalaste omfånget:
En enskild resurs.
I det här omfånget gäller en rolltilldelning endast för målresursen.
En resursgrupp.
I det här omfånget gäller en rolltilldelning för alla resurser i resursgruppen.
En prenumeration.
I det här omfånget gäller en rolltilldelning för alla resurser i alla resursgrupper i prenumerationen.
En hanteringsgrupp.
I det här omfånget gäller en rolltilldelning för alla resurser i alla resursgrupper i alla prenumerationer i hanteringsgruppen.
Inbyggda Azure-roller för Web PubSub-resurser
Web PubSub Service Owner
Fullständig åtkomst till dataplansbehörigheter, inklusive REST-API:er för läsning/skrivning och Auth-API:er.
Den här rollen är den vanligaste som används för att skapa en överordnad server.
Web PubSub Service Reader
Använd för att bevilja skrivskyddade REST API:er behörigheter till Web PubSub-resurser.
Den används när du vill skriva ett övervakningsverktyg som anropar ENDAST WEB PubSub-dataplanets READONLY REST-API:er.
Nästa steg
Information om hur du skapar ett Azure-program och använder Microsoft Entra-auktorisering finns i
Information om hur du konfigurerar en hanterad identitet och använder Microsoft Entra-autentisering finns i
Mer information om roller och rolltilldelningar finns i
Information om hur du skapar anpassade roller finns i
Information om hur du endast använder Microsoft Entra-auktorisering finns i