Share via


Toegang autoriseren met Microsoft Entra ID voor Azure SignalR Service

Azure SignalR Service ondersteunt Microsoft Entra ID voor het autoriseren van aanvragen voor de resources. Met Microsoft Entra ID kunt u op rollen gebaseerd toegangsbeheer (RBAC) gebruiken om machtigingen te verlenen aan een beveiligingsprincipaal. Een beveiligingsprincipaal is een gebruikers-/resourcegroep, een toepassing of een service-principal, zoals door het systeem toegewezen identiteiten en door de gebruiker toegewezen identiteiten.

Microsoft Entra ID verifieert de beveiligingsprincipaal en retourneert een OAuth 2.0-token. Het token wordt vervolgens gebruikt om een aanvraag te autoriseren voor de Azure SignalR Service-resource.

Het autoriseren van aanvragen voor Azure SignalR Service met behulp van Microsoft Entra ID biedt superieure beveiliging en gebruiksgemak in vergelijking met toegangssleutelautorisatie. We raden u ten zeerste aan microsoft Entra-id te gebruiken voor het autoriseren van waar mogelijk, omdat hiermee toegang wordt gegarandeerd met de minimale vereiste bevoegdheden.

Belangrijk

Het uitschakelen van lokale verificatie kan de volgende gevolgen hebben:

  • De huidige set toegangssleutels wordt definitief verwijderd.
  • Tokens die zijn ondertekend met de huidige set toegangssleutels, zijn niet beschikbaar.

Overzicht van Microsoft Entra-id

Wanneer een beveiligingsprincipal toegang probeert te krijgen tot een Azure SignalR Service-resource, moet de aanvraag worden geautoriseerd. Voor het gebruik van Microsoft Entra-id voor het verkrijgen van toegang tot een resource zijn twee stappen vereist:

  1. Microsoft Entra ID verifieert de beveiligingsprincipaal en retourneert vervolgens een OAuth 2.0-token.
  2. Het token wordt doorgegeven als onderdeel van een aanvraag aan de Azure SignalR Service-resource voor het autoriseren van de aanvraag.

Verificatie aan de clientzijde met Microsoft Entra-id

Wanneer u een toegangssleutel gebruikt, wordt de sleutel gedeeld tussen uw app-server (of functie-app) en de Azure SignalR Service-resource. Azure SignalR Service verifieert de aanvraag voor de clientverbinding met behulp van de gedeelde sleutel.

Wanneer u Microsoft Entra ID gebruikt, is er geen gedeelde sleutel. In plaats daarvan gebruikt Azure SignalR Service een tijdelijke toegangssleutel voor ondertekeningstokens die worden gebruikt in clientverbindingen. De werkstroom bevat vier stappen:

  1. De beveiligingsprincipaal vereist een OAuth 2.0-token van Microsoft Entra ID om zichzelf te verifiëren.
  2. De beveiligingsprincipal roept de SignalR-verificatie-API aan om een tijdelijke toegangssleutel op te halen.
  3. De beveiligingsprincipaal ondertekent een clienttoken met de tijdelijke toegangssleutel voor clientverbindingen tijdens de onderhandeling.
  4. De client gebruikt het clienttoken om verbinding te maken met Azure SignalR Service-resources.

De tijdelijke toegangssleutel verloopt over 90 minuten. U wordt aangeraden een nieuwe te krijgen en de oude een keer per uur uit te draaien.

De werkstroom is ingebouwd in de Azure SignalR Service SDK voor app-servers.

Azure-rollen toewijzen voor toegangsrechten

Microsoft Entra ID autoriseert toegangsrechten voor beveiligde resources via Azure RBAC. Azure SignalR Service definieert een set ingebouwde Azure-rollen die algemene sets machtigingen omvatten voor toegang tot Azure SignalR Service-resources. U kunt ook aangepaste rollen definiëren voor toegang tot Azure SignalR Service-resources.

Resourcebereik

Mogelijk moet u het toegangsbereik bepalen dat de beveiligingsprincipaal moet hebben voordat u een Azure RBAC-rol toewijst aan een beveiligingsprincipaal. U wordt aangeraden alleen het smalst mogelijke bereik toe te kennen. Azure RBAC-rollen die zijn gedefinieerd in een breder bereik, worden overgenomen door de onderliggende resources.

U kunt toegang tot Azure SignalR Service-resources op de volgende niveaus instellen, te beginnen met het smalste bereik.

Bereik Omschrijving
Afzonderlijke resource Alleen van toepassing op de doelresource.
Resourcegroep Is van toepassing op alle resources in een resourcegroep.
Abonnement Is van toepassing op alle resources in een abonnement.
Beheergroep Is van toepassing op alle resources in de abonnementen die zijn opgenomen in een beheergroep.

Ingebouwde Azure-rollen voor Azure SignalR Service-resources

- Rol Omschrijving Gebruiksscenario
SignalR-appserver Toegang tot de WebSocket-verbinding maken-API en verificatie-API's. Meestal gebruikt voor een app-server.
SignalR-service-eigenaar Volledige toegang tot alle gegevensvlak-API's, waaronder REST API's, de WebSocket-verbinding maken-API en verificatie-API's. Gebruiken voor de serverloze modus voor autorisatie met Microsoft Entra-id, omdat hiervoor zowel REST API-machtigingen als verificatie-API-machtigingen zijn vereist.
SignalR REST API-eigenaar Volledige toegang tot REST API's voor het gegevensvlak. Vaak gebruikt voor het schrijven van een hulpprogramma dat verbindingen en groepen beheert, maar geen verbindingen maakt of verificatie-API's aanroept.
SignalR REST API Reader Alleen-lezentoegang tot REST API's van het gegevensvlak. Wordt vaak gebruikt voor het schrijven van een bewakingsprogramma dat alleen REST API's van Azure SignalR Service aanroept die alleen-lezen zijn.

Volgende stappen