Compartilhar via


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

Integração de Hubs de Eventos aos pontos de extremidade de serviço da Rede Virtual do Azure para restringir o acesso ao namespace dos Hubs de Eventos de sub-redes específicas da rede virtual. Este artigo explica como a integração de rede virtual funciona e fornece instruções passo a passo para configurá-la.

Overview

Ao usar pontos de extremidade de serviço de rede virtual, as cargas de trabalho em execução em uma rede virtual, como máquinas virtuais, podem acessar o namespace dos Hubs de Eventos com segurança. O caminho de tráfego de rede é protegido em ambas as extremidades.

Quando você configura um namespace dos Hubs de Eventos com pelo menos um ponto de extremidade de rede virtual de serviço, o namespace aceita somente o tráfego de sub-redes autorizadas. Do ponto de vista da rede virtual, o ponto de extremidade de serviço cria um túnel de rede isolado da sub-rede para o namespace dos Hubs de Eventos.

Essa configuração estabelece uma conexão privada e isolada entre cargas de trabalho na sub-rede e no namespace dos Hubs de Eventos, embora o ponto de extremidade de serviço dos Hubs de Eventos use um endereço IP.

Pontos importantes

  • Esse recurso não tem suporte na camada básica .
  • Quando você habilita redes virtuais para o namespace dos Hubs de Eventos, as solicitações de entrada são bloqueadas por padrão, a menos que sejam originadas de um serviço que opera de redes virtuais permitidas. As solicitações bloqueadas incluem as solicitações de outros serviços do Azure, o portal do Azure, os serviços de registro em log e métricas, e assim por diante. Como exceção, você pode permitir o acesso aos recursos dos Hubs de Eventos de determinados serviços confiáveis mesmo quando as redes virtuais estão habilitadas. Para obter uma lista de serviços confiáveis, confira 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 você não especificar regras de IP e de rede virtual, o namespace estará acessível pela Internet pública (usando a chave de acesso).

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

A integração de rede virtual dá suporte a cenários que exigem isolamento de segurança estrito, permitindo ainda a comunicação entre serviços compartimentalizados.

Rotas IP diretas entre compartimentos de rede, mesmo aqueles que usam HTTPS por TCP/IP, são vulneráveis a explorações de camada de rede. Os Hubs de Eventos fornecem uma alternativa mais segura atuando como um intermediário. Cargas de trabalho em redes virtuais separadas que se conectam à mesma instância dos Hubs de Eventos podem trocar mensagens de forma confiável, mantendo o isolamento de rede.

Essa abordagem fornece acesso a soluções sensíveis à segurança aos recursos de mensagens escalonáveis do Azure, ao mesmo tempo em que cria caminhos de comunicação mais seguros do que conexões ponto a ponto diretas.

Associar Hubs de Eventos a redes virtuais

As regras de rede virtual controlam se o namespace dos Hubs de Eventos aceita conexões de uma sub-rede de rede virtual específica.

Para associar um namespace dos Hubs de Eventos a uma rede virtual:

  1. Crie um ponto de extremidade de serviço em uma sub-rede de rede virtual e habilite-o para Microsoft.EventHub. Para obter mais informações, consulte Pontos de extremidade de serviço de rede virtual.
  2. Adicione uma regra de rede virtual para associar o namespace dos Hubs de Eventos ao ponto de extremidade de serviço.

A regra de rede virtual cria uma associação entre o namespace dos Hubs de Eventos e a sub-rede de rede virtual. Todas as cargas de trabalho na sub-rede podem acessar o namespace dos Hubs de Eventos enquanto a regra existe.

Note

Os Hubs de Eventos não estabelecem conexões de saída com sua sub-rede. A regra dá apenas acesso de entrada da sub-rede aos Hubs de Eventos.

Usar o portal do Azure

Ao criar um namespace, você pode escolher entre:

  • Acesso público: permite o acesso de todas as redes.
  • Acesso privado: restringe o acesso somente a pontos de extremidade privados.

Depois de criar o namespace, você pode refinar ainda mais o acesso especificando endereços IP ou redes virtuais ou perímetros de segurança 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.

Captura de tela mostrando a página Rede do assistente Criar namespace com a opção de acesso público selecionada.

Depois de criar o namespace, selecione Rede no menu à esquerda da página Namespace dos Hubs de Eventos .

Por padrão, o acesso à rede pública está habilitado para o namespace para todas as redes.

Captura de tela mostrando a página Rede do namespace dos Hubs de Eventos com acesso à rede pública habilitado.

Essa opção permite o acesso público de todas as redes usando uma chave de acesso. O namespace aceita conexões de qualquer endereço IP (usando a chave de acesso).

A próxima seção fornece detalhes sobre como configurar pontos de extremidade de serviço de rede virtual para especificar as redes virtuais 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, integre o ponto de extremidade de serviço de rede virtual a esse namespace de Hubs de Eventos.

  1. Acesse o namespace dos Hubs de Eventos no portal do Azure.

  2. Selecione Rede em Configurações no menu à esquerda.

  3. Na página Rede , selecione Gerenciar em Acesso à Rede Pública.

    Captura de tela mostrando a página de acesso público com o botão Gerenciar realçado.

  4. Na página de acesso à rede pública , na seção Ação Padrão , selecione Habilitar em redes selecionadas para permitir o acesso somente de endereços IP especificados.

    Captura de tela mostrando a página de acesso à rede pública com a opção Habilitar de redes selecionadas selecionada.

    Important

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

  5. Na seção Redes virtuais da página, selecione +Adicionar uma rede virtual ->Adicionar rede virtual existente*. Selecione Adicionar nova rede virtual se você quiser criar uma nova rede virtual.

    Seleção de Adicionar item de menu de rede virtual existente.

    Important

    Se você escolher redes selecionadas, adicione pelo menos uma regra de firewall de IP ou uma rede virtual que possa acessar seu 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, selecione a sub-rede e selecione Habilitar. Você deve habilitar o ponto de extremidade do 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.

    Imagem mostrando a seleção de uma sub-rede.

  7. Você verá uma mensagem de sucesso depois de habilitar o ponto de extremidade de serviço para a sub-rede do Microsoft.EventHub. Selecione Adicionar na parte inferior da página para adicionar a rede.

    Imagem mostrando a seleção de uma sub-rede e habilitando um ponto de extremidade.

    Note

    Se você não conseguir habilitar o ponto de extremidade de serviço, 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. Na seção Exceção , especifique se deseja permitir que serviços confiáveis da Microsoft acessem esse recurso. Consulte os 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 apareça nas notificações do portal.

    Imagem mostrando o salvamento da rede virtual.

    Note

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

    Note

    Para excluir uma regra de Rede Virtual, primeiro remova qualquer bloqueio de exclusão do Azure Resource Manager na Rede Virtual.

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 compatíveis
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

Azure Stream Analytics Permite que um trabalho do Azure Stream Analytics leia dados de (entrada) ou escreva dados em hubs de eventos (saída) no namespace dos Hubs de Eventos.

Importante: o trabalho do Stream Analytics deve ser configurado para usar uma identidade gerenciada para 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 Introdução ao conector IoT – APIs do 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

Este modelo de exemplo do Resource Manager adiciona uma regra de rede virtual a um namespace existente dos Hubs de Eventos. Ele especifica a ID de uma sub-rede em uma rede virtual para a regra de rede.

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.

Ao adicionar regras de rede virtual ou firewall, defina o valor de defaultAction para 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.

Important

Se você não especificar regras de IP ou de rede virtual, todo o tráfego fluirá para o namespace, mesmo se você defini-lo como defaultActionDeny. O namespace é acessível pela Internet pública (usando a chave de acesso). Para permitir o tráfego somente dos endereços IP especificados ou da sub-rede de uma rede virtual, especifique pelo menos uma regra de IP ou regra de rede virtual para o namespace.

Usar a CLI do Azure

Use os az eventhubs namespace network-rule-set comandos para gerenciar regras de rede virtual para um namespace dos Hubs de Eventos:

  • add - Adicionar uma regra de rede virtual
  • list - Listar todas as regras de rede
  • update – Atualizar regras de rede
  • remove – Remover uma regra de rede virtual

Uso do Azure PowerShell

Use os seguintes comandos do Azure PowerShell para gerenciar regras de rede virtual para um namespace dos Hubs de Eventos:

Command Description
Add-AzEventHubVirtualNetworkRule Adicionar uma regra de rede virtual
New-AzEventHubVirtualNetworkRuleConfig Criar uma configuração de regra de rede virtual (use com Set-AzEventHubNetworkRuleSet)
Set-AzEventHubNetworkRuleSet Aplicar a configuração de regra de rede a um namespace
Remove-AzEventHubVirtualNetworkRule Remover uma regra de rede virtual

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

API REST

O comportamento da propriedade varia de acordo com a defaultAction versão da API:

Versão da API Valor padrão Comportamento
1º de janeiro de 2021 (versão prévia) e anteriores Deny A regra de negação não é imposta, a menos que você configure filtros IP ou regras de rede virtual. Sem regras, o tráfego é permitido.
1º de junho de 2021 (versão prévia) e posteriores Allow O serviço impõe a ação configurada. Defina para Deny bloquear o tráfego que não corresponde às suas regras.

A API versão 2021-06-01-preview também apresenta a publicNetworkAccess propriedade:

  • Enabled - Permitir operações pela Internet pública
  • Disabled – Restringir operações somente a links privados

O serviço lembra das suas regras quando você as desativa e reativa.

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

Note

As configurações de rede não ignoram a autenticação. O serviço sempre valida declarações de autenticação SAS ou Microsoft Entra depois de verificar as regras de rede configuradas por defaultAction, publicNetworkAccess e privateEndpointConnections.

portal do Azure

O portal do Azure sempre usa a versão mais recente da API para obter e definir propriedades. Se você configurou seu namespace anteriormente usando a versão prévia de 1º de janeiro de 2021 ou anteriores com defaultAction definido como Deny e não especificou nenhum filtro de IP e regra de rede virtual, o portal marcou anteriormente Redes Selecionadas na página Rede do seu namespace. Agora, ele verifica a opção Todas as redes .

Captura de tela da página acesso público com a opção Todas as redes selecionada.