Belirli sanal ağlardan Azure Service Bus ad alanına erişime izin ver

Service Bus'ın Sanal Ağ (VNet) hizmet uç noktalarıyla tümleştirilmesi, sanal ağlara bağlı sanal makineler gibi iş yüklerinden mesajlaşma özelliklerine güvenli erişim sağlar ve ağ trafiği yolunun her iki ucunda da güvenliği sağlanır.

En az bir sanal ağ alt ağı hizmet uç noktasına bağlanacak şekilde yapılandırıldıktan sonra, ilgili Service Bus ad alanı artık yetkili sanal ağlardan ve isteğe bağlı olarak belirli İnternet IP adreslerinden gelen trafiği kabul eder. Sanal ağ perspektifinden bir Service Bus ad alanını bir hizmet uç noktasına bağlamak, sanal ağ alt ağından mesajlaşma hizmetine yalıtılmış bir ağ tüneli yapılandırılır.

Sonuç, mesajlaşma hizmeti uç noktasının gözlemlenebilir ağ adresinin genel IP aralığında olmasına rağmen alt ağa bağlı iş yükleri ile ilgili Service Bus ad alanı arasındaki özel ve yalıtılmış bir ilişkidir.

Önemli noktalar

  • Sanal Ağ yalnızca Premium katman Service Bus ad alanları. Service Bus ile sanal ağ hizmet uç noktalarını kullanırken, standart ve premium katman Service Bus ad alanlarını bir araya getiren uygulamalarda bu uç noktaları etkinleştirmemeniz gerekir. Standart katman sanal ağları desteklemediğinden. Uç nokta yalnızca Premium katman ad alanlarıyla sınırlıdır.

  • Sanal Ağ tümleştirmesi uygulamak, diğer Azure hizmetlerinin Service Bus ile etkileşim kurmasını engelleyebilir. Özel durum olarak, ağ hizmet uç noktaları etkinleştirildiğinde bile belirli güvenilen hizmetlerden Service Bus kaynaklarına erişime izin vekleyebilirsiniz. Güvenilen hizmetlerin listesi için bkz . Güvenilen hizmetler.

    Aşağıdaki Microsoft hizmetleri bir sanal ağda olması gerekir

    • Azure App Service
    • Azure İşlevleri
  • Ad alanı için yalnızca belirtilen IP adreslerinden veya bir sanal ağın alt ağından gelen trafiğe izin vermek için en az bir IP kuralı veya sanal ağ kuralı belirtin. IP ve sanal ağ kuralı yoksa, ad alanına genel İnternet üzerinden (erişim anahtarı kullanılarak) erişilebilir.

Sanal ağ tümleştirmesi tarafından etkinleştirilen gelişmiş güvenlik senaryoları

Sıkı ve bölümlere ayrılmış güvenlik gerektiren ve sanal ağ alt ağlarının bölümlere ayrılmış hizmetler arasında segmentasyon sağladığı çözümler, genellikle bu bölmelerde yer alan hizmetler arasında iletişim yollarına ihtiyaç duyar.

TCP/IP üzerinden HTTPS taşıyanlar da dahil olmak üzere bölmeler arasındaki herhangi bir anında IP yolu, açıkların ağ katmanından açıklardan yararlanma riskini taşır. Mesajlaşma hizmetleri, iletiler taraflar arasında geçiş yapılırken diske bile yazıldığı yalıtılmış iletişim yolları sağlar. Her ikisi de aynı Service Bus örneğine bağlı iki ayrı sanal ağdaki iş yükleri, iletiler aracılığıyla verimli ve güvenilir bir şekilde iletişim kurabilirken, ilgili ağ yalıtım sınırı bütünlüğü korunur.

Bu, güvenlik açısından hassas bulut çözümlerinizin yalnızca Azure sektör lideri güvenilir ve ölçeklenebilir zaman uyumsuz mesajlaşma özelliklerine erişim elde etmekle kalmaz, aynı zamanda https ve diğer TLS güvenli yuva protokolleri de dahil olmak üzere eşler arası iletişim modlarından daha güvenli olan güvenli çözüm bölmeleri arasında iletişim yolları oluşturmak için mesajlaşmayı kullanabilecekleri anlamına gelir.

Service Bus'ı Sanal Ağ bağlama

Sanal ağ kuralları , Azure Service Bus sunucunuzun belirli bir sanal ağ alt ağından gelen bağlantıları kabul edip etmediğini denetleyan güvenlik duvarı güvenlik özelliğidir.

Service Bus ad alanını sanal ağa bağlamak iki adımlı bir işlemdir. İlk olarak Sanal Ağ bir alt ağda bir Sanal Ağ hizmet uç noktası oluşturmanız ve hizmet uç noktasına genel bakış bölümünde açıklandığı gibi bunu Microsoft.ServiceBus için etkinleştirmeniz gerekir. Hizmet uç noktasını ekledikten sonra, Service Bus ad alanını buna bir sanal ağ kuralıyla bağlarsınız.

Sanal ağ kuralı, Service Bus ad alanının bir sanal ağ alt ağıyla ilişkisidir. Kural mevcutken, alt ağa bağlı tüm iş yüklerine Service Bus ad alanına erişim verilir. Service Bus hiçbir zaman giden bağlantılar kurmaz, erişim kazanması gerekmez ve bu nedenle bu kuralı etkinleştirerek alt ağınıza hiçbir zaman erişim verilmez.

Dekont

Bir ağ hizmet uç noktasının, sanal ağda çalışan uygulamalara Service Bus ad alanına erişim sağladığını unutmayın. Sanal ağ uç noktanın erişilebilirliğini denetler, ancak Service Bus varlıklarında (kuyruklar, konular veya abonelikler) gerçekleştirilebilecek işlemleri denetlemez. Uygulamaların ad alanı ve varlıkları üzerinde gerçekleştirebileceği işlemleri yetkilendirmek için Microsoft Entra Id kullanın. Daha fazla bilgi için bkz . Service Bus varlıklarına erişmek için Microsoft Entra Id ile bir uygulamanın kimliğini doğrulama ve yetkilendirme.

Azure portalı kullanma

Ad alanı oluştururken, ad alanına yalnızca genel (tüm ağlardan) veya yalnızca özel (yalnızca özel uç noktalar aracılığıyla) erişimine izin vekleyebilirsiniz. Ad alanı oluşturulduktan sonra, belirli IP adreslerinden veya belirli sanal ağlardan (ağ hizmet uç noktalarını kullanarak) erişime izin vekleyebilirsiniz.

Ad alanı oluştururken genel erişimi yapılandırma

Genel erişimi etkinleştirmek için ad alanı oluşturma sihirbazının sayfasında Genel erişim'i seçin.

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

Ad alanını oluşturduktan sonra Service Bus Ad Alanı sayfasının sol menüsünde Ağ'ı seçin. Tüm Ağlar seçeneğinin belirlendiğini görürsünüz. Seçili Ağlar seçeneğini belirleyebilir ve belirli IP adreslerinden veya belirli sanal ağlardan erişime izin vekleyebilirsiniz. Sonraki bölümde, erişime izin verilen ağları belirtmeye ilişkin ayrıntılar sağlanır.

Mevcut bir ad alanı için seçili ağları yapılandırma

Bu bölümde, sanal ağ hizmet uç noktası eklemek için Azure portalını nasıl kullanacağınız gösterilmektedir. Erişimi sınırlamak için bu Event Hubs ad alanı için sanal ağ hizmet uç noktasını tümleştirmeniz gerekir.

  1. Azure portalında Service Bus ad alanınıza gidin.

  2. Soldaki menüden Ayarlar altındaki seçeneği'ni seçin.

    Dekont

    Yalnızca premium ad alanları için sekmesini görürsünüz.

  3. sayfasında, Genel ağ erişimi için aşağıdaki üç seçenekten birini ayarlayabilirsiniz. Yalnızca belirtilen IP adreslerinden erişime izin vermek için Seçili ağlar seçeneğini belirleyin.

    • Devre dışı. Bu seçenek, ad alanına genel erişimi devre dışı bırakır. Ad alanına yalnızca özel uç noktalar üzerinden erişilebilir.

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

      Güvenilen Microsoft hizmetleri güvenlik duvarını atlamasına izin vermek isteyip istemediğinizi seçin. Azure Service Bus için güvenilen Microsoft hizmetleri listesi için Güvenilen Microsoft hizmetleri bölümüne bakın.

    • Seçili ağlar. Bu seçenek, seçili ağlardan bir erişim anahtarı kullanarak ad alanına genel erişim sağlar.

      Önemli

      Seçili ağlar'ı seçerseniz, ad alanına erişimi olacak en az bir IP güvenlik duvarı kuralı veya sanal ağ ekleyin. Yalnızca özel uç noktalar üzerinden bu ad alanına gelen tüm trafiği kısıtlamak istiyorsanız Devre Dışı'nı seçin.

    • Tüm ağlar (varsayılan). Bu seçenek, erişim anahtarı kullanarak tüm ağlardan genel erişimi etkinleştirir. Tüm ağlar seçeneğini belirtirseniz, Service Bus herhangi bir IP adresinden (erişim anahtarını kullanarak) bağlantıları kabul eder. Bu ayar, 0.0.0.0/0 IP adres aralığını kabul eden bir kurala eşdeğerdir.

  4. Belirli sanal ağlara erişimi kısıtlamak için, seçili olmayan Seçili ağlar seçeneğini belirleyin.

  5. Sayfanın Sanal Ağ bölümünde +Var olan sanal ağı ekle'yi seçin. Yeni bir sanal ağ oluşturmak istiyorsanız + Yeni sanal ağ oluştur'u seçin.

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

    Uyarı

    Seçili ağlar seçeneğini belirtirseniz ve bu sayfaya en az bir IP güvenlik duvarı kuralı veya sanal ağ eklemezseniz, ad alanına genel İnternet üzerinden (erişim anahtarı kullanılarak) erişilebilir.

  6. Sanal ağlar listesinden sanal ağı seçin ve ardından alt ağı seçin. Sanal ağı listeye eklemeden önce hizmet uç noktasını etkinleştirmeniz gerekir. Hizmet uç noktası etkinleştirilmemişse portal bunu etkinleştirmenizi ister.

    Image showing the selection of VNet and subnet.

  7. Alt ağın hizmet uç noktası Microsoft.ServiceBus için etkinleştirildikten sonra aşağıdaki başarılı iletiyi görmeniz gerekir. Ağı eklemek için sayfanın alt kısmındaki Ekle'yi seçin.

    Image showing the success message of enabling the service endpoint.

    Dekont

    Hizmet uç noktasını etkinleştiremiyorsanız, Resource Manager şablonunu kullanarak eksik sanal ağ hizmet uç noktasını yoksayabilirsiniz. Bu işlev portalda kullanılamaz.

  8. Ayarları kaydetmek için araç çubuğunda Kaydet'i seçin. Onayın portal bildirimlerinde gösterilmesi için birkaç dakika bekleyin. Kaydet düğmesi devre dışı bırakılmalıdır.

    Image showing the network service endpoint saved.

    Dekont

    Belirli IP adreslerinden veya aralıklardan erişime izin verme yönergeleri için bkz . Belirli IP adreslerinden veya aralıklarından erişime izin verme.

Güvenilen Microsoft hizmetleri

Güvenilen Microsoft hizmetleri bu güvenlik duvarını atlamasına izin ver ayarını etkinleştirdiğinizde, aşağıdaki hizmetlere Service Bus kaynaklarınıza erişim verilir.

Güvenilen hizmet Desteklenen kullanım senaryoları
Azure Event Grid Azure Event Grid'in Service Bus ad alanınızdaki kuyruklara veya konulara olay göndermesine izin verir. Aşağıdaki adımları da uygulamanız gerekir:
  • Bir konu veya etki alanı için sistem tarafından atanan kimliği etkinleştirme
  • Kimliği Service Bus ad alanında Azure Service Bus Veri Gönderen rolüne ekleme
  • Ardından, sistem tarafından atanan kimliği kullanmak için uç nokta olarak Service Bus kuyruğu veya konu başlığı kullanan olay aboneliğini yapılandırın.

Daha fazla bilgi için bkz . Yönetilen kimlikle olay teslimi

Azure Stream Analytics Azure Stream Analytics işinin Service Bus kuyruklarına konu başlıklarına veri çıkışı yapmasına izin verir.

Önemli: Stream Analytics işi, Service Bus ad alanına erişmek için yönetilen kimlikkullanacak şekilde yapılandırılmalıdır. Kimliği Service Bus ad alanında Azure Service Bus Veri Gönderen rolüne ekleyin.

Azure IoT Hub Bir IoT hub'ına Service Bus ad alanınızdaki kuyruklara veya konulara ileti gönderme izni verir. Aşağıdaki adımları da uygulamanız gerekir:
Azure API Management

API Management hizmeti, Service Bus Ad Alanınızdaki bir Service Bus kuyruğuna/konusuna ileti göndermenize olanak tanır.

Azure IoT Central

IoT Central'ın Service Bus ad alanınızdaki Service Bus kuyruklarına veya konu başlıklarına veri aktarmasına izin verir. Aşağıdaki adımları da uygulamanız gerekir:

  • IoT Central uygulamanız için sistem tarafından atanan kimliği etkinleştirme
  • Kimliği Service Bus ad alanında Azure Service Bus Veri Gönderen rolüne ekleyin.
  • Ardından IoT Central uygulamanızdaki Service Bus dışarı aktarma hedefini kimlik tabanlı kimlik doğrulamasını kullanacak şekilde yapılandırın.
Azure Digital Twins Azure Digital Twins'in Service Bus ad alanınızdaki Service Bus konularına veri çıkışı yapmasına izin verir. Aşağıdaki adımları da uygulamanız gerekir:

  • Azure Digital Twins örneğiniz için sistem tarafından atanan kimliği etkinleştirin.
  • Kimliği Service Bus ad alanında Azure Service Bus Veri Gönderen rolüne ekleyin.
  • Ardından, kimlik doğrulaması için sistem tarafından atanan kimliği kullanan bir Azure Digital Twins uç noktası veya Azure Digital Twins veri geçmişi bağlantısı yapılandırın. Azure Digital Twins'den Service Bus kaynaklarına uç noktaları ve olay yollarını yapılandırma hakkında daha fazla bilgi için bkz . Azure Digital Twins olaylarını yönlendirme ve Azure Digital Twins'de uç noktalar oluşturma.
Azure İzleyici (Tanılama Ayarlar ve Eylem Grupları) Azure İzleyici'nin Service Bus ad alanınızdaki Service Bus'a tanılama bilgileri ve uyarı bildirimleri göndermesine izin verir. Azure İzleyici, Service Bus ad alanından veri okuyabilir ve bu ad alanına veri yazabilir.
Azure Synapse Azure Synapse'in Synapse Çalışma Alanı Yönetilen Kimliği'ni kullanarak service bus'a bağlanmasına izin verir. Azure Service Bus Veri Göndereni, Alıcı veya Sahip rolünü Service Bus ad alanında kimliğe ekleyin.

Azure Service Bus için diğer güvenilir hizmetler aşağıda bulunabilir:

  • Azure Veri Gezgini
  • Azure Sağlık Verisi Hizmetleri
  • Azure Arc
  • Azure Kubernetes
  • Azure Machine Learning
  • Microsoft Purview

Resource Manager şablonu kullanma

Aşağıdaki örnek Resource Manager şablonu, var olan bir Service Bus ad alanına bir sanal ağ kuralı ekler. Ağ kuralı için, sanal ağdaki bir alt ağın kimliğini belirtir.

Kimlik, sanal ağ alt ağı için tam bir Resource Manager yoludur. Örneğin, /subscriptions/{id}/resourceGroups/{rg}/providers/Microsoft.Network/virtualNetworks/{vnet}/subnets/default bir sanal ağın varsayılan alt ağı için.

Dekont

öğesinin defaultAction varsayılan değeridir Allow. Sanal ağ veya güvenlik duvarları kuralları eklerken olarak ayarladığınızdan defaultActionDenyemin olun.

Şablon:

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

Şablonu dağıtmak için Azure Resource Manager yönergelerini izleyin.

Önemli

IP ve sanal ağ kuralı yoksa, olarak ayarlasanız defaultActiondenybile tüm trafik ad alanına akar. Ad alanına genel İnternet üzerinden erişilebilir (erişim anahtarı kullanılarak). Ad alanı için yalnızca belirtilen IP adreslerinden veya bir sanal ağın alt ağından gelen trafiğe izin vermek için en az bir IP kuralı veya sanal ağ kuralı belirtin.

Azure CLI kullanma

Service Bus ad alanının sanal ağ kurallarını yönetmek için ekleme, listeleme, güncelleştirme ve kaldırma komutlarını kullanın az servicebus namespace network-rule-set .

Azure PowerShell kullanma

Service Bus ad alanı için ağ kuralları eklemek, listelemek, kaldırmak, güncelleştirmek ve silmek için aşağıdaki Azure PowerShell komutlarını kullanın.

varsayılan eylem ve genel ağ erişimi

REST API

Özelliğin defaultActionDeny varsayılan değeri API sürüm 2021-01-01-preview ve önceki sürümler içindir. Ancak, IP filtreleri veya sanal ağ (VNet) kuralları ayarlamadığınız sürece reddetme kuralı uygulanmaz. Başka bir ifadeyle, HERHANGI bir IP filtreniz veya sanal ağ kuralınız yoksa, olarak Allowdeğerlendirilir.

API 2021-06-01-preview sürümünden itibaren özelliğin defaultAction varsayılan değeri, hizmet tarafı zorlamasını doğru bir şekilde yansıtmak için şeklindedirAllow. Varsayılan eylem olarak ayarlanırsa Deny, IP filtreleri ve sanal ağ kuralları uygulanır. Varsayılan eylem olarak ayarlanırsa Allow, IP filtreleri ve sanal ağ kuralları uygulanmaz. Hizmet, kuralları kapattığınızda ve yeniden açtığınızda hatırlar.

API sürüm 2021-06-01-preview da adlı publicNetworkAccessyeni bir özellik kullanıma sunulmuştur. olarak ayarlanırsa Disabled, işlemler yalnızca özel bağlantılara kısıtlanır. olarak ayarlandıysa Enabled, genel İnternet üzerinden işlemlere izin verilir.

Bu özellikler hakkında daha fazla bilgi için bkz. Ağ Kuralı Kümesi Oluşturma veya Güncelleştirme ve Özel Uç Nokta Bağlan oluşturma veya güncelleştirme.

Dekont

Yukarıdaki ayarların hiçbiri SAS veya Microsoft Entra kimlik doğrulaması yoluyla talepleri doğrulamayı atlaamaz. Kimlik doğrulama denetimi, hizmet , publicNetworkAccess, privateEndpointConnections ayarları tarafından defaultActionyapılandırılan ağ denetimlerini doğruladıktan sonra her zaman çalışır.

Azure portalı

Azure portalı, özellikleri almak ve ayarlamak için her zaman en son API sürümünü kullanır. Ad alanınızı daha önce 2021-01-01-preview ve önceki sürümleri olarak defaultAction ayarlanmış Denyolarak yapılandırdıysanız ve sıfır IP filtresi ve sanal ağ kuralı belirtseydiniz, portal daha önce ad alanınızın Ağ sayfasında Seçili Ağlar'ı işaretlemişti. Şimdi Tüm ağlar seçeneğini denetler.

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

Sonraki adımlar

Sanal ağlar hakkında daha fazla bilgi için aşağıdaki bağlantılara bakın: