Permitir acesso ao namespace do Barramento de Serviço do Azure de redes virtuais específicas

A integração de Barramento de Serviço com Pontos de extremidade de serviço de VNet (Rede Virtual do Microsoft Azure) permite acesso seguro a recursos de mensagens de cargas de trabalho, como máquinas virtuais associadas a redes virtuais, com o caminho de tráfego de rede sendo protegido em ambas as extremidades.

Após ser configurado para associar-se a pelo menos um ponto de extremidade de serviço de sub-rede da rede virtual, o respectivo namespace de Barramento de Serviço não aceitará mais tráfego de nenhum lugar, exceto das redes virtuais autorizadas e, opcionalmente, especifique endereços IP da Internet. Da perspectiva da rede virtual, a associação de um namespace de Barramento de Serviço a um ponto de extremidade de serviço configura um túnel de rede isolado da sub-rede da rede virtual para o serviço de sistema de mensagens.

O resultado é um relacionamento privado e isolado entre as cargas de trabalho associadas à sub-rede e o respectivo namespace de Barramento de Serviço, apesar do endereço de rede observável do ponto de extremidade de serviço de mensagens estar em um intervalo de IP público.

Pontos importantes

  • As redes virtuais têm suporte apenas em namespaces do Barramento de Serviço camada Premium. Ao usar pontos de extremidade de serviço de VNet com o Barramento de Serviço, você não deve habilitar esses pontos de extremidade em aplicativos que combinam os namespaces do Barramento de Serviço das camadas Standard e Premium. Pois a camada standard não dá suporte a VNets. O ponto de extremidade é restrito apenas aos namespaces da camada Premium.

  • Implementar a integração de redes virtuais pode impedir que outros serviços do Azure interajam com o Barramento de Serviço. Como exceção, você pode permitir o acesso a recursos de Barramento de Serviço de determinados serviços confiáveis mesmo quando pontos de extremidade de serviço de rede estão habilitados. Para obter uma lista de serviços confiáveis, confira Serviços confiáveis.

    Os serviços da Microsoft a seguir devem estar em uma rede virtual

    • Serviço de aplicativo do Azure
    • Funções do Azure
  • Especifique pelo menos uma regra de IP ou regra de rede virtual para o namespace para permitir o tráfego somente dos endereços IP ou da sub-rede de uma rede virtual especificada. Se não houver nenhuma regra de rede virtual e IP, o namespace poderá ser acessado pela Internet pública (usando a chave de acesso).

Cenários avançados de segurança habilitados pela integração de VNet

Soluções que exigem segurança compartimentada e restrita, e onde as sub-redes da rede virtual fornecem a segmentação entre os serviços compartimentados, geralmente ainda precisam de caminhos de comunicação entre os serviços que residem nesses compartimentos.

Qualquer rota IP imediata entre os compartimentos, incluindo aqueles que transportam HTTPS sobre TCP/IP, acarreta o risco de exploração de vulnerabilidades a partir da camada de rede. Os serviços de mensagem fornecem caminhos de comunicação isolados, nos quais as mensagens são gravadas no disco a medida em que fazem a transição entre as partes. Cargas de trabalho em duas redes virtuais distintas que estão associadas à mesma instância de Barramento de Serviço podem comunicar-se de maneira eficiente e confiável por meio de mensagens, enquanto a integridade de limite de isolamento da respectiva rede é preservada.

Isso significa que as soluções na nuvem de segurança confidencial não apenas obtêm acesso aos recursos de mensagens assíncronas confiáveis e escalonáveis líderes do mercado do Azure, mas agora podem usar o sistema de mensagens para criar caminhos de comunicação entre compartimentos de solução protegidos que são inerentemente mais seguros que o modo de comunicação ponto a ponto, incluindo HTTPS e outros protocolos de socket protegidos por TLS.

Associar Barramento de Serviço a Redes Virtuais

As regras da rede virtual são o recurso de segurança do firewall que controla se o servidor de Barramento de Serviço do Azure aceita conexões de uma sub-rede de rede virtual específica.

Associar um namespace de Barramento de Serviço a uma rede virtual é um processo de duas etapas. Primeiro é necessário criar um ponto de extremidade de serviço de Rede Virtual em uma sub-rede de Rede Virtual e habilitá-lo para Microsoft.ServiceBus, conforme explicado na visão geral do ponto de extremidade de serviço. Após adicionar o ponto de extremidade de serviço, você associa o namespace de Barramento de Serviço ao ponto de extremidade com uma regra da rede virtual.

A regra da rede virtual é uma associação do namespace de Barramento de Serviço com uma sub-rede de rede virtual. Embora a regra exista, todas as cargas de trabalho associadas à sub-rede recebem acesso ao namespace de Barramento de Serviço. Os próprios Barramentos de Serviço nunca estabelecem conexões de saída, não precisam obter acesso e, portanto, nunca recebem acesso à sub-rede ao se habilitar essa regra.

Observação

Lembre-se de que um ponto de extremidade de serviço de rede fornece aplicativos em execução na rede virtual o acesso ao namespace do Barramento de Serviço. A rede virtual controla a acessibilidade do ponto de extremidade, mas não as operações que podem ser feitas em entidades do Barramento de Serviço (filas, tópicos ou assinaturas). Use o Microsoft Entra ID para autorizar operações que os aplicativos podem executar no namespace e suas entidades. Para obter mais informações, confira Autenticar e autorizar um aplicativo com o Microsoft Entra ID para acessar entidades do Barramento de Serviço.

Usar o portal do Azure

Ao criar um namespace, você pode permitir acesso somente público (de todas as redes) ou somente privado (somente por meio de pontos de extremidade privados) ao namespace. Depois que o namespace for criado, você poderá permitir o acesso de endereços IP específicos ou de redes virtuais específicas (usando pontos de extremidade de serviço de rede).

Configurar o acesso público ao criar um namespace

Para habilitar o acesso público, selecione Acesso público na página Rede do assistente de criação do namespace.

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

Depois de criar o namespace, selecione Rede no menu à esquerda da página Namespace do Barramento de Serviço. Você verá que a opção Todas as Redes está selecionada. Você pode selecionar a opção Redes Selecionadas e permitir o acesso de endereços IP específicos ou de redes virtuais específicas. A próxima seção fornece detalhes sobre como especificar as redes a partir das quais o acesso é permitido.

Configurar redes selecionadas para um namespace existente

Esta seção mostra como usar o portal do Azure para adicionar um ponto de extremidade de serviço de rede virtual. Para limitar o acesso, você precisa integrar o ponto de extremidade de serviço de rede virtual a esse namespace de Hubs de Eventos.

  1. Navegue até o namespace do Barramento de Serviço no portal do Azure.

  2. No menu à esquerda, selecione a opção Rede em Configurações.

    Observação

    Você vê a guia Rede somente para namespaces premium.

  3. Na página Rede, em Acesso de rede pública, defina uma das três opções a seguir. Para permitir o acesso apenas do endereço IP especificado, selecione a opção Redes selecionadas.

    • Desabilitada. Essa opção desabilita qualquer acesso público ao namespace. O namespace será acessível somente por meio de pontos de extremidade privados.

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

      Escolha se pretende permitir que os serviços confiáveis da Microsoft ignorem o firewall. Para obter a lista de serviços confiáveis da Microsoft para o Barramento de Serviço do Azure, consulte a seção Serviços Confiáveis da Microsoft.

    • Redes selecionadas. Essa opção habilita o acesso público ao namespace usando uma chave de acesso de redes selecionadas.

      Importante

      Se você escolher Redes selecionadas, adicione pelo menos uma regra de firewall IP ou uma rede virtual que terá acesso ao namespace. Escolha Desabilitado se quiser restringir todo o tráfego a esse namespace somente em pontos de extremidade privados.

    • Todas as redes (padrão). Essa opção habilita o acesso público de todas as redes usando uma chave de acesso. Se você selecionar a opção Todas as redes, o Barramento de Serviço aceitará conexões de qualquer endereço IP (usando a chave de acesso). Essa configuração é equivalente a uma regra que aceita o intervalo de endereço IP 0.0.0.0/0.

  4. Para restringir o acesso a redes virtuais específicas, selecione a opção Redes selecionadas se ainda não estiver selecionada.

  5. Na seção Rede Virtual da página, selecione + Adicionar rede virtual existente. Selecione +Criar nova rede virtual se desejar criar uma nova VNet.

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

    Aviso

    Se você selecionar a opção Redes selecionadas e não adicionar pelo menos uma regra de firewall de IP ou uma rede virtual nessa página, o namespace poderá ser acessado através de Internet pública (usando a chave de acesso).

  6. Selecione a rede virtual na lista de redes virtuais e escolha a sub-rede. Você precisa habilitar o ponto de extremidade de serviço antes de adicionar a rede virtual à lista. Se o ponto de extremidade de serviço não estiver habilitado, o portal solicitará que você o habilite.

    Image showing the selection of VNet and subnet.

  7. Você deverá ver a mensagem de êxito a seguir depois que o ponto de extremidade de serviço para a sub-rede for habilitado para o Microsoft. ServiceBus. Selecione Adicionar na parte inferior da página para adicionar a rede.

    Image showing the success message of enabling the service endpoint.

    Observação

    Se não for possível habilitar o ponto de extremidade de serviço, você poderá ignorar o ponto de extremidade de serviço de rede virtual ausente usando o modelo do Resource Manager. Essa funcionalidade não está disponível no portal.

  8. Selecione Salvar na barra de ferramentas para salvar as configurações. Aguarde alguns minutos para que a confirmação seja exibida nas notificações do portal. O botão Salvar deve ser desabilitado.

    Image showing the network service endpoint saved.

    Observação

    Para instruções sobre como permitir o acesso de intervalos ou endereços IP específicos, confira Permitir o acesso de intervalos ou endereços IP específicos.

Serviços Microsoft confiáveis

Ao habilitar a opção Permitir que os serviços confiáveis da Microsoft ignorem essa configuração de firewall, os seguintes serviços recebem acesso aos seus recursos do Barramento de Serviço.

Serviço confiável Cenários de uso com suporte
Grade de Eventos do Azure Permite que a Grade de Eventos do Azure envie eventos para filas ou tópicos no seu namespace do Barramento de Serviço. Também é necessário executar as seguintes etapas:
  • Habilitar a identidade atribuída pelo sistema para um tópico ou domínio
  • Adicionar a identidade à função de remetente de dados do Barramento de Serviço do Azure no namespace do Barramento de Serviço
  • Em seguida, configure a assinatura do evento que usa uma fila ou tópico do Barramento de Serviço como um ponto de extremidade para usar a identidade atribuída pelo sistema.

Para obter mais informações, consulte Entrega de eventos com identidade gerenciada

Stream Analytics do Azure Permite que um trabalho do Azure Stream Analytics gere dados para filas do Barramento de Serviço para tópicos.

Importante: o trabalho de Stream Analytics deve ser configurado para usar uma identidade gerenciada para de acessar o namespace do Barramento de Serviço. Adicionar a identidade à função Remetente de Dados do Barramento de Serviço do Azure no namespace do Barramento de Serviço.

Hub IoT do Azure Permite que um hub IoT envie mensagens para filas ou tópicos no namespace do Barramento de Serviço. Também é necessário executar as seguintes etapas:
Gerenciamento de API do Azure

O serviço de Gerenciamento de API permite o envio de mensagens para uma fila/tópico do Barramento de Serviço no seu namespace do Barramento de Serviço.

Azure IoT Central

Permite que o IoT Central exporte dados para filas ou tópicos do Barramento de Serviço em seu namespace do Barramento de Serviço. Também é necessário executar as seguintes etapas:

Gêmeos Digitais do Azure Permite que os Gêmeos Digitais do Azure enviem dados para tópicos do Barramento de Serviço no namespace do seu Barramento de Serviço. Também é necessário executar as seguintes etapas:

  • Habilite a identidade atribuída pelo sistema para sua instância dos Gêmeos Digitais do Azure.
  • Adicionar a identidade à função Remetente de Dados do Barramento de Serviço do Azure no namespace do Barramento de Serviço.
  • Em seguida, configure um ponto de extremidade dos Gêmeos Digitais do Azure ou uma conexão de histórico de dados dos Gêmeos Digitais do Azure que usa a identidade atribuída pelo sistema para autenticar. Para obter mais informações sobre como configurar pontos de extremidade e rotas de evento para recursos do Barramento de Serviço dos Gêmeos Digitais do Azure, confira Rotear eventos dos Gêmeos Digitais do Azure e Criar pontos de extremidade nos Gêmeos Digitais do Azure.
