Tillåt åtkomst till Azure Service Bus-namnområdet från specifika virtuella nätverk

Integreringen av Service Bus med tjänstslutpunkter för virtuellt nätverk (VNet) ger säker åtkomst till meddelandefunktioner från arbetsbelastningar som virtuella datorer som är bundna till virtuella nätverk, där nätverkstrafiksökvägen skyddas i båda ändar.

När det har konfigurerats för att vara bundet till minst en tjänstslutpunkt för virtuellt nätverk accepterar respektive Service Bus-namnområde inte längre trafik från någonstans men auktoriserade virtuella nätverk och, om du vill, specifika IP-adresser på Internet. Från det virtuella nätverkets perspektiv konfigurerar bindning av ett Service Bus-namnområde till en tjänstslutpunkt en isolerad nätverkstunnel från det virtuella nätverksundernätet till meddelandetjänsten.

Resultatet är en privat och isolerad relation mellan de arbetsbelastningar som är bundna till undernätet och respektive Service Bus-namnområde, trots att den observerbara nätverksadressen för meddelandetjänstens slutpunkt finns i ett offentligt IP-intervall.

Viktiga punkter

  • Virtuella nätverk stöds endast i Service Bus-namnområden på Premium-nivå . När du använder VNet-tjänstslutpunkter med Service Bus bör du inte aktivera dessa slutpunkter i program som blandar Service Bus-namnområden på standard- och premiumnivå. Eftersom standardnivån inte stöder virtuella nätverk. Slutpunkten är endast begränsad till Premium-nivånamnområden.

  • Genom att implementera integrering av virtuella nätverk kan du förhindra andra Azure-tjänster från att interagera med Service Bus. Som ett undantag kan du tillåta åtkomst till Service Bus-resurser från vissa betrodda tjänster även när nätverkstjänstslutpunkter är aktiverade. En lista över betrodda tjänster finns i Betrodda tjänster.

    Följande Microsoft-tjänster måste finnas i ett virtuellt nätverk

    • Azure App Service
    • Azure Functions
  • Ange minst en IP-regel eller en regel för virtuellt nätverk för namnområdet så att endast trafik tillåts från de angivna IP-adresserna eller undernätet för ett virtuellt nätverk. Om det inte finns några IP- och virtuella nätverksregler kan namnområdet nås via det offentliga Internet (med hjälp av åtkomstnyckeln).

Avancerade säkerhetsscenarier som aktiveras av VNet-integrering

Lösningar som kräver strikt och uppdelad säkerhet, och där virtuella nätverksundernät tillhandahåller segmenteringen mellan de uppdelade tjänsterna, behöver vanligtvis fortfarande kommunikationsvägar mellan tjänster som finns i dessa fack.

Varje omedelbar IP-väg mellan facken, inklusive de som transporterar HTTPS via TCP/IP, medför risk för utnyttjande av sårbarheter från nätverksskiktet uppåt. Meddelandetjänster tillhandahåller isolerade kommunikationsvägar, där meddelanden till och med skrivs till disk när de övergår mellan parter. Arbetsbelastningar i två distinkta virtuella nätverk som båda är bundna till samma Service Bus-instans kan kommunicera effektivt och tillförlitligt via meddelanden, medan respektive nätverksisoleringsgränsintegritet bevaras.

Det innebär att dina säkerhetskänsliga molnlösningar inte bara får åtkomst till azures branschledande tillförlitliga och skalbara asynkrona meddelandefunktioner, utan de kan nu använda meddelanden för att skapa kommunikationsvägar mellan säkra lösningsfack som är säkrare än vad som kan uppnås med alla peer-to-peer-kommunikationslägen, inklusive HTTPS och andra TLS-skyddade socketprotokoll.

Binda Service Bus till virtuella nätverk

Regler för virtuellt nätverk är brandväggssäkerhetsfunktionen som styr om Azure Service Bus-servern accepterar anslutningar från ett visst virtuellt nätverksundernät.

Att binda ett Service Bus-namnområde till ett virtuellt nätverk är en tvåstegsprocess. Du måste först skapa en tjänstslutpunkt för virtuellt nätverk i ett undernät för virtuellt nätverk och aktivera den för Microsoft.ServiceBus enligt beskrivningen i översikten över tjänstslutpunkten. När du har lagt till tjänstslutpunkten binder du Service Bus-namnområdet till det med en regel för virtuellt nätverk.

Regeln för virtuellt nätverk är en association av Service Bus-namnområdet med ett virtuellt nätverksundernät. Regeln finns, men alla arbetsbelastningar som är bundna till undernätet beviljas åtkomst till Service Bus-namnområdet. Själva Service Bus upprättar aldrig utgående anslutningar, behöver inte få åtkomst och beviljas därför aldrig åtkomst till undernätet genom att aktivera den här regeln.

Kommentar

Kom ihåg att en nätverkstjänstslutpunkt ger program som körs i det virtuella nätverket åtkomsten till Service Bus-namnområdet. Det virtuella nätverket styr slutpunktens nåbarhet, men inte vilka åtgärder som kan utföras på Service Bus-entiteter (köer, ämnen eller prenumerationer). Använd Microsoft Entra-ID för att auktorisera åtgärder som programmen kan utföra på namnområdet och dess entiteter. Mer information finns i Autentisera och auktorisera ett program med Microsoft Entra-ID för åtkomst till Service Bus-entiteter.

Använda Azure-portalen

När du skapar ett namnområde kan du antingen endast tillåta offentlig (från alla nätverk) eller endast privat (endast via privata slutpunkter) åtkomst till namnområdet. När namnområdet har skapats kan du tillåta åtkomst från specifika IP-adresser eller från specifika virtuella nätverk (med hjälp av nätverkstjänstslutpunkter).

Konfigurera offentlig åtkomst när du skapar ett namnområde

Om du vill aktivera offentlig åtkomst väljer du Offentlig åtkomstsidan Nätverk i guiden skapa namnrymd.

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

När du har skapat namnområdet väljer du Nätverk på den vänstra menyn på sidan Service Bus-namnområde . Du ser att alternativet Alla nätverk är markerat. Du kan välja alternativet Valda nätverk och tillåta åtkomst från specifika IP-adresser eller specifika virtuella nätverk. I nästa avsnitt finns information om hur du anger vilka nätverk som åtkomsten ska tillåtas från.

Konfigurera valda nätverk för ett befintligt namnområde

Det här avsnittet visar hur du använder Azure-portalen för att lägga till en tjänstslutpunkt för virtuellt nätverk. För att begränsa åtkomsten måste du integrera tjänstslutpunkten för det virtuella nätverket för det här Event Hubs-namnområdet.

  1. Gå till Service Bus-namnområdet i Azure-portalen.

  2. På den vänstra menyn väljer du Alternativet Nätverk under Inställningar.

    Kommentar

    Du ser endast fliken Nätverk för premiumnamnområden .

  3. På sidan Nätverk kan du ange något av följande tre alternativ för åtkomst till offentligt nätverk. Välj alternativet Valda nätverk för att tillåta åtkomst från endast angivna IP-adresser.

    • Inaktiverad. Det här alternativet inaktiverar all offentlig åtkomst till namnområdet. Namnområdet är endast tillgängligt via privata slutpunkter.

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

      Välj om du vill tillåta att betrodda Microsoft-tjänster kringgår brandväggen. Listan över betrodda Microsoft-tjänster för Azure Service Bus finns i avsnittet Betrodd Microsoft-tjänster.

    • Valda nätverk. Det här alternativet ger offentlig åtkomst till namnområdet med hjälp av en åtkomstnyckel från valda nätverk.

      Viktigt!

      Om du väljer Valda nätverk lägger du till minst en IP-brandväggsregel eller ett virtuellt nätverk som har åtkomst till namnområdet. Välj Inaktiverad om du bara vill begränsa all trafik till det här namnområdet över privata slutpunkter .

    • Alla nätverk (standard). Det här alternativet ger offentlig åtkomst från alla nätverk med hjälp av en åtkomstnyckel. Om du väljer alternativet Alla nätverk accepterar Service Bus anslutningar från alla IP-adresser (med hjälp av åtkomstnyckeln). Den här inställningen motsvarar en regel som accepterar IP-adressintervallet 0.0.0.0/0.

  4. Om du vill begränsa åtkomsten till specifika virtuella nätverk väljer du alternativet Valda nätverk om det inte redan har valts.

  5. I avsnittet Virtuellt nätverk på sidan väljer du +Lägg till befintligt virtuellt nätverk. Välj + Skapa nytt virtuellt nätverk om du vill skapa ett nytt virtuellt nätverk.

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

    Varning

    Om du väljer alternativet Valda nätverk och inte lägger till minst en IP-brandväggsregel eller ett virtuellt nätverk på den här sidan kan namnområdet nås via offentligt Internet (med hjälp av åtkomstnyckeln).

  6. Välj det virtuella nätverket i listan över virtuella nätverk och välj sedan undernätet. Du måste aktivera tjänstslutpunkten innan du lägger till det virtuella nätverket i listan. Om tjänstslutpunkten inte är aktiverad uppmanar portalen dig att aktivera den.

    Image showing the selection of VNet and subnet.

  7. Du bör se följande meddelande när tjänstslutpunkten för undernätet har aktiverats för Microsoft.ServiceBus. Välj Lägg till längst ned på sidan för att lägga till nätverket.

    Image showing the success message of enabling the service endpoint.

    Kommentar

    Om du inte kan aktivera tjänstslutpunkten kan du ignorera den saknade tjänstslutpunkten för virtuella nätverk med hjälp av Resource Manager-mallen. Den här funktionen är inte tillgänglig i portalen.

  8. Spara inställningarna genom att välja Spara i verktygsfältet. Vänta några minuter tills bekräftelsen visas i portalmeddelandena. Knappen Spara bör inaktiveras.

    Image showing the network service endpoint saved.

    Kommentar

    Anvisningar om hur du tillåter åtkomst från specifika IP-adresser eller intervall finns i Tillåt åtkomst från specifika IP-adresser eller intervall.

Betrodda Microsoft-tjänster

När du aktiverar inställningen Tillåt betrodda Microsoft-tjänster att kringgå den här brandväggen beviljas följande tjänster åtkomst till dina Service Bus-resurser.

Betrodd tjänst Användningsscenarier som stöds
Azure Event Grid Gör att Azure Event Grid kan skicka händelser till köer eller ämnen i Service Bus-namnområdet. Du måste också utföra följande steg:
  • Aktivera systemtilldelad identitet för ett ämne eller en domän
  • Lägg till identiteten i Azure Service Bus Data Sender-rollen i Service Bus-namnområdet
  • Konfigurera sedan den händelseprenumeration som använder en Service Bus-kö eller ett ämne som slutpunkt för att använda den systemtilldelade identiteten.

Mer information finns i Händelseleverans med en hanterad identitet

Azure Stream Analytics Tillåter att ett Azure Stream Analytics-jobb matar ut data till Service Bus-köer till ämnen.

Viktigt: Stream Analytics-jobbet bör konfigureras för att använda en hanterad identitet för att få åtkomst till Service Bus-namnområdet. Lägg till identiteten i Azure Service Bus Data Sender-rollen i Service Bus-namnområdet.

Azure IoT Hub Tillåter att en IoT-hubb skickar meddelanden till köer eller ämnen i Service Bus-namnområdet. Du måste också utföra följande steg:
Azure API Management

Med API Management-tjänsten kan du skicka meddelanden till en Service Bus-kö/ett ämne i Service Bus-namnområdet.

Azure IoT Central

Tillåter att IoT Central exporterar data till Service Bus-köer eller ämnen i Service Bus-namnområdet. Du måste också utföra följande steg:

  • Aktivera systemtilldelad identitet för ditt IoT Central-program
  • Lägg till identiteten i Azure Service Bus Data Sender-rollen i Service Bus-namnområdet.
  • Konfigurera sedan Service Bus-exportmålet för ditt IoT Central-program så att det använder identitetsbaserad autentisering.
Azure Digital Twins Gör att Azure Digital Twins kan mata ut data till Service Bus-ämnen i ditt Service Bus-namnområde. Du måste också utföra följande steg:

  • Aktivera systemtilldelad identitet för din Azure Digital Twins-instans.
  • Lägg till identiteten i Azure Service Bus Data Sender-rollen i Service Bus-namnområdet.
  • Konfigurera sedan en Azure Digital Twins-slutpunkt eller Azure Digital Twins-datahistorikanslutning som använder den systemtilldelade identiteten för att autentisera. Mer information om hur du konfigurerar slutpunkter och händelsevägar till Service Bus-resurser från Azure Digital Twins finns i Dirigera Azure Digital Twins-händelser och Skapa slutpunkter i Azure Digital Twins.
Azure Monitor (diagnostikgrupper Inställningar och åtgärdsgrupper) Gör att Azure Monitor kan skicka diagnostikinformation och aviseringsaviseringar till Service Bus i Service Bus-namnområdet. Azure Monitor kan läsa från och skriva data till Service Bus-namnområdet.
Azure Synapse Gör att Azure Synapse kan ansluta till servicebussen med hjälp av synapse-arbetsytans hanterade identitet. Lägg till azure Service Bus-datasändar-, mottagar- eller ägarrollen i identiteten i Service Bus-namnområdet.

De andra betrodda tjänsterna för Azure Service Bus finns nedan:

  • Öppna Azure-datautforskaren
  • Azures tjänster för hälsodata
  • Azure Arc
  • Azure Kubernetes
  • Azure Machine Learning
  • Microsoft Purview

Använda Resource Manager-mallar

Följande Resource Manager-exempelmall lägger till en regel för virtuellt nätverk i ett befintligt Service Bus-namnområde. För nätverksregeln anger den ID för ett undernät i ett virtuellt nätverk.

ID:t är en fullständigt kvalificerad Resource Manager-sökväg för det virtuella nätverkets undernät. Till exempel /subscriptions/{id}/resourceGroups/{rg}/providers/Microsoft.Network/virtualNetworks/{vnet}/subnets/default för standardundernätet för ett virtuellt nätverk.

Kommentar

Standardvärdet för defaultAction är Allow. När du lägger till regler för virtuella nätverk eller brandväggar måste du ange defaultAction till Deny.

Mall:

{
	"$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": {}
}

Om du vill distribuera mallen följer du anvisningarna för Azure Resource Manager.

Viktigt!

Om det inte finns några IP- och virtuella nätverksregler flödar all trafik till namnområdet även om du anger defaultAction till deny. Namnområdet kan nås via det offentliga Internet (med hjälp av åtkomstnyckeln). Ange minst en IP-regel eller en regel för virtuellt nätverk för namnområdet så att endast trafik tillåts från de angivna IP-adresserna eller undernätet för ett virtuellt nätverk.

Använda Azure CLI

Använd az servicebus namespace network-rule-set kommandona lägg till, lista, uppdatera och ta bort för att hantera regler för virtuella nätverk för ett Service Bus-namnområde.

Använda Azure PowerShell

Använd följande Azure PowerShell-kommandon för att lägga till, lista, ta bort, uppdatera och ta bort nätverksregler för ett Service Bus-namnområde.

standardåtgärd och åtkomst till offentligt nätverk

REST-API

Standardvärdet för defaultAction egenskapen var Deny för API-version 2021-01-01-preview och tidigare. Neka-regeln tillämpas dock inte om du inte anger IP-filter eller regler för virtuella nätverk (VNet). Om du inte har några IP-filter eller VNet-regler behandlas det alltså som Allow.

Från API version 2021-06-01-preview och senare är Allowstandardvärdet defaultAction för egenskapen , för att korrekt återspegla tillämpningen på tjänstsidan. Om standardåtgärden är inställd på Denytillämpas IP-filter och VNet-regler. Om standardåtgärden är inställd på Allowtillämpas inte IP-filter och VNet-regler. Tjänsten kommer ihåg reglerna när du inaktiverar dem och sedan startar igen.

API-versionen 2021-06-01-preview och framåt introducerar också en ny egenskap med namnet publicNetworkAccess. Om den är inställd på Disabledbegränsas åtgärderna endast till privata länkar. Om den är inställd på Enabledtillåts åtgärder via det offentliga Internet.

Mer information om dessa egenskaper finns i Skapa eller uppdatera nätverksregeluppsättning och Skapa eller uppdatera privata slutpunkter Anslut ions.

Kommentar

Ingen av ovanstående inställningar kringgår valideringen av anspråk via SAS- eller Microsoft Entra-autentisering. Autentiseringskontrollen körs alltid när tjänsten har verifierat nätverkskontrollerna som konfigurerats av defaultAction, publicNetworkAccess, privateEndpointConnections inställningar.

Azure Portal

Azure-portalen använder alltid den senaste API-versionen för att hämta och ange egenskaper. Om du tidigare hade konfigurerat ditt namnområde med 2021-01-01-preview och tidigare med defaultAction inställt på Deny, och angett noll IP-filter och VNet-regler, skulle portalen tidigare ha markerat Valda nätverksidan Nätverk i namnområdet. Nu kontrollerar den alternativet Alla nätverk .

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

Nästa steg

Mer information om virtuella nätverk finns i följande länkar: