Toegang tot Web PubSub-resources autoriseren met behulp van Microsoft Entra-id

De Azure Web PubSub-service maakt de autorisatie van aanvragen voor Azure Web PubSub-resources mogelijk door gebruik te maken van Microsoft Entra-id.

Door op rollen gebaseerd toegangsbeheer (RBAC) met Microsoft Entra ID te gebruiken, kunnen machtigingen worden verleend aan een beveiligingsprincipaal[1]. Microsoft Entra autoriseert deze beveiligingsprincipaal en retourneert een OAuth 2.0-token, dat Web PubSub-resources vervolgens kunnen gebruiken om een aanvraag te autoriseren.

Het gebruik van Microsoft Entra ID voor autorisatie van Web PubSub-aanvragen biedt verbeterde beveiliging en gebruiksgemak in vergelijking met autorisatie van toegangssleutels. Microsoft raadt aan om microsoft Entra-autorisatie te gebruiken met Web PubSub-resources, indien mogelijk om toegang te garanderen met de minimale benodigde bevoegdheden.

[1] Beveiligingsprincipaal: een gebruiker/resourcegroep, een toepassing of een service-principal, zoals door het systeem toegewezen identiteiten en door de gebruiker toegewezen identiteiten.

Overzicht van Microsoft Entra-id voor Web PubSub

Verificatie is nodig voor toegang tot een Web PubSub-resource bij het gebruik van Microsoft Entra-id. Deze verificatie omvat twee stappen:

  1. Eerst verifieert Azure de beveiligingsprincipaal en geeft een OAuth 2.0-token uit.
  2. Ten tweede wordt het token toegevoegd aan de aanvraag aan de Web PubSub-resource. De Web PubSub-service gebruikt het token om te controleren of de service-principal toegang heeft tot de resource.

Verificatie aan de clientzijde tijdens het gebruik van Microsoft Entra-id

De onderhandelingsserver/functie-app deelt een toegangssleutel met de Web PubSub-resource, waardoor de Web PubSub-service clientverbindingsaanvragen kan verifiëren met behulp van clienttokens die zijn gegenereerd door de toegangssleutel.

Toegangssleutel wordt echter vaak uitgeschakeld wanneer u Microsoft Entra-id gebruikt om de beveiliging te verbeteren.

Om dit probleem op te lossen, hebben we een REST API ontwikkeld waarmee een clienttoken wordt gegenereerd. Dit token kan worden gebruikt om verbinding te maken met de Azure Web PubSub-service.

Als u deze API wilt gebruiken, moet de onderhandelingsserver eerst een Microsoft Entra-token van Azure verkrijgen om zichzelf te verifiëren. De server kan vervolgens de Web PubSub Auth-API aanroepen met het Microsoft Entra-token om een clienttoken op te halen. Het clienttoken wordt vervolgens geretourneerd naar de client, die het kan gebruiken om verbinding te maken met de Azure Web PubSub-service.

We hebben helperfuncties (bijvoorbeeld GenerateClientAccessUri) geleverd voor ondersteunde programmeertalen.

Azure-rollen toewijzen voor toegangsrechten

Microsoft Entra autoriseert toegangsrechten voor beveiligde resources via op rollen gebaseerd toegangsbeheer van Azure. Azure Web PubSub definieert een set ingebouwde Azure-rollen die algemene sets machtigingen omvatten die worden gebruikt voor toegang tot Web PubSub-resources. U kunt ook aangepaste rollen definiëren voor toegang tot Web PubSub-resources.

Resourcebereik

Voordat u een Azure RBAC-rol toewijst aan een beveiligingsprincipaal, is het belangrijk om het juiste toegangsniveau te identificeren dat de principal moet hebben. Het is raadzaam om de rol te verlenen met het kleinste mogelijke bereik. Resources die zich onder azure RBAC-rollen bevinden, nemen over met bredere bereiken.

U kunt toegang tot Azure Web PubSub-resources op de volgende niveaus instellen, te beginnen met het smalste bereik:

  • Een afzonderlijke resource.

    In dit bereik is een roltoewijzing alleen van toepassing op de doelresource.

  • Een resourcegroep.

    In dit bereik is een roltoewijzing van toepassing op alle resources in de resourcegroep.

  • Een abonnement.

    In dit bereik is een roltoewijzing van toepassing op alle resources in alle resourcegroepen in het abonnement.

  • Een beheergroep.

    In dit bereik is een roltoewijzing van toepassing op alle resources in alle resourcegroepen in alle abonnementen in de beheergroep.

Ingebouwde Azure-rollen voor Web PubSub-resources

  • Web PubSub Service Owner

    Volledige toegang tot machtigingen voor gegevensvlakken, waaronder REST API's voor lezen/schrijven en Auth-API's.

    Deze rol wordt het meest gebruikt voor het bouwen van een upstream-server.

  • Web PubSub Service Reader

    Gebruik dit om alleen-lezen REST API's machtigingen te verlenen voor Web PubSub-resources.

    Deze wordt gebruikt wanneer u een bewakingsprogramma wilt schrijven dat ALLEEN WEB PubSub-gegevensvlak READONLY REST API's aanroept.

Volgende stappen

Zie voor meer informatie over het maken van een Azure-toepassing en het gebruik van Microsoft Entra-autorisatie

Zie voor meer informatie over het configureren van een beheerde identiteit en het gebruik van Microsoft Entra-verificatie

Zie voor meer informatie over rollen en roltoewijzingen

Zie voor meer informatie over het maken van aangepaste rollen

Zie Voor meer informatie over het gebruik van alleen Microsoft Entra-autorisatie