Azure Monitor (grupos de ações e configurações de diagnóstico) Permite que o Azure Monitor envie informações de diagnóstico e notificações de alerta para o Barramento de Serviço no namespace do seu Barramento de Serviço. O Azure Monitor pode ler e gravar dados no namespace do Barramento de Serviço.
Azure Synapse Permite que o Azure Synapse se conecte ao barramento de serviço usando a Identidade Gerenciada do Workspace do Synapse. Adicione as funções de Remetente, Destinatário ou Proprietário de Dados do Barramento de Serviço do Azure à identidade no namespace do Barramento de Serviço.

Os outros serviços confiáveis do Barramento de Serviço do Azure podem ser encontrados abaixo:

  • Azure Data Explorer
  • Serviços de Dados de Saúde do Azure
  • Azure Arc
  • Kubernetes do Azure
  • Azure Machine Learning
  • Microsoft Purview

Usar modelo do Resource Manager

A amostra do modelo do Resource Manager a seguir adiciona uma regra da rede virtual em um namespace do Barramento de Serviço existente. Para a regra de rede, ele especifica a ID de uma sub-rede em uma rede virtual.

A ID é um caminho totalmente qualificado do Resource Manager para a sub-rede da rede virtual. Por exemplo, /subscriptions/{id}/resourceGroups/{rg}/providers/Microsoft.Network/virtualNetworks/{vnet}/subnets/default para a sub-rede padrão de uma rede virtual.

Observação

O valor padrão de defaultAction é Allow. Ao adicionar regras de redes virtuais ou de firewalls, defina o valor de defaultAction como Deny.

Modelo:

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

Para implantar o modelo, siga as instruções para o Azure Resource Manager.

Importante

Se não houver nenhuma regra de rede virtual e IP, todo o tráfego fluirá para o namespace mesmo se você definir defaultAction como deny. O namespace pode ser acessado pela Internet pública (usando a chave de acesso). Especifique pelo menos uma regra de IP ou regra de rede virtual para o namespace para permitir o tráfego somente dos endereços IP ou da sub-rede de uma rede virtual especificada.

Usar a CLI do Azure

Use comandos adicionar, listar, atualizar e remover do az servicebus namespace network-rule-setpara gerenciar regras de rede virtual para um namespace do Barramento de Serviço.

Usar PowerShell do Azure

Use os comandos do Azure PowerShell a seguir para adicionar, listar, remover, atualizar e excluir regras de rede para um namespace do Barramento de Serviço.

ação padrão e acesso à rede pública

API REST

O valor padrão da propriedade defaultAction era para Deny a versão da API de 1º de janeiro de 2021 em versão prévia ou anterior. No entanto, a regra de negação não é imposta, a menos que você defina filtros IP ou regras de VNet (rede virtual). Ou seja, se você não tiver filtros IP ou regras de VNet, ela será tratada como Allow.

Da versão da API de 1º de junho de 2021 (versão prévia) em diante, o valor padrão da propriedade defaultAction é Allow, para refletir com precisão a imposição do lado do serviço. Se a ação padrão for definida como Deny, os filtros IP e as regras de VNet serão aplicados. Se a ação padrão for definida como Allow, os filtros IP e as regras de VNet não serão aplicados. O serviço se lembra das regras quando você as desliga e volta a ativá-las.

A versão da API de 1º de junho de 2021 (versão prévia) em diante também introduz uma nova propriedade chamada publicNetworkAccess. Se estiver definida como Disabled, as operações serão restritas somente a links privados. Se estiver definida como Enabled, as operações serão permitidas na Internet pública.

Para obter mais informações sobre essas propriedades, consulte Criar ou atualizar o conjunto de regras de rede e Criar ou atualizar conexões de ponto de extremidade privado.

Observação

Nenhuma das configurações acima ignora a validação de declarações por meio de SAS ou autenticação do Microsoft Entra. A verificação de autenticação sempre é executada depois que o serviço valida as verificações de rede que são definidas pelas configuraçõesdefaultAction, publicNetworkAccess, privateEndpointConnections.

Portal do Azure

O portal do Azure sempre usa a versão mais recente da API para obter e definir propriedades. Se você já tivesse configurado seu namespace usando a versão prévia de 1º de janeiro de 2021 ou anterior e definido defaultAction como Deny, além de especificar zero filtros IP e regras de VNet, o portal teria marcado anteriormente Redes Selecionadas na página Rede do seu namespace. Agora, ele verifica a opção Todas as redes.

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

Próximas etapas

Para obter mais informações sobre redes virtuais, consulte os links a seguir: