Permitir acesso aos namespaces dos Hubs de Eventos do Azure a partir de intervalos ou endereços IP específicos

Por padrão, os namespaces dos Hubs de Eventos são acessíveis da Internet, desde que a solicitação acompanhe autenticação e autorização válidas. Com o firewall de IP, você pode restringir isso ainda mais a apenas um conjunto de endereços IPv4 e IPv6 ou intervalos de endereços na notação CIDR (Roteamento entre Domínios sem Classificação).

Esse recurso é útil em cenários nos quais os Hubs de Eventos do Azure devem ser acessíveis apenas de determinados sites conhecidos. As regras de firewall permitem que você configure regras para aceitar o tráfego proveniente de endereços IPv4 e IPv6 específicos. Por exemplo, se você usa os Hubs de Eventos com o Azure ExpressRoute, é possível criar uma regra de firewall para permitir o tráfego apenas de seus endereços IP da infraestrutura local.

Regras de firewall de IP

Você especifica as regras de firewall de IP no nível do namespace dos Hubs de Eventos. Portanto, as regras se aplicam a todas as conexões de clientes que usam qualquer protocolo com suporte. Qualquer tentativa de conexão de um endereço IP que não corresponda a uma regra de IP permitida no namespace dos Hubs de Eventos será rejeitada como não autorizada. A resposta não menciona a regra de IP. As regras de filtro IP são aplicadas na ordem e a primeira regra que corresponde ao endereço IP determina a ação de aceitar ou rejeitar.

Pontos importantes

  • Não há suporte para esse recurso na camada básica.
  • Ativar as regras de firewall para o namespace de Hubs de Eventos bloqueia solicitações de entrada por padrão, a menos que as solicitações sejam originadas de um serviço operando de endereços IP públicos permitidos. As solicitações que são bloqueadas incluem as solicitações de outros serviços do Azure, do portal do Azure, do log e dos serviços de métricas etc. Como exceção, você pode permitir o acesso a recursos de Hubs de Eventos de determinados serviços confiáveis mesmo quando a filtragem de IP está habilitada. Para obter uma lista de serviços confiáveis, confira Serviços confiáveis da Microsoft.
  • Especifique pelo menos uma regra de firewall 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).

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 dos Hubs de Eventos. 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 configurar o firewall de IP para especificar os endereços IP nos quais o acesso é permitido.

Configurar o firewall de IP para um namespace existente

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

  1. Navegue até o seu namespace dos Hubs de Eventos no portal do Azure.

  2. Selecione Rede em Configurações no menu do lado esquerdo.

  3. Na página Rede, em Acesso à rede pública, escolha a opção Redes selecionadas para permitir o acesso somente em endereços IP especificados.

    Veja mais detalhes sobre as opções disponíveis na página Acesso à rede pública:

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

    • 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 hub de eventos 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 endereços IP específicos, selecione a opção Redes selecionadas e siga estas etapas:

    1. Na seção Firewall, selecione a opção Adicionar o endereço IP do cliente para permitir ao IP do cliente atual acesso ao namespace.

    2. Para o intervalo de endereços, insira endereços ou intervalos de endereços IPv4 ou IPv6 específicos na notação CIDR.

      Importante

      Quando o serviço começar a dar suporte a conexões IPv6 no futuro e os clientes mudarem automaticamente para o uso do IPv6, seus clientes serão interrompidos se você tiver apenas endereços IPv4, não endereços IPv6. Portanto, recomendamos que você adicione endereços IPv6 à lista de endereços IP permitidos agora para que seus clientes não tenham interrupções quando o serviço eventualmente mudar para o IPv6 com suporte.

    3. Especifique se você deseja permitir que serviços confiáveis da Microsoft ignorem esse firewall. Consulte Serviços confiáveis da Microsoft para obter detalhes.

      Firewall section highlighted in the Public access tab of the Networking page.

  5. 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.

    Observação

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

Serviços Microsoft confiáveis

Ao habilitar a configuração Permitir que os serviços confiáveis da Microsoft ignorem esse firewall, os serviços a seguir do mesmo locatário terão acesso aos recursos dos Hubs de Eventos.

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 hubs de eventos no seu namespace de Hubs de Eventos. 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 dos Hubs de Eventos do Azure no namespace de Hubs de Eventos
  • Em seguida, configure a assinatura do evento que usa um hub de eventos 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 leia dados de (entrada) ou grave dados para (saída) em hubs de eventos no seu namespace de Hubs de Eventos.

Importante: o trabalho de Stream Analytics deve ser configurado para usar uma identidade gerenciada para de acessar o hub de eventos. Para obter mais informações, consulte Usar identidades gerenciadas para acessar o hub de eventos de um trabalho do Azure Stream Analytics (versão prévia).

Hub IoT do Azure Permite que o Hub IoT envie mensagens para os hubs de eventos no seu namespace de Hub de Eventos. Também é necessário executar as seguintes etapas:
  • Habilitar identidade atribuída pelo sistema para o seu hub loT
  • Adicionar a identidade à função de remetente de dados dos Hubs de Eventos do Azure no namespace de Hubs de Eventos.
  • Em seguida, configure o Hub IoT que usa um hub de eventos como um ponto de extremidade personalizado para usar a autenticação baseada em identidade.
Gerenciamento de API do Azure

O serviço de Gerenciamento de API permite que enviar eventos para um hub de eventos em seu namespace de Hubs de Eventos.

Azure Monitor (grupos de ações e configurações de diagnóstico) Permite que Azure Monitor envie informações de diagnóstico e notificações de alerta aos hubs de eventos no seu namespace de Hubs de Eventos. O Azure Monitor pode ler a partir do hub de eventos, bem como gravar dados no hub de eventos.
Azure Synapse Permite que o Azure Synapse se conecte ao hub de eventos usando a Identidade Gerenciada do Workspace do Synapse. Adicionar a função Remetente, Receptor ou Proprietário de Dados dos Hubs de Eventos do Azure à identidade no namespace dos Hubs de Eventos.
Azure Data Explorer Permite que o Azure Data Explorer receba eventos do hub de eventos usando a Identidade Gerenciada do cluster. Você precisa executar as seguintes etapas:
  • Configurar a Identidade Gerenciada no Azure Data Explorer
  • Conceder a função de Receptor de Dados dos Hubs de Eventos do Azure à identidade, no hub de eventos.
 
Azure IoT Central

Permite que o IoT Central exporte dados para os hubs de eventos no seu namespace do Hub de Eventos. Também é necessário executar as seguintes etapas:

Serviços de Dados de Saúde do Azure Permite que o conector IoT das APIs do Healthcare ingira dados de dispositivos médicos do seu namespace dos Hubs de Eventos e persista dados em seu serviço Fast Healthcare Interoperability Resources (FHIR®) configurado. O conector IoT deve ser configurado para usar uma identidade gerenciada para de acessar o hub de eventos. Para obter mais informações, confira a Introdução às APIs do conector IoT – Azure Healthcare.
Gêmeos Digitais do Azure Permite que os Gêmeos Digitais do Azure enviem dados para os hubs de eventos no seu namespace dos Hubs de Eventos. 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 de Remetente de Dados dos Hubs de Eventos do Azure no namespace de Hubs de Eventos.
  • 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 eventos para recursos dos Hubs de Eventos a partir dos Gêmeos Digitais do Azure, consulte Rotear eventos dos Gêmeos Digitais do Azure e Criar pontos de extremidade nos Gêmeos Digitais do Azure.

Os outros serviços confiáveis para os Hubs de Eventos do Azure podem ser encontrados abaixo:

  • Azure Arc
  • Kubernetes do Azure
  • Azure Machine Learning
  • Microsoft Purview

Usar modelo do Resource Manager

Importante

Não há suporte para o recurso de Firewall na camada básica.

O modelo do Resource Manager a seguir permite adicionar uma regra de filtro IP a um namespace de Hubs de Eventos existente.

A ipMask no modelo é um endereço IPv4 único 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, em que 24 indica o número de bits de prefixo significativos para o intervalo.

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.

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "namespace_name": {
            "defaultValue": "contosoehub1333",
            "type": "String"
        }
    },
    "variables": {},
    "resources": [
        {
            "type": "Microsoft.EventHub/namespaces",
            "apiVersion": "2022-01-01-preview",
            "name": "[parameters('namespace_name')]",
            "location": "East US",
            "sku": {
                "name": "Standard",
                "tier": "Standard",
                "capacity": 1
            },
            "properties": {
                "minimumTlsVersion": "1.2",
                "publicNetworkAccess": "Enabled",
                "disableLocalAuth": false,
                "zoneRedundant": true,
                "isAutoInflateEnabled": false,
                "maximumThroughputUnits": 0,
                "kafkaEnabled": true
            }
        },
        {
            "type": "Microsoft.EventHub/namespaces/authorizationrules",
            "apiVersion": "2022-01-01-preview",
            "name": "[concat(parameters('namespace_name'), '/RootManageSharedAccessKey')]",
            "location": "eastus",
            "dependsOn": [
                "[resourceId('Microsoft.EventHub/namespaces', parameters('namespace_name'))]"
            ],
            "properties": {
                "rights": [
                    "Listen",
                    "Manage",
                    "Send"
                ]
            }
        },
        {
            "type": "Microsoft.EventHub/namespaces/networkRuleSets",
            "apiVersion": "2022-01-01-preview",
            "name": "[concat(parameters('namespace_name'), '/default')]",
            "location": "East US",
            "dependsOn": [
                "[resourceId('Microsoft.EventHub/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"
                    },
                    {
                        "ipMask": "172.72.157.204",
                        "action": "Allow"
                    }
                ]
            }
        }
    ]
}

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 os comandos adicionar, listar, atualizar e remover do az eventhubs namespace network-rule-setpara gerenciar regras de firewall de IP para um namespace dos Hubs de Eventos.

Usar PowerShell do Azure

Use o cmdlet Set-AzEventHubNetworkRuleSet para adicionar uma ou mais regras de firewall de IP. Um exemplo do artigo:

$ipRule1 = New-AzEventHubIPRuleConfig -IPMask 2.2.2.2 -Action Allow
$ipRule2 = New-AzEventHubIPRuleConfig -IPMask 3.3.3.3 -Action Allow
$virtualNetworkRule1 = New-AzEventHubVirtualNetworkRuleConfig -SubnetId '/subscriptions/subscriptionId/resourcegroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/default'
$networkRuleSet = Get-AzEventHubNetworkRuleSet -ResourceGroupName myResourceGroup -NamespaceName myNamespace
$networkRuleSet.IPRule += $ipRule1
$networkRuleSet.IPRule += $ipRule2
$networkRuleSet.VirtualNetworkRule += $virtualNetworkRule1
Set-AzEventHubNetworkRuleSet -ResourceGroupName myResourceGroup -NamespaceName myNamespace -IPRule $ipRule1,$ipRule2 -VirtualNetworkRule $virtualNetworkRule1,$virtualNetworkRule2,$virtualNetworkRule3

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

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 rede virtual. Ou seja, se você não tiver filtros IP ou regras de rede virtual, o tratamento será 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, filtros IP e regras de rede virtual serão impostos. Se a ação padrão for definida como Allow, filtros IP e regras de rede virtual não serão impostos. 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ê tivesse configurado o seu namespace usando 2021-01-01-preview e anteriores com defaultAction definido como Deny, e especificado zero filtros IP e regras de rede virtual, o portal teria verificado previamente as redes selecionadas na página Rede do seu namespace. Agora, ele verifica a opção Todas as redes.

Screenshot that shows the Public access page with the All networks option selected.

Próximas etapas

Para restringir o acesso a Hubs de Eventos para redes virtuais do Azure, consulte o link a seguir: