Verificatie en autorisatie van Azure Relay

Er zijn twee manieren om toegang tot Azure Relay-resources te verifiëren en te autoriseren: Microsoft Entra ID en Shared Access Signatures (SAS). In dit artikel vindt u meer informatie over het gebruik van deze twee typen beveiligingsmechanismen.

Microsoft Entra ID

Microsoft Entra-integratie voor Azure Relay-resources biedt op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC) voor fijnmazige controle over de toegang van een client tot resources. U kunt Azure RBAC gebruiken om machtigingen te verlenen aan een beveiligingsprincipal. Deze kan een gebruiker, een groep of een toepassingsservice-principal kan zijn. De beveiligingsprincipaal wordt geverifieerd door de Microsoft Entra-id om een OAuth 2.0-token te retourneren. Het token kan worden gebruikt om een aanvraag te autoriseren voor toegang tot een Azure Relay-resource.

Zie de volgende artikelen voor meer informatie over verificatie met Microsoft Entra ID:

Belangrijk

Het autoriseren van gebruikers of toepassingen met behulp van OAuth 2.0-token dat wordt geretourneerd door Microsoft Entra ID biedt superieure beveiliging en gebruiksgemak ten opzichte van handtekeningen voor gedeelde toegang (SAS). Met Microsoft Entra ID hoeft u geen tokens op te slaan in uw code en potentiële beveiligingsproblemen te riskeren. U wordt aangeraden Microsoft Entra ID te gebruiken met uw Azure Relay-toepassingen, indien mogelijk.

Ingebouwde rollen

Voor Azure Relay is het beheer van naamruimten en alle gerelateerde resources via Azure Portal en de Azure Resource Management-API al beveiligd met behulp van het Azure RBAC-model. Azure biedt de onderstaande ingebouwde Azure-rollen voor het autoriseren van toegang tot een Relay-naamruimte:

- Rol Omschrijving
Azure Relay-eigenaar Gebruik deze rol om volledige toegang te verlenen tot Azure Relay-resources.
Azure Relay-listener Gebruik deze rol om lees- en luistertoegang te verlenen aan Azure Relay-resources.
Afzender van Azure Relay Gebruik deze rol om leestoegang tot Azure Relay-resources voor verzenden en entiteiten te verlenen.

Gedeelde handtekening voor toegang

Toepassingen kunnen worden geverifieerd bij Azure Relay met sas-verificatie (Shared Access Signature). Met SAS-verificatie kunnen toepassingen worden geverifieerd bij de Azure Relay-service met behulp van een toegangssleutel die is geconfigureerd in de Relay-naamruimte. U kunt deze sleutel vervolgens gebruiken om een Shared Access Signature-token te genereren dat clients kunnen gebruiken om te verifiëren bij de Relay-service.

Met SAS-verificatie kunt u een gebruiker toegang verlenen tot Azure Relay-resources met specifieke rechten. SAS-verificatie omvat de configuratie van een cryptografische sleutel met gekoppelde rechten voor een resource. Clients kunnen vervolgens toegang krijgen tot die resource door een SAS-token te presenteren, dat bestaat uit de resource-URI die wordt geopend en een vervaldatum die is ondertekend met de geconfigureerde sleutel.

U kunt sleutels voor SAS configureren in een Relay-naamruimte. In tegenstelling tot Service Bus-berichten ondersteunt Relay Hybrid Verbinding maken ions niet-geautoriseerde of anonieme afzenders. U kunt anonieme toegang voor de entiteit inschakelen wanneer u deze maakt, zoals wordt weergegeven in de volgende schermopname van de portal:

A dialog box titled

Als u SAS wilt gebruiken, kunt u een SharedAccessAuthorizationRule-object configureren in een Relay-naamruimte die uit de volgende eigenschappen bestaat:

  • KeyName waarmee de regel wordt geïdentificeerd.
  • PrimaryKey is een cryptografische sleutel die wordt gebruikt voor het ondertekenen/valideren van SAS-tokens.
  • SecondaryKey is een cryptografische sleutel die wordt gebruikt voor het ondertekenen/valideren van SAS-tokens.
  • Rechten die de verzameling rechten voor luisteren, verzenden of beheren vertegenwoordigen.

Autorisatieregels die op naamruimteniveau zijn geconfigureerd, kunnen toegang verlenen tot alle relayverbindingen in een naamruimte voor clients met tokens die zijn ondertekend met behulp van de bijbehorende sleutel. Maximaal 12 dergelijke autorisatieregels kunnen worden geconfigureerd in een Relay-naamruimte. Standaard wordt een SharedAccessAuthorizationRule met alle rechten geconfigureerd voor elke naamruimte wanneer deze voor het eerst wordt ingericht.

Voor toegang tot een entiteit vereist de client een SAS-token dat is gegenereerd met behulp van een specifieke SharedAccessAuthorizationRule. Het SAS-token wordt gegenereerd met behulp van de HMAC-SHA256 van een resourcereeks die bestaat uit de resource-URI waarop de toegang wordt geclaimd en een vervaldatum met een cryptografische sleutel die is gekoppeld aan de autorisatieregel.

SAS-verificatieondersteuning voor Azure Relay is opgenomen in de Azure .NET SDK-versies 2.0 en hoger. SAS bevat ondersteuning voor een SharedAccessAuthorizationRule. Alle API's die een verbindingsreeks als parameter accepteren, bevatten ondersteuning voor SAS-verbindingsreeks s.

Voorbeelden

Volgende stappen