Permitir acesso ao namespace do Barramento de Serviço do Azure a partir de endereços IP ou intervalos específicos

Por padrão, os namespaces do Service Bus são acessíveis pela Internet, desde que a solicitação contenha autenticação e autorização válidas. Com o firewall IP, o tráfego de entrada pode ser restrito a um conjunto de endereços IPv4 ou intervalos de endereços IPv4 (na notação CIDR (Classless Inter-Domain Routing) ).

Esse recurso é útil em cenários nos quais o Barramento de Serviço do Azure só deve ser acessível a partir de determinados sites conhecidos. As regras de firewall permitem configurar regras para aceitar tráfego originado de endereços IPv4 específicos. Por exemplo, se você usar o Service Bus com a Rota Expressa do Azure, poderá criar uma regra de firewall para permitir o tráfego apenas de seus endereços IP de infraestrutura local ou endereços de um gateway NAT corporativo.

Regras de firewall de IP

As regras de firewall IP são aplicadas no nível de namespace do Service Bus. Portanto, as regras se aplicam a todas as conexões de clientes usando qualquer protocolo suportado (AMQP (5671) e HTTPS (443)). Qualquer tentativa de conexão de um endereço IP que não corresponda a uma regra IP permitida no namespace do Service Bus é rejeitada como não autorizada. A resposta não menciona a regra de IP. As regras de filtro IP são aplicadas em ordem e a primeira regra que corresponde ao endereço IP determina a ação de aceitação ou rejeição.

Pontos importantes

  • As Redes Virtuais são suportadas apenas na camada premium do Service Bus. Se a atualização para a camada premium não for uma opção, é possível usar regras de firewall IP. Recomendamos que mantenha o token SAS (Assinatura de Acesso Partilhado) seguro e que o partilhe apenas com utilizadores autorizados. Para obter informações sobre a autenticação SAS, consulte Autenticação e autorização.

  • Especifique pelo menos uma regra de firewall IP ou regra de rede virtual para o namespace para permitir o tráfego somente dos endereços IP especificados ou sub-rede de uma rede virtual. Se não houver regras de IP e de rede virtual, o namespace poderá ser acessado pela Internet pública (usando a chave de acesso).

  • A implementação de regras de firewall pode impedir que outros serviços do Azure interajam com o Service Bus. Como exceção, você pode permitir o acesso aos recursos do Service Bus a partir de determinados serviços confiáveis, mesmo quando a filtragem de IP está habilitada. Para obter uma lista de serviços confiáveis, consulte Serviços confiáveis.

    Os seguintes serviços da Microsoft são necessários para estar em uma rede virtual

    • Serviço de Aplicações do Azure
    • Funções do Azure

Nota

Você vê a guia Rede somente para namespaces premium . Para definir regras de firewall IP para as outras camadas, use modelos do Azure Resource Manager, CLI do Azure, PowerShell ou API REST.

Utilizar o portal do Azure

Ao criar um namespace, você pode permitir acesso somente público (de todas as redes) ou privado (somente por meio de pontos de extremidade privados) ao namespace. Depois que o namespace é criado, você pode 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 de 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 esquerdo da página Namespace do Service Bus. 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 redes virtuais específicas. A próxima seção fornece detalhes sobre como configurar o firewall IP para especificar os endereços IP a partir dos quais o acesso é permitido.

Configurar firewall IP para um namespace existente

Esta seção mostra como usar o portal do Azure para criar regras de firewall IP para um namespace do Service Bus.

  1. Navegue até o namespace do Service Bus no portal do Azure.

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

    Nota

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

  3. Na página Rede, para Acesso à rede pública, você pode definir uma das três opções a seguir. Escolha a opção Redes selecionadas para permitir o acesso apenas a partir de endereços IP especificados.

    • Desativado. Esta opção desativa qualquer acesso público ao namespace. O namespace é 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 deseja permitir que serviços confiáveis da Microsoft ignorem o firewall. Para obter a lista de serviços Microsoft confiáveis para o Barramento de Serviço do Azure, consulte a seção Serviços confiáveis da Microsoft .

    • Redes selecionadas. Essa opção permite 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). Esta opção permite o acesso público a partir de todas as redes utilizando uma chave de acesso. Se você selecionar a opção Todas as redes, o Service Bus 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ços IP 0.0.0.0/0.

  4. Para permitir o acesso apenas a partir do endereço IP especificado, selecione a opção Redes selecionadas se ainda não estiver selecionada. Na secção Firewall, siga estes passos:

    1. Selecione Adicionar a opção de endereço IP do cliente para dar ao IP do cliente atual o acesso ao namespace.

    2. Para o intervalo de endereços, insira um endereço IPv4 específico ou um intervalo de endereços IPv4 na notação CIDR.

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

      Aviso

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

      Screenshot of the Azure portal Networking page. The option to allow access from Selected networks is selected and the Firewall section is highlighted.

  5. Selecione Salvar na barra de ferramentas para salvar as configurações. Aguarde alguns minutos para que a confirmação apareça nas notificações do portal.

    Nota

    Para restringir o acesso a redes virtuais específicas, consulte Permitir acesso a partir de redes específicas.

Serviços fidedignos da Microsoft

Quando você habilita a configuração Permitir que serviços confiáveis da Microsoft ignorem esse firewall , os seguintes serviços recebem acesso aos recursos do Service Bus.

Serviço de confiança Cenários de utilização suportados
Grelha de Eventos do Azure Permite que a Grade de Eventos do Azure envie eventos para filas ou tópicos em seu namespace do Service Bus. Você também precisa fazer as seguintes etapas:
  • Habilitar a identidade atribuída ao sistema para um tópico ou domínio
  • 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 a assinatura de evento que usa uma fila ou tópico do Service Bus como um ponto de extremidade para usar a identidade atribuída ao sistema.

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

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

Importante: O trabalho do Stream Analytics deve ser configurado para usar uma identidade gerenciada para acessar o namespace do Service Bus. Adicione 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 em seu namespace do Service Bus. Você também precisa fazer as seguintes etapas:
API Management do Azure

O serviço de Gerenciamento de API permite que você envie mensagens para uma fila/tópico do Service Bus em seu namespace do Service Bus.

  • Você pode acionar fluxos de trabalho personalizados enviando mensagens para sua fila/tópico do Service Bus quando uma API é invocada usando a política de solicitação de envio.
  • Você também pode tratar uma fila/tópico do Service Bus como seu back-end em uma API. Para obter uma política de exemplo, consulte Autenticar usando uma identidade gerenciada para acessar uma fila ou tópico do Service Bus. Você também precisa fazer as seguintes etapas:
    1. Habilite a identidade atribuída ao sistema na instância de Gerenciamento de API. Para obter instruções, consulte Usar identidades gerenciadas no Gerenciamento de API do Azure.
    2. Adicionar a identidade à função Remetente de Dados do Barramento de Serviço do Azure no namespace do Barramento de Serviço
Azure IoT Central

Permite que o IoT Central exporte dados para filas ou tópicos do Service Bus em seu namespace do Service Bus. Você também precisa fazer as seguintes etapas:

  • Habilite a identidade atribuída ao sistema para seu aplicativo IoT Central
  • Adicione a identidade à função Remetente de Dados do Barramento de Serviço do Azure no namespace do Barramento de Serviço .
  • Em seguida, configure o destino de exportação do Service Bus em seu aplicativo IoT Central para usar a autenticação baseada em identidade.
Azure Digital Twins Permite que os Gêmeos Digitais do Azure enviem dados para tópicos do Barramento de Serviço em seu namespace do Barramento de Serviço. Você também precisa fazer as seguintes etapas:

  • Habilite a identidade atribuída ao sistema para sua instância do Azure Digital Twins.
  • Adicione 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 do Azure Digital Twins ou uma conexão de histórico de dados do Azure Digital Twins que use a identidade atribuída ao sistema para autenticar. Para obter mais informações sobre como configurar pontos de extremidade e rotas de eventos para recursos do Barramento de Serviço dos Gêmeos Digitais do Azure, consulte Rotear eventos de Gêmeos Digitais do Azure e Criar pontos de extremidade em Gêmeos Digitais do Azure.
Azure Monitor (Configurações de Diagnóstico e Grupos de Ação) Permite que o Azure Monitor envie informações de diagnóstico e notificações de alerta para o Service Bus em seu namespace do Service Bus. O Azure Monitor pode ler e gravar dados no namespace do Service Bus.
Azure Synapse Permite que o Azure Synapse se conecte ao barramento de serviço usando a Identidade Gerenciada do Espaço de Trabalho Synapse. Adicione a função Remetente, Recetor 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 para o Barramento de Serviço do Azure podem ser encontrados abaixo:

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

Utilizar modelo do Resource Manager

Esta seção tem um modelo de exemplo do Azure Resource Manager que adiciona uma rede virtual e uma regra de firewall a um namespace existente do Service Bus.

ipMask é um único endereço IPv4 ou um bloco de endereços IP na notação CIDR. Por exemplo, na notação CIDR 70.37.104.0/24 representa os 256 endereços IPv4 de 70.37.104.0 a 70.37.104.255, com 24 indicando o número de bits de prefixo significativos para o intervalo.

Nota

O valor padrão do defaultAction é Allow. Ao adicionar regras de rede virtual ou firewalls, certifique-se de definir como defaultActionDeny.

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "namespace_name": {
            "defaultValue": "mypremiumnamespace",
            "type": "String"
        }
    },
    "variables": {},
    "resources": [
        {
            "type": "Microsoft.ServiceBus/namespaces",
            "apiVersion": "2022-10-01-preview",
            "name": "[parameters('namespace_name')]",
            "location": "East US",
            "sku": {
                "name": "Premium",
                "tier": "Premium",
                "capacity": 1
            },
            "properties": {
                "premiumMessagingPartitions": 1,
                "minimumTlsVersion": "1.2",
                "publicNetworkAccess": "Enabled",
                "disableLocalAuth": false,
                "zoneRedundant": true
            }
        },
        {
            "type": "Microsoft.ServiceBus/namespaces/networkRuleSets",
            "apiVersion": "2022-10-01-preview",
            "name": "[concat(parameters('namespace_name'), '/default')]",
            "location": "East US",
            "dependsOn": [
                "[resourceId('Microsoft.ServiceBus/namespaces', parameters('namespace_name'))]"
            ],
            "properties": {
                "publicNetworkAccess": "Enabled",
                "defaultAction": "Deny",
                "virtualNetworkRules": [],
                "ipRules": [
                    {
                        "ipMask": "10.1.1.1",
                        "action": "Allow"
                    },
                    {
                        "ipMask": "11.0.0.0/24",
                        "action": "Allow"
                    }
                ]
            }
        }
    ]
}

Para implantar o modelo, siga as instruções para o Gerenciador de Recursos do Azure.

Importante

Se não houver regras de IP e de rede virtual, todo o tráfego fluirá para o namespace, mesmo que você defina como defaultActiondeny. O namespace pode ser acessado pela internet pública (usando a chave de acesso). Especifique pelo menos uma regra IP ou regra de rede virtual para o namespace para permitir o tráfego somente dos endereços IP especificados ou sub-rede de uma rede virtual.

Utilizar a CLI do Azure

Use az servicebus namespace network-rule-set comandos add, list, update e remove para gerenciar regras de firewall IP para um namespace do Service Bus.

Utilizar o Azure PowerShell

Use os seguintes comandos do Azure PowerShell para adicionar, listar, remover, atualizar e excluir regras de firewall IP.

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

API REST

O valor padrão da propriedade era Deny para a defaultAction versão da API 2021-01-01-preview e anterior. No entanto, a regra de negação não é imposta, a menos que você defina filtros IP ou regras de rede virtual (VNet). Ou seja, se você não tiver filtros IP ou regras de VNet, isso será tratado como Allow.

A partir da versão da API 2021-06-01-preview em diante, o valor padrão da propriedade é Allow, para refletir com precisão a imposição do lado do defaultAction serviço. Se a ação padrão for definida como Deny, os filtros IP e as regras de VNet serão impostos. Se a ação padrão estiver definida como Allow, os filtros IP e as regras de VNet não serão impostos. O serviço lembra as regras quando você as desliga e depois volta a ligá-las.

A versão da API 2021-06-01-preview em diante também introduz uma nova propriedade chamada publicNetworkAccess. Se estiver definido como Disabled, as operações serão restritas apenas a links privados. Se estiver definido como Enabled, as operações são permitidas através da Internet pública.

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

Nota

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

Portal do Azure

O portal do Azure sempre usa a versão mais recente da API para obter e definir propriedades. Se você tivesse configurado anteriormente seu namespace usando 2021-01-01-preview e anterior com defaultAction definido como Deny, e especificado zero filtros IP e regras de VNet, o portal teria verificado 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óximos passos

Para restringir o acesso ao Service Bus para redes virtuais do Azure, consulte o seguinte link: