Permitir acesso aos namespaces dos Hubs de Eventos do Azure a partir de redes virtuais específicas

A integração de Hubs de Eventos com Pontos de extremidade de serviço de VNet (rede virtual) 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.

Assim que configurado para associar-se a pelo menos um ponto de extremidade de serviço de sub-rede da rede virtual, o respectivo namespace de Hubs de Eventos não aceitará mais tráfego de nenhum lugar, exceto das sub-redes autorizadas em redes virtuais. Da perspectiva da rede virtual, a associação de um namespace de Hubs de Eventos 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 Hubs de Eventos, 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. Porém há uma exceção a esse comportamento. Habilitar um ponto de extremidade de serviço, por padrão, habilita a denyall regra no Firewall do IP associado à rede virtual. Você pode adicionar endereços IP específicos no firewall do IP para habilitar o acesso ao ponto de extremidade público dos Hubs de Eventos.

Pontos importantes

  • Não há suporte para esse recurso na camada básica.
  • Habilitar redes virtuais para seu 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 redes virtuais permitidas. Solicitações que estão bloqueadas incluem as de outros serviços do Azure, do portal do Azure, de registro em log e serviços de métricas e assim por diante. Como exceção, você pode permitir o acesso a recursos de Hubs de Eventos de determinados serviços confiáveis mesmo quando as redes virtuais estiverem habilitadas. Para obter uma lista de serviços confiáveis, consulte Serviços confiáveis.
  • 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, 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 Hubs de Eventos 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 hubs de eventos a redes virtuais

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

Associar um namespace de Hubs de Eventos 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.EventHub, conforme explicado no artigo 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 Hubs de Eventos ao ponto de extremidade com uma regra da rede virtual.

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

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 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, para acessar a rede pública, defina uma das três opções a seguir. Escolha a opção Redes selecionadas para permitir acesso somente de redes virtuais específicas.

    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 redes específicas, escolha a opção Redes selecionadas na parte superior da página, se ela ainda não estiver selecionada.

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

    Selection of Add existing virtual network menu item.

    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.

  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 a subnet.

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

    Image showing the selection of a subnet and enabling an 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. 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.

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

    Image showing the saving of virtual network.

    Observação

    Para restringir o acesso a intervalos ou endereços IP específicos, consulte permitir o acesso de intervalos ou endereços IP específicos.

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

A amostra do modelo do Resource Manager a seguir adiciona uma regra da rede virtual em um namespace de Hubs de Eventos 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.

Ao adicionar regras de rede virtual ou firewalls, defina o valor de defaultAction como Deny.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
      "eventhubNamespaceName": {
        "type": "string",
        "metadata": {
          "description": "Name of the Event Hubs 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('eventhubNamespaceName'), concat('/', 'default'))]",
      "subNetId": "[resourceId('Microsoft.Network/virtualNetworks/subnets/', parameters('virtualNetworkName'), parameters('subnetName'))]"
    },
    "resources": [
      {
        "apiVersion": "2018-01-01-preview",
        "name": "[parameters('eventhubNamespaceName')]",
        "type": "Microsoft.EventHub/namespaces",
        "location": "[parameters('location')]",
        "sku": {
          "name": "Standard",
          "tier": "Standard"
        },
        "properties": { }
      },
      {
        "apiVersion": "2017-09-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.EventHub"
                  }
                ]
              }
            }
          ]
        }
      },
      {
        "apiVersion": "2018-01-01-preview",
        "name": "[variables('namespaceNetworkRuleSetName')]",
        "type": "Microsoft.EventHub/namespaces/networkruleset",
        "dependsOn": [
          "[concat('Microsoft.EventHub/namespaces/', parameters('eventhubNamespaceName'))]"
        ],
        "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 eventhubs 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 that shows the Public access page with the All networks option selected.

Próximas etapas

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