Toegang tot Azure Service Bus-naamruimte vanuit specifieke virtuele netwerken toestaan

De integratie van Service Bus met VNet-service-eindpunten (Virtual Network) maakt beveiligde toegang tot berichtenmogelijkheden mogelijk van workloads zoals virtuele machines die zijn gebonden aan virtuele netwerken, waarbij het netwerkverkeerspad aan beide uiteinden wordt beveiligd.

Zodra deze is geconfigureerd om te worden gebonden aan ten minste één subnetservice-eindpunt van het virtuele netwerk, accepteert de respectieve Service Bus-naamruimte geen verkeer meer vanaf elke locatie, maar van geautoriseerde virtuele netwerken en, optioneel, specifieke INTERNET-IP-adressen. Vanuit het perspectief van het virtuele netwerk configureert het binden van een Service Bus-naamruimte aan een service-eindpunt een geïsoleerde netwerktunnel van het subnet van het virtuele netwerk naar de berichtenservice.

Het resultaat is een privé- en geïsoleerde relatie tussen de workloads die zijn gebonden aan het subnet en de respectieve Service Bus-naamruimte, ondanks het waarneembare netwerkadres van het berichtenservice-eindpunt dat zich in een openbaar IP-bereik bevindt.

Belangrijke punten

  • Virtuele netwerken worden alleen ondersteund in Service Bus-naamruimten in de Premium-laag . Wanneer u VNet-service-eindpunten gebruikt met Service Bus, moet u deze eindpunten niet inschakelen in toepassingen die Service Bus-naamruimten van de standard- en premium-laag combineren. Omdat de standard-laag geen ondersteuning biedt voor VNets. Het eindpunt is alleen beperkt tot naamruimten in de Premium-laag.

  • Het implementeren van de integratie van virtuele netwerken kan voorkomen dat andere Azure-services interactie hebben met Service Bus. Als uitzondering kunt u toegang tot Service Bus-resources van bepaalde vertrouwde services toestaan, zelfs wanneer netwerkservice-eindpunten zijn ingeschakeld. Zie Vertrouwde services voor een lijst met vertrouwde services.

    De volgende Microsoft-services moeten zich in een virtueel netwerk bevinden

    • Azure App Service
    • Azure Functions
  • Geef ten minste één IP-regel of regel voor het virtuele netwerk op voor de naamruimte om alleen verkeer van de opgegeven IP-adressen of subnetten van een virtueel netwerk toe te staan. Als er geen IP- en virtuele netwerkregels zijn, kan de naamruimte worden geopend via het openbare internet (met behulp van de toegangssleutel).

Geavanceerde beveiligingsscenario's ingeschakeld door VNet-integratie

Oplossingen die een strakke en gecompartimentaliseerde beveiliging vereisen, en waarbij subnetten van virtuele netwerken de segmentatie tussen de gecompartimenteerde services bieden, hebben over het algemeen nog steeds communicatiepaden nodig tussen services die zich in die compartimenten bevinden.

Elke directe IP-route tussen de compartimenten, met inbegrip van die met HTTPS via TCP/IP, draagt het risico op misbruik van beveiligingsproblemen van de netwerklaag op. Berichtenservices bieden geïsoleerde communicatiepaden, waarbij berichten zelfs naar schijf worden geschreven tijdens de overgang tussen partijen. Workloads in twee afzonderlijke virtuele netwerken die beide aan hetzelfde Service Bus-exemplaar zijn gebonden, kunnen efficiënt en betrouwbaar communiceren via berichten, terwijl de respectieve integriteit van de netwerkisolatiegrens behouden blijft.

Dat betekent dat uw beveiligingsgevoelige cloudoplossingen niet alleen toegang krijgen tot toonaangevende betrouwbare en schaalbare asynchrone berichtenmogelijkheden van Azure, maar ze kunnen nu berichten gebruiken om communicatiepaden te maken tussen beveiligde oplossingscompartimenten die inherent veiliger zijn dan wat mogelijk is met elke peer-to-peer-communicatiemodus, waaronder HTTPS en andere tls-beveiligde socketprotocollen.

Service Bus binden aan virtuele netwerken

Regels voor virtuele netwerken zijn de firewallbeveiligingsfunctie waarmee wordt bepaald of uw Azure Service Bus-server verbindingen van een bepaald subnet van een virtueel netwerk accepteert.

Het binden van een Service Bus-naamruimte aan een virtueel netwerk is een proces in twee stappen. U moet eerst een service-eindpunt voor een virtueel netwerk maken op een subnet van een virtueel netwerk en dit inschakelen voor Microsoft.ServiceBus, zoals wordt uitgelegd in het overzicht van het service-eindpunt. Nadat u het service-eindpunt hebt toegevoegd, koppelt u de Service Bus-naamruimte aan het eindpunt met een regel voor een virtueel netwerk.

De regel voor het virtuele netwerk is een koppeling van de Service Bus-naamruimte met een subnet van een virtueel netwerk. Hoewel de regel bestaat, krijgen alle workloads die zijn gebonden aan het subnet toegang tot de Service Bus-naamruimte. Service Bus zelf brengt nooit uitgaande verbindingen tot stand, hoeft geen toegang te krijgen en krijgt daarom nooit toegang tot uw subnet door deze regel in te schakelen.

Notitie

Houd er rekening mee dat een netwerkservice-eindpunt toepassingen biedt die worden uitgevoerd in het virtuele netwerk, de toegang tot de Service Bus-naamruimte. Het virtuele netwerk bepaalt de bereikbaarheid van het eindpunt, maar niet welke bewerkingen kunnen worden uitgevoerd op Service Bus-entiteiten (wachtrijen, onderwerpen of abonnementen). Gebruik Microsoft Entra ID om bewerkingen te autoriseren die de toepassingen kunnen uitvoeren op de naamruimte en de bijbehorende entiteiten. Zie Een toepassing verifiëren en autoriseren met Microsoft Entra ID voor toegang tot Service Bus-entiteiten voor meer informatie.

Azure Portal gebruiken

Wanneer u een naamruimte maakt, kunt u alleen openbare (van alle netwerken) of alleen privétoegang (alleen via privé-eindpunten) tot de naamruimte toestaan. Zodra de naamruimte is gemaakt, kunt u toegang vanaf specifieke IP-adressen of van specifieke virtuele netwerken toestaan (met behulp van netwerkservice-eindpunten).

Openbare toegang configureren bij het maken van een naamruimte

Als u openbare toegang wilt inschakelen, selecteert u Openbare toegang op de pagina Netwerken van de wizard Naamruimte maken.

Screenshot showing the Networking page of the Create namespace wizard with Public access option selected.

Nadat u de naamruimte hebt gemaakt, selecteert u Netwerken in het linkermenu van de Service Bus-naamruimtepagina . U ziet dat de optie Alle netwerken is geselecteerd. U kunt de optie Geselecteerde netwerken selecteren en toegang toestaan vanaf specifieke IP-adressen of specifieke virtuele netwerken. In de volgende sectie vindt u meer informatie over het opgeven van de netwerken waaruit de toegang is toegestaan.

Geselecteerde netwerken configureren voor een bestaande naamruimte

In deze sectie wordt beschreven hoe u Azure Portal gebruikt om een service-eindpunt voor een virtueel netwerk toe te voegen. Als u de toegang wilt beperken, moet u het service-eindpunt van het virtuele netwerk voor deze Event Hubs-naamruimte integreren.

  1. Navigeer naar uw Service Bus-naamruimte in Azure Portal.

  2. Selecteer in het linkermenu de optie Netwerken onder Instellingen.

    Notitie

    U ziet het tabblad Netwerken alleen voor Premium-naamruimten .

  3. Op de pagina Netwerken kunt u voor openbare netwerktoegang een van de drie volgende opties instellen. Kies de optie Geselecteerde netwerken om alleen toegang vanaf opgegeven IP-adressen toe te staan.

    • Uitgeschakeld. Met deze optie wordt openbare toegang tot de naamruimte uitgeschakeld. De naamruimte is alleen toegankelijk via privé-eindpunten.

      Screenshot that shows the Networking page of a namespace with public access disabled.

      Kies of u vertrouwde Microsoft-services wilt toestaan om de firewall te omzeilen. Zie de sectie Vertrouwde Microsoft-services voor de lijst met vertrouwde Microsoft-services voor Azure Service Bus.

    • Geselecteerde netwerken. Met deze optie is openbare toegang tot de naamruimte mogelijk met behulp van een toegangssleutel uit geselecteerde netwerken.

      Belangrijk

      Als u Geselecteerde netwerken kiest, voegt u ten minste één IP-firewallregel of een virtueel netwerk toe dat toegang heeft tot de naamruimte. Kies Uitgeschakeld als u alleen al het verkeer naar deze naamruimte wilt beperken via privé-eindpunten .

    • Alle netwerken (standaard). Met deze optie kunt u openbare toegang vanuit alle netwerken met behulp van een toegangssleutel inschakelen. Als u de optie Alle netwerken selecteert, accepteert Service Bus verbindingen vanaf elk IP-adres (met behulp van de toegangssleutel). Deze instelling is gelijk aan een regel die het IP-adresbereik 0.0.0.0/0 accepteert.

  4. Als u de toegang tot specifieke virtuele netwerken wilt beperken, selecteert u de optie Geselecteerde netwerken als deze nog niet is geselecteerd.

  5. Selecteer +Bestaand virtueel netwerk toevoegen in de sectie Virtueel netwerk van de pagina. Selecteer + Nieuw virtueel netwerk maken als u een nieuw VNet wilt maken.

    Image showing the selection of Add existing virtual network button on the toolbar.

    Waarschuwing

    Als u de optie Geselecteerde netwerken selecteert en niet ten minste één IP-firewallregel of een virtueel netwerk op deze pagina toevoegt, kan de naamruimte worden geopend via openbaar internet (met behulp van de toegangssleutel).

  6. Selecteer het virtuele netwerk in de lijst met virtuele netwerken en kies vervolgens het subnet. U moet het service-eindpunt inschakelen voordat u het virtuele netwerk aan de lijst toevoegt. Als het service-eindpunt niet is ingeschakeld, wordt u door de portal gevraagd het in te schakelen.

    Image showing the selection of VNet and subnet.

  7. Het volgende bericht wordt weergegeven nadat het service-eindpunt voor het subnet is ingeschakeld voor Microsoft.ServiceBus. Selecteer Toevoegen onder aan de pagina om het netwerk toe te voegen.

    Image showing the success message of enabling the service endpoint.

    Notitie

    Als u het service-eindpunt niet kunt inschakelen, kunt u het ontbrekende service-eindpunt van het virtuele netwerk negeren met behulp van de Resource Manager-sjabloon. Deze functionaliteit is niet beschikbaar in de portal.

  8. Selecteer Opslaan op de werkbalk om de instellingen op te slaan. Wacht enkele minuten totdat de bevestiging wordt weergegeven in de portalmeldingen. De knop Opslaan moet zijn uitgeschakeld.

    Image showing the network service endpoint saved.

Vertrouwde Microsoft-services

Wanneer u vertrouwde Microsoft-services toestaan om deze firewallinstelling te omzeilen inschakelt, krijgen de volgende services toegang tot uw Service Bus-resources.

Vertrouwde service Ondersteunde gebruiksscenario's
Azure Event Grid Hiermee kan Azure Event Grid gebeurtenissen verzenden naar wachtrijen of onderwerpen in uw Service Bus-naamruimte. U moet ook de volgende stappen uitvoeren:
  • Door het systeem toegewezen identiteit inschakelen voor een onderwerp of een domein
  • De identiteit toevoegen aan de rol Azure Service Bus-gegevenszender in de Service Bus-naamruimte
  • Configureer vervolgens het gebeurtenisabonnement dat gebruikmaakt van een Service Bus-wachtrij of -onderwerp als eindpunt om de door het systeem toegewezen identiteit te gebruiken.

Zie Gebeurtenislevering met een beheerde identiteit voor meer informatie

Azure Stream Analytics Hiermee kan een Azure Stream Analytics-taak gegevens uitvoeren naar Service Bus-wachtrijen naar onderwerpen.

Belangrijk: De Stream Analytics-taak moet worden geconfigureerd om een beheerde identiteit te gebruiken voor toegang tot de Service Bus-naamruimte. Voeg de identiteit toe aan de rol Azure Service Bus-gegevenszender in de Service Bus-naamruimte.

Azure IoT Hub Hiermee kan een IoT-hub berichten verzenden naar wachtrijen of onderwerpen in uw Service Bus-naamruimte. U moet ook de volgende stappen uitvoeren:
Azure API Management

Met de API Management-service kunt u berichten verzenden naar een Service Bus-wachtrij/-onderwerp in uw Service Bus-naamruimte.

  • U kunt aangepaste werkstromen activeren door berichten te verzenden naar uw Service Bus-wachtrij/-onderwerp wanneer een API wordt aangeroepen met behulp van het beleid voor verzenden-aanvragen.
  • U kunt een Service Bus-wachtrij/onderwerp ook behandelen als uw back-end in een API. Zie Verifiëren met behulp van een beheerde identiteit voor toegang tot een Service Bus-wachtrij of -onderwerp voor een voorbeeldbeleid. U moet ook de volgende stappen uitvoeren:
    1. Schakel door het systeem toegewezen identiteit in op het API Management-exemplaar. Zie Beheerde identiteiten gebruiken in Azure API Management voor instructies.
    2. De identiteit toevoegen aan de rol Azure Service Bus-gegevenszender in de Service Bus-naamruimte
Azure IoT Central

Hiermee kan IoT Central gegevens exporteren naar Service Bus-wachtrijen of onderwerpen in uw Service Bus-naamruimte. U moet ook de volgende stappen uitvoeren:

  • Door het systeem toegewezen identiteit inschakelen voor uw IoT Central-toepassing
  • Voeg de identiteit toe aan de rol Azure Service Bus-gegevenszender in de Service Bus-naamruimte.
  • Configureer vervolgens de Service Bus-exportbestemming in uw IoT Central-toepassing om verificatie op basis van identiteit te gebruiken.
Azure Digital Twins Hiermee kan Azure Digital Twins gegevens uitgaan naar Service Bus-onderwerpen in uw Service Bus-naamruimte. U moet ook de volgende stappen uitvoeren:

Azure Monitor (diagnostische Instellingen en actiegroepen) Hiermee kan Azure Monitor diagnostische gegevens en waarschuwingsmeldingen verzenden naar Service Bus in uw Service Bus-naamruimte. Azure Monitor kan gegevens lezen van en schrijven naar de Service Bus-naamruimte.
Azure Synapse Hiermee kan Azure Synapse verbinding maken met de servicebus met behulp van de beheerde identiteit van de Synapse-werkruimte. Voeg de rol Azure Service Bus-gegevenszender, ontvanger of eigenaar toe aan de identiteit in de Service Bus-naamruimte.

De andere vertrouwde services voor Azure Service Bus vindt u hieronder:

  • Azure Data Explorer
  • Azure Health Data Services
  • Azure Arc
  • Azure Kubernetes
  • Azure Machine Learning
  • Microsoft Purview

Resource Manager-sjabloon gebruiken

Met de volgende Resource Manager-voorbeeldsjabloon wordt een regel voor een virtueel netwerk toegevoegd aan een bestaande Service Bus-naamruimte. Voor de netwerkregel wordt de id van een subnet in een virtueel netwerk opgegeven.

De id is een volledig gekwalificeerde Resource Manager-pad voor het subnet van het virtuele netwerk. Bijvoorbeeld /subscriptions/{id}/resourceGroups/{rg}/providers/Microsoft.Network/virtualNetworks/{vnet}/subnets/default voor het standaardsubnet van een virtueel netwerk.

Notitie

De standaardwaarde van de defaultAction is Allow. Wanneer u regels voor virtuele netwerken of firewalls toevoegt, moet u ervoor zorgen dat u het defaultAction instelt op Deny.

Sjabloon:

{
	"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
	"contentVersion": "1.0.0.0",
	"parameters": {
		"servicebusNamespaceName": {
			"type": "string",
			"metadata": {
				"description": "Name of the Service Bus namespace"
			}
		},
		"virtualNetworkName": {
			"type": "string",
			"metadata": {
				"description": "Name of the Virtual Network Rule"
			}
		},
		"subnetName": {
			"type": "string",
			"metadata": {
				"description": "Name of the Virtual Network Sub Net"
			}
		},
		"location": {
			"type": "string",
			"metadata": {
				"description": "Location for Namespace"
			}
		}
	},
	"variables": {
		"namespaceNetworkRuleSetName": "[concat(parameters('servicebusNamespaceName'), concat('/', 'default'))]",
		"subNetId": "[resourceId('Microsoft.Network/virtualNetworks/subnets/', parameters('virtualNetworkName'), parameters('subnetName'))]"
	},
	"resources": [{
			"apiVersion": "2022-10-01-preview",
			"name": "[parameters('servicebusNamespaceName')]",
			"type": "Microsoft.ServiceBus/namespaces",
			"location": "[parameters('location')]",
			"sku": {
				"name": "Premium",
				"tier": "Premium",
				"capacity": 1
			},
			"properties": {
				"premiumMessagingPartitions": 1,
				"minimumTlsVersion": "1.2",
				"publicNetworkAccess": "Enabled",
				"disableLocalAuth": false,
				"zoneRedundant": true
			}
		},
		{
			"apiVersion": "2022-07-01",
			"name": "[parameters('virtualNetworkName')]",
			"location": "[parameters('location')]",
			"type": "Microsoft.Network/virtualNetworks",
			"properties": {
				"addressSpace": {
					"addressPrefixes": [
						"10.0.0.0/23"
					]
				},
				"subnets": [{
					"name": "[parameters('subnetName')]",
					"properties": {
						"addressPrefix": "10.0.0.0/23",
						"serviceEndpoints": [{
							"service": "Microsoft.ServiceBus"
						}]
					}
				}]
			}
		},
		{
			"apiVersion": "2022-10-01-preview",
			"name": "[variables('namespaceNetworkRuleSetName')]",
			"type": "Microsoft.ServiceBus/namespaces/networkruleset",
			"dependsOn": [
				"[concat('Microsoft.ServiceBus/namespaces/', parameters('servicebusNamespaceName'))]"
			],
			"properties": {
				"publicNetworkAccess": "Enabled",
				"defaultAction": "Deny",
				"virtualNetworkRules": [{
					"subnet": {
						"id": "[variables('subNetId')]"
					},
					"ignoreMissingVnetServiceEndpoint": false
				}],
				"ipRules": [],
				"trustedServiceAccessEnabled": false
			}
		}
	],
	"outputs": {}
}

Volg de instructies voor Azure Resource Manager om de sjabloon te implementeren.

Belangrijk

Als er geen IP- en virtuele-netwerkregels zijn, stroomt al het verkeer naar de naamruimte, zelfs als u de defaultAction naamruimte instelt op deny. De naamruimte kan worden geopend via het openbare internet (met behulp van de toegangssleutel). Geef ten minste één IP-regel of regel voor het virtuele netwerk op voor de naamruimte om alleen verkeer van de opgegeven IP-adressen of subnetten van een virtueel netwerk toe te staan.

Azure CLI gebruiken

Gebruik az servicebus namespace network-rule-set opdrachten voor toevoegen, weergeven, bijwerken en verwijderen om regels voor virtuele netwerken voor een Service Bus-naamruimte te beheren.

Azure PowerShell gebruiken

Gebruik de volgende Azure PowerShell-opdrachten om netwerkregels voor een Service Bus-naamruimte toe te voegen, weer te geven, te verwijderen, bij te werken en te verwijderen.

standaardactie en openbare netwerktoegang

REST-API

De standaardwaarde van de defaultAction eigenschap was Deny voor API-versie 2021-01-01-preview en eerder. De regel voor weigeren wordt echter niet afgedwongen, tenzij u IP-filters of VNet-regels (Virtual Network) instelt. Als u geen IP-filters of VNet-regels hebt, wordt dit beschouwd als Allow.

Vanaf API-versie 2021-06-01-preview is Allowde standaardwaarde van de defaultAction eigenschap , om de afdwinging aan de servicezijde nauwkeurig weer te geven. Als de standaardactie is ingesteld op Deny, worden IP-filters en VNet-regels afgedwongen. Als de standaardactie is ingesteld op Allow, worden IP-filters en VNet-regels niet afgedwongen. De service onthoudt de regels wanneer u ze uitschakelt en weer inschakelt.

De API-versie 2021-06-01-preview introduceert ook een nieuwe eigenschap met de naam publicNetworkAccess. Als deze optie is ingesteld Disabled, worden bewerkingen alleen beperkt tot privékoppelingen. Als deze optie is ingesteld Enabled, zijn bewerkingen toegestaan via het openbare internet.

Zie Netwerkregelset maken of bijwerken en privé-eindpunten maken of bijwerken Verbinding maken ions voor meer informatie over deze eigenschappen.

Notitie

Geen van de bovenstaande instellingen omzeilt de validatie van claims via SAS- of Microsoft Entra-verificatie. De verificatiecontrole wordt altijd uitgevoerd nadat de service de netwerkcontroles valideert die zijn geconfigureerd door defaultAction, publicNetworkAccessinstellingen privateEndpointConnections .

Azure Portal

Azure Portal gebruikt altijd de nieuwste API-versie om eigenschappen op te halen en in te stellen. Als u uw naamruimte eerder had geconfigureerd met 2021-01-01-preview en eerder ingesteld op DenydefaultAction en nul IP-filters en VNet-regels hebt opgegeven, zou de portal eerder geselecteerde netwerken hebben gecontroleerd op de netwerkpagina van uw naamruimte. Nu wordt de optie Alle netwerken gecontroleerd.

Screenshot of the Azure portal Networking page. The option to allow access from All networks is selected on the Firewalls and virtual networks tab.

Volgende stappen

Zie de volgende koppelingen voor meer informatie over virtuele netwerken: