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.
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.
Navegue até o seu namespace dos Hubs de Eventos no portal do Azure.
Selecione Rede em Configurações no menu do lado esquerdo.
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.
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.
Na seção Redes virtuais da página, selecione + Adicionar rede virtual existente*. Selecione +Criar nova rede virtual se desejar criar uma nova VNet.
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.
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.
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.
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.
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.
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 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:
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:
|
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:
|
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:
|
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-set
para 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.
Add-AzEventHubVirtualNetworkRule
para adicionar uma regra de rede virtual.New-AzEventHubVirtualNetworkRuleConfig
eSet-AzEventHubNetworkRuleSet
juntos para adicionar uma regra de rede virtual.Remove-AzEventHubVirtualNetworkRule
para remover a regra de rede virtual.
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.
Próximas etapas
Para obter mais informações sobre redes virtuais, consulte os links a seguir: