Zezwalaj na dostęp do przestrzeni nazw usługi Azure Service Bus z określonych sieci wirtualnych

Integracja usługi Service Bus z punktami końcowymi usługi Virtual Network (VNet) umożliwia bezpieczny dostęp do funkcji obsługi komunikatów z obciążeń, takich jak maszyny wirtualne powiązane z sieciami wirtualnymi, przy czym ścieżka ruchu sieciowego jest zabezpieczona na obu końcach.

Po skonfigurowaniu powiązania z co najmniej jednym punktem końcowym usługi podsieci sieci wirtualnej odpowiednia przestrzeń nazw usługi Service Bus nie będzie już akceptować ruchu z dowolnego miejsca, ale autoryzowanych sieci wirtualnych i opcjonalnie określonych internetowych adresów IP. Z perspektywy sieci wirtualnej powiązanie przestrzeni nazw usługi Service Bus z punktem końcowym usługi konfiguruje izolowany tunel sieciowy z podsieci sieci wirtualnej do usługi obsługi komunikatów.

Wynikiem jest prywatna i izolowana relacja między obciążeniami powiązanymi z podsiecią a odpowiednią przestrzenią nazw usługi Service Bus, pomimo zauważalnego adresu sieciowego punktu końcowego usługi obsługi komunikatów w publicznym zakresie adresów IP.

Ważne punkty

  • Sieci wirtualne są obsługiwane tylko w przestrzeniach nazw usługi Service Bus w warstwie Premium. W przypadku korzystania z punktów końcowych usługi sieci wirtualnej z usługą Service Bus nie należy włączać tych punktów końcowych w aplikacjach, które mieszają przestrzenie nazw usługi Service Bus w warstwie Standardowa i Premium. Ponieważ warstwa Standardowa nie obsługuje sieci wirtualnych. Punkt końcowy jest ograniczony tylko do przestrzeni nazw warstwy Premium.

  • Implementowanie integracji sieci wirtualnych może uniemożliwić innym usługom platformy Azure interakcję z usługą Service Bus. Wyjątkiem jest zezwolenie na dostęp do zasobów usługi Service Bus z określonych zaufanych usług nawet wtedy, gdy są włączone punkty końcowe usługi sieciowej. Aby uzyskać listę zaufanych usług, zobacz Zaufane usługi.

    Następujące usługi firmy Microsoft muszą znajdować się w sieci wirtualnej

    • Azure App Service
    • Azure Functions
  • Określ co najmniej jedną regułę adresu IP lub regułę sieci wirtualnej dla przestrzeni nazw, aby zezwolić na ruch tylko z określonych adresów IP lub podsieci sieci wirtualnej. Jeśli nie ma reguł adresów IP i sieci wirtualnej, przestrzeń nazw może być dostępna za pośrednictwem publicznego Internetu (przy użyciu klucza dostępu).

Zaawansowane scenariusze zabezpieczeń włączone przez integrację z siecią wirtualną

Rozwiązania, które wymagają ścisłego i podzielonego zabezpieczeń, a podsieci sieci wirtualnej zapewniają segmentację między usługami z podziałem na przedziały, zwykle wymagają ścieżek komunikacyjnych między usługami znajdującymi się w tych przedziałach.

Każda natychmiastowa trasa IP między przedziałami, w tym przewożące protokół HTTPS za pośrednictwem protokołu TCP/IP, niesie ze sobą ryzyko wykorzystania luk w zabezpieczeniach z warstwy sieciowej. Usługi obsługi komunikatów zapewniają izolowane ścieżki komunikacyjne, w których komunikaty są nawet zapisywane na dysku podczas przechodzenia między stronami. Obciążenia w dwóch odrębnych sieciach wirtualnych, które są powiązane z tym samym wystąpieniem usługi Service Bus, mogą wydajnie i niezawodnie komunikować się za pośrednictwem komunikatów, podczas gdy odpowiednia integralność granicy izolacji sieci jest zachowywana.

Oznacza to, że poufne rozwiązania w chmurze zabezpieczeń nie tylko uzyskują dostęp do wiodących w branży niezawodnych i skalowalnych możliwości obsługi komunikatów asynchronicznych, ale mogą teraz używać komunikatów do tworzenia ścieżek komunikacyjnych między bezpiecznymi przedziałami rozwiązań, które są z natury bezpieczniejsze niż to, co jest osiągalne w przypadku dowolnego trybu komunikacji równorzędnej, w tym protokołów HTTPS i innych protokołów gniazd zabezpieczonych za pomocą protokołu TLS.

Wiązanie usługi Service Bus z sieciami wirtualnymi

Reguły sieci wirtualnej to funkcja zabezpieczeń zapory, która kontroluje, czy serwer usługi Azure Service Bus akceptuje połączenia z określonej podsieci sieci wirtualnej.

Powiązanie przestrzeni nazw usługi Service Bus z siecią wirtualną jest procesem dwuetapowym. Najpierw należy utworzyć punkt końcowy usługi sieci wirtualnej w podsieci sieci wirtualnej i włączyć go dla usługi Microsoft.ServiceBus zgodnie z opisem w omówieniu punktu końcowego usługi. Po dodaniu punktu końcowego usługi należy powiązać z nią przestrzeń nazw usługi Service Bus za pomocą reguły sieci wirtualnej.

Reguła sieci wirtualnej jest skojarzeniem przestrzeni nazw usługi Service Bus z podsiecią sieci wirtualnej. Chociaż reguła istnieje, wszystkie obciążenia powiązane z podsiecią mają dostęp do przestrzeni nazw usługi Service Bus. Sama usługa Service Bus nigdy nie ustanawia połączeń wychodzących, nie musi uzyskiwać dostępu i dlatego nigdy nie udziela dostępu do podsieci przez włączenie tej reguły.

Uwaga

Pamiętaj, że punkt końcowy usługi sieciowej udostępnia aplikacje uruchomione w sieci wirtualnej dostęp do przestrzeni nazw usługi Service Bus. Sieć wirtualna kontroluje osiągalność punktu końcowego, ale nie to, jakie operacje można wykonać w jednostkach usługi Service Bus (kolejkach, tematach lub subskrypcjach). Użyj identyfikatora Entra firmy Microsoft, aby autoryzować operacje, które aplikacje mogą wykonywać w przestrzeni nazw i jej jednostkach. Aby uzyskać więcej informacji, zobacz Uwierzytelnianie i autoryzacja aplikacji przy użyciu identyfikatora Entra firmy Microsoft w celu uzyskania dostępu do jednostek usługi Service Bus.

Korzystanie z witryny Azure Portal

Podczas tworzenia przestrzeni nazw można zezwolić tylko na dostęp publiczny (ze wszystkich sieci) lub tylko prywatny (tylko za pośrednictwem prywatnych punktów końcowych) do przestrzeni nazw. Po utworzeniu przestrzeni nazw możesz zezwolić na dostęp z określonych adresów IP lub z określonych sieci wirtualnych (przy użyciu punktów końcowych usługi sieciowej).

Konfigurowanie dostępu publicznego podczas tworzenia przestrzeni nazw

Aby włączyć dostęp publiczny, wybierz pozycję Dostęp publiczny na stronie Sieć kreatora tworzenia przestrzeni nazw.

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

Po utworzeniu przestrzeni nazw wybierz pozycję Sieć w menu po lewej stronie przestrzeni nazw usługi Service Bus. Zostanie wyświetlona opcja Wszystkie sieci . Możesz wybrać opcję Wybrane sieci i zezwolić na dostęp z określonych adresów IP lub określonych sieci wirtualnych. W następnej sekcji przedstawiono szczegółowe informacje na temat określania sieci, z których jest dozwolony dostęp.

Konfigurowanie wybranych sieci dla istniejącej przestrzeni nazw

W tej sekcji pokazano, jak za pomocą witryny Azure Portal dodać punkt końcowy usługi dla sieci wirtualnej. Aby ograniczyć dostęp, należy zintegrować punkt końcowy usługi sieci wirtualnej dla tej przestrzeni nazw usługi Event Hubs.

  1. Przejdź do przestrzeni nazw usługi Service Bus w witrynie Azure Portal.

  2. W menu po lewej stronie wybierz opcję Sieć w obszarze Ustawienia.

    Uwaga

    Zostanie wyświetlona karta Sieć tylko dla przestrzeni nazw w warstwie Premium .

  3. Na stronie Sieć w obszarze Dostęp do sieci publicznej można ustawić jedną z trzech następujących opcji. Wybierz opcję Wybrane sieci , aby zezwolić na dostęp tylko z określonych adresów IP.

    • Wyłączone. Ta opcja powoduje wyłączenie dowolnego publicznego dostępu do przestrzeni nazw. Przestrzeń nazw jest dostępna tylko za pośrednictwem prywatnych punktów końcowych.

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

      Wybierz, czy chcesz zezwolić zaufanym usługi firmy Microsoft na obejście zapory. Aby uzyskać listę zaufanych usługi firmy Microsoft dla usługi Azure Service Bus, zobacz sekcję Trusted usługi firmy Microsoft (Zaufane usługi firmy Microsoft).

    • Wybrane sieci. Ta opcja umożliwia publiczny dostęp do przestrzeni nazw przy użyciu klucza dostępu z wybranych sieci.

      Ważne

      W przypadku wybrania pozycji Wybrane sieci dodaj co najmniej jedną regułę zapory ip lub sieć wirtualną, która będzie miała dostęp do przestrzeni nazw. Wybierz pozycję Wyłączone , jeśli chcesz ograniczyć cały ruch do tej przestrzeni nazw tylko za pośrednictwem prywatnych punktów końcowych .

    • Wszystkie sieci (wartość domyślna). Ta opcja umożliwia dostęp publiczny ze wszystkich sieci przy użyciu klucza dostępu. W przypadku wybrania opcji Wszystkie sieci usługa Service Bus akceptuje połączenia z dowolnego adresu IP (przy użyciu klucza dostępu). To ustawienie jest równoważne regule, która akceptuje zakres adresów IP 0.0.0.0/0.

  4. Aby ograniczyć dostęp do określonych sieci wirtualnych, wybierz opcję Wybrane sieci , jeśli nie została jeszcze wybrana.

  5. W sekcji Sieć wirtualna strony wybierz pozycję +Dodaj istniejącą sieć wirtualną. Wybierz pozycję + Utwórz nową sieć wirtualną, jeśli chcesz utworzyć nową sieć wirtualną.

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

    Ostrzeżenie

    Jeśli wybierzesz opcję Wybrane sieci i nie dodasz co najmniej jednej reguły zapory IP ani sieci wirtualnej na tej stronie, dostęp do przestrzeni nazw będzie można uzyskać za pośrednictwem publicznego Internetu (przy użyciu klucza dostępu).

  6. Wybierz sieć wirtualną z listy sieci wirtualnych, a następnie wybierz podsieć. Przed dodaniem sieci wirtualnej do listy należy włączyć punkt końcowy usługi. Jeśli punkt końcowy usługi nie jest włączony, w portalu zostanie wyświetlony monit o jego włączenie.

    Image showing the selection of VNet and subnet.

  7. Po włączeniu punktu końcowego usługi dla podsieci dla podsieci Microsoft.ServiceBus powinien zostać wyświetlony następujący komunikat. Wybierz pozycję Dodaj w dolnej części strony, aby dodać sieć.

    Image showing the success message of enabling the service endpoint.

    Uwaga

    Jeśli nie możesz włączyć punktu końcowego usługi, możesz zignorować brakujący punkt końcowy usługi sieci wirtualnej przy użyciu szablonu usługi Resource Manager. Ta funkcja nie jest dostępna w portalu.

  8. Wybierz pozycję Zapisz na pasku narzędzi, aby zapisać ustawienia. Poczekaj kilka minut na wyświetlenie potwierdzenia w powiadomieniach portalu. Przycisk Zapisz powinien być wyłączony.

    Image showing the network service endpoint saved.

    Uwaga

    Aby uzyskać instrukcje dotyczące zezwalania na dostęp z określonych adresów IP lub zakresów, zobacz Zezwalanie na dostęp z określonych adresów IP lub zakresów.

Zaufane usługi firmy Microsoft

Po włączeniu ustawienia Zezwalaj na zaufane usługi firmy Microsoft obejście tego ustawienia zapory następujące usługi otrzymują dostęp do zasobów usługi Service Bus.

Zaufana usługa Obsługiwane scenariusze użycia
Azure Event Grid Umożliwia usłudze Azure Event Grid wysyłanie zdarzeń do kolejek lub tematów w przestrzeni nazw usługi Service Bus. Należy również wykonać następujące czynności:
  • Włączanie tożsamości przypisanej przez system dla tematu lub domeny
  • Dodawanie tożsamości do roli nadawcy danych usługi Azure Service Bus w przestrzeni nazw usługi Service Bus
  • Następnie skonfiguruj subskrypcję zdarzeń, która używa kolejki lub tematu usługi Service Bus jako punktu końcowego do korzystania z tożsamości przypisanej przez system.

Aby uzyskać więcej informacji, zobacz Dostarczanie zdarzeń przy użyciu tożsamości zarządzanej

Azure Stream Analytics Umożliwia zadanie usługi Azure Stream Analytics wyprowadzanie danych do kolejek usługi Service Bus do tematów.

Ważne: Zadanie usługi Stream Analytics należy skonfigurować tak, aby używało tożsamości zarządzanej do uzyskiwania dostępu do przestrzeni nazw usługi Service Bus. Dodaj tożsamość do roli Nadawca danych usługi Azure Service Bus w przestrzeni nazw usługi Service Bus.

Azure IoT Hub Umożliwia usłudze IoT Hub wysyłanie komunikatów do kolejek lub tematów w przestrzeni nazw usługi Service Bus. Należy również wykonać następujące czynności:
Usługa Azure API Management

Usługa API Management umożliwia wysyłanie komunikatów do kolejki/tematu usługi Service Bus w przestrzeni nazw usługi Service Bus.

Azure IoT Central

Umożliwia usłudze IoT Central eksportowanie danych do kolejek lub tematów usługi Service Bus w przestrzeni nazw usługi Service Bus. Należy również wykonać następujące czynności:

  • Włączanie tożsamości przypisanej przez system dla aplikacji usługi IoT Central
  • Dodaj tożsamość do roli Nadawca danych usługi Azure Service Bus w przestrzeni nazw usługi Service Bus.
  • Następnie skonfiguruj lokalizację docelową eksportu usługi Service Bus w aplikacji usługi IoT Central, aby używać uwierzytelniania opartego na tożsamościach.
Azure Digital Twins Umożliwia usłudze Azure Digital Twins wyjście danych do tematów usługi Service Bus w przestrzeni nazw usługi Service Bus. Należy również wykonać następujące czynności:

Azure Monitor (Ustawienia diagnostyczne i grupy akcji) Umożliwia usłudze Azure Monitor wysyłanie informacji diagnostycznych i powiadomień o alertach do usługi Service Bus w przestrzeni nazw usługi Service Bus. Usługa Azure Monitor może odczytywać i zapisywać dane w przestrzeni nazw usługi Service Bus.
Azure Synapse Umożliwia usłudze Azure Synapse nawiązywanie połączenia z usługą Service Bus przy użyciu tożsamości zarządzanej obszaru roboczego usługi Synapse. Dodaj rolę Nadawca danych, Odbiorca lub Właściciel usługi Azure Service Bus do tożsamości w przestrzeni nazw usługi Service Bus.

Inne zaufane usługi dla usługi Azure Service Bus można znaleźć poniżej:

  • Azure Data Explorer
  • Azure Health Data Services
  • Azure Arc
  • Azure Kubernetes
  • Uczenie maszynowe Azure
  • Microsoft Purview

Używanie szablonu usługi Resource Manager

Poniższy przykładowy szablon usługi Resource Manager dodaje regułę sieci wirtualnej do istniejącej przestrzeni nazw usługi Service Bus. Dla reguły sieci określa identyfikator podsieci w sieci wirtualnej.

Identyfikator jest w pełni kwalifikowaną ścieżką usługi Resource Manager dla podsieci sieci wirtualnej. Na przykład /subscriptions/{id}/resourceGroups/{rg}/providers/Microsoft.Network/virtualNetworks/{vnet}/subnets/default dla domyślnej podsieci sieci wirtualnej.

Uwaga

Wartość domyślna elementu defaultAction to Allow. Podczas dodawania reguł sieci wirtualnej lub zapór upewnij się, że ustawiono defaultAction wartość Deny.

Template:

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

Aby wdrożyć szablon, postępuj zgodnie z instrukcjami dotyczącymi usługi Azure Resource Manager.

Ważne

Jeśli nie ma reguł adresów IP i sieci wirtualnej, cały ruch przepływa do przestrzeni nazw, nawet jeśli ustawiono defaultAction wartość deny. Dostęp do przestrzeni nazw można uzyskać za pośrednictwem publicznego Internetu (przy użyciu klucza dostępu). Określ co najmniej jedną regułę adresu IP lub regułę sieci wirtualnej dla przestrzeni nazw, aby zezwolić na ruch tylko z określonych adresów IP lub podsieci sieci wirtualnej.

Interfejs wiersza polecenia platformy Azure

Użyj az servicebus namespace network-rule-set poleceń dodawania, wyświetlania listy, aktualizowania i usuwania, aby zarządzać regułami sieci wirtualnej dla przestrzeni nazw usługi Service Bus.

Korzystanie z programu Azure PowerShell

Użyj następujących poleceń programu Azure PowerShell, aby dodać, wyświetlić listę, usunąć, zaktualizować i usunąć reguły sieciowe dla przestrzeni nazw usługi Service Bus.

domyślna akcja i dostęp do sieci publicznej

Interfejs API REST

Wartość domyślna właściwości była dla interfejsu defaultAction API w wersji 2021-01-01-preview i starszych.Deny Reguła odmowy nie jest jednak wymuszana, chyba że ustawiono filtry adresów IP lub reguły sieci wirtualnej. Oznacza to, że jeśli nie masz żadnych filtrów adresów IP ani reguł sieci wirtualnej, jest ona traktowana jako Allow.

Od wersji interfejsu API 2021-06-01-preview wartość domyślna defaultAction właściwości to Allow, aby dokładnie odzwierciedlić wymuszanie po stronie usługi. Jeśli domyślna akcja jest ustawiona na Deny, filtry adresów IP i reguły sieci wirtualnej są wymuszane. Jeśli domyślna akcja jest ustawiona na Allow, filtry adresów IP i reguły sieci wirtualnej nie są wymuszane. Usługa zapamiętuje reguły, gdy je wyłączysz, a następnie ponownie włączysz.

Interfejs API w wersji 2021-06-01-preview wprowadza również nową właściwość o nazwie publicNetworkAccess. Jeśli jest ustawiona na Disabledwartość , operacje są ograniczone tylko do linków prywatnych. Jeśli jest ustawiona na Enabledwartość , operacje są dozwolone za pośrednictwem publicznego Internetu.

Aby uzyskać więcej informacji na temat tych właściwości, zobacz Tworzenie lub aktualizowanie zestawu reguł sieci oraz Tworzenie lub aktualizowanie prywatnego punktu końcowego Połączenie ions.

Uwaga

Żadne z powyższych ustawień nie pomija weryfikacji oświadczeń za pośrednictwem sygnatury dostępu współdzielonego lub uwierzytelniania firmy Microsoft Entra. Sprawdzanie uwierzytelniania zawsze jest uruchamiane po zweryfikowaniu przez usługę kontroli sieci skonfigurowanych przez defaultActionustawienia , . publicNetworkAccessprivateEndpointConnections

Azure Portal

Witryna Azure Portal zawsze używa najnowszej wersji interfejsu API do pobierania i ustawiania właściwości. Jeśli wcześniej skonfigurowano przestrzeń nazw przy użyciu wersji 2021-01-01-preview i wcześniejszej z ustawioną wartością defaultActionDenyi określono zerowe filtry adresów IP i reguły sieci wirtualnej, portal wcześniej sprawdziłby wybrane sieci na stronie Sieć przestrzeni nazw. Teraz sprawdza opcję Wszystkie sieci .

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

Następne kroki

Aby uzyskać więcej informacji na temat sieci wirtualnych, zobacz następujące linki: