Permitir acesso a 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 Rede Virtual (VNet) permite o acesso seguro a recursos de mensagens de cargas de trabalho, como máquinas virtuais vinculadas a redes virtuais, com o caminho de tráfego de rede protegido em ambas as extremidades.
Uma vez configurado para vincular a pelo menos um ponto de extremidade de serviço de sub-rede de rede virtual, o namespace dos respetivos Hubs de Eventos não aceita mais tráfego de qualquer lugar, exceto sub-redes autorizadas em redes virtuais. Da perspetiva da rede virtual, vincular um namespace de Hubs de Eventos a um ponto de extremidade de serviço configura um túnel de rede isolado da sub-rede de rede virtual para o serviço de mensagens.
O resultado é uma relação privada e isolada entre as cargas de trabalho vinculadas à sub-rede e o respetivo namespace de Hubs de Eventos, apesar do endereço de rede observável do ponto de extremidade do serviço de mensagens estar em um intervalo de IP público. Há uma exceção a esse comportamento. A habilitação de um ponto de extremidade de serviço, por padrão, habilita a denyall
regra no firewall IP associado à rede virtual. Você pode adicionar endereços IP específicos no firewall IP para habilitar o acesso ao ponto de extremidade público dos Hubs de Eventos.
Pontos importantes
- Este recurso não é suportado na camada básica .
- A habilitação de 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 que opera a partir de redes virtuais permitidas. As solicitações bloqueadas incluem as de outros serviços do Azure, do portal do Azure, de 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 a partir de determinados serviços confiáveis, mesmo quando as redes virtuais estão habilitadas. Para obter uma lista de serviços confiáveis, consulte Serviços confiáveis.
- 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. 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).
Cenários avançados de segurança habilitados pela integração de VNet
Soluções que exigem segurança apertada e compartimentada, e onde as sub-redes de 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 da camada de rede para cima. Os serviços de mensagens fornecem caminhos de comunicação isolados, onde as mensagens são gravadas até mesmo no disco à medida que transitam entre as partes. As cargas de trabalho em duas redes virtuais distintas que estão vinculadas à mesma instância de Hubs de Eventos podem se comunicar de forma eficiente e confiável por meio de mensagens, enquanto a integridade do limite de isolamento de rede respetiva é preservada.
Isso significa que suas soluções de nuvem sensíveis à segurança não apenas obtêm acesso aos recursos de mensagens assíncronas confiáveis e escaláveis líderes do setor do Azure, mas agora podem usar mensagens para criar caminhos de comunicação entre compartimentos de solução seguros que são inerentemente mais seguros do que o que é possível com qualquer modo de comunicação ponto a ponto, incluindo HTTPS e outros protocolos de soquete protegidos por TLS.
Vincular hubs de eventos a redes virtuais
As regras de rede virtual são o recurso de segurança de firewall que controla se o namespace dos Hubs de Eventos do Azure aceita conexões de uma sub-rede de rede virtual específica.
Vincular um namespace de Hubs de Eventos a uma rede virtual é um processo de duas etapas. Primeiro, você precisa criar um ponto de extremidade de serviço de rede virtual na sub-rede de uma rede virtual e habilitá-lo para Microsoft.EventHub, conforme explicado no artigo de visão geral do ponto de extremidade de serviço. Depois de adicionar o ponto de extremidade de serviço, você vincula o namespace Hubs de Eventos a ele com uma regra de rede virtual.
A regra de rede virtual é uma associação do namespace Hubs de Eventos com uma sub-rede de rede virtual. Enquanto a regra existir, todas as cargas de trabalho vinculadas à sub-rede recebem acesso ao namespace Hubs de Eventos. Os Hubs de Eventos em si nunca estabelecem conexões de saída, não precisam obter acesso e, portanto, nunca recebem acesso à sua sub-rede habilitando essa regra.
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.
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 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 do serviço de rede virtual para esse namespace de Hubs de Eventos.
Navegue até o namespace Hubs de Eventos no portal do Azure.
Selecione Rede em Configurações no menu à esquerda.
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 de redes virtuais específicas.
Aqui estão mais detalhes sobre as opções disponíveis na página Acesso à rede pública:
Desativado. Esta opção desativa qualquer acesso público ao namespace. O namespace é acessível somente por meio de pontos de extremidade privados.
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 hub de eventos aceita 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.
Para restringir o acesso a redes específicas, escolha a opção Redes selecionadas na parte superior da página, se ainda não estiver selecionada.
Na seção Redes virtuais da página, selecione +Adicionar rede virtual existente*. Selecione + Criar nova rede virtual se quiser criar uma nova rede virtual.
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, em seguida, 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 do serviço não estiver habilitado, o portal solicitará que você o habilite.
Você verá a seguinte mensagem bem-sucedida depois que o ponto de extremidade de serviço para a sub-rede estiver habilitado para Microsoft.EventHub. Selecione Adicionar na parte inferior da página para adicionar a rede.
Nota
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 Gerenciador de Recursos. Esta funcionalidade não está disponível no portal.
Especifique se 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 apareça nas notificações do portal.
Nota
Para restringir o acesso a endereços IP ou intervalos específicos, consulte Permitir acesso a partir de endereços IP ou intervalos específicos.
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 dentro do mesmo locatário recebem acesso aos recursos dos Hubs de Eventos.
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 hubs de eventos em seu namespace de Hubs de Eventos. Você também precisa fazer as seguintes etapas:
Para obter mais informações, consulte Entrega de eventos com uma identidade gerenciada |
Azure Stream Analytics | Permite que um trabalho do Azure Stream Analytics leia dados de (entrada) ou grave dados em hubs de eventos (de saída) em seu namespace de 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 (Visualização). |
Hub IoT do Azure | Permite que o Hub IoT envie mensagens para hubs de eventos em seu namespace de Hubs de Eventos. Você também precisa fazer as seguintes etapas:
|
API Management do Azure | O serviço de Gerenciamento de API permite que você envie eventos para um hub de eventos em seu namespace de Hubs de Eventos.
|
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 hubs de eventos em seu namespace de Hubs de Eventos. O Azure Monitor pode ler a partir do hub de eventos e também gravar dados no hub de eventos. |
Azure Synapse | Permite que o Azure Synapse se conecte ao hub de eventos usando a Synapse Workspace Managed Identity. Adicione a função Remetente, Recetor ou Proprietário de Dados dos Hubs de Eventos do Azure à identidade no namespace 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 fazer as seguintes etapas:
|
Azure IoT Central | Permite que o IoT Central exporte dados para hubs de eventos em seu namespace de Hubs de Eventos. Você também precisa fazer as seguintes etapas:
|
Serviços de Dados de Saúde do Azure | Permite que o conector IoT das APIs de assistência médica ingira dados de dispositivos médicos do namespace dos Hubs de Eventos e persista dados no serviço FHIR® (Fast Healthcare Interoperability Resources) configurado. O conector IoT deve ser configurado para usar uma identidade gerenciada para acessar o hub de eventos. Para obter mais informações, consulte Introdução ao conector IoT - APIs do Azure Healthcare. |
Azure Digital Twins | Permite que os Gêmeos Digitais do Azure enviem dados para hubs de eventos em seu namespace de Hubs de Eventos. Você também precisa fazer as seguintes etapas:
|
Os outros serviços confiáveis para Hubs de Eventos do Azure podem ser encontrados abaixo:
- Azure Arc
- Azure Kubernetes
- Azure Machine Learning
- Microsoft Purview
Utilizar modelo do Resource Manager
O modelo de exemplo do Gerenciador de Recursos a seguir adiciona uma regra de rede virtual a um namespace de Hubs de Eventos existente. Para a regra de rede, especifica a ID de uma sub-rede em uma rede virtual.
A ID é um caminho do Gerenciador de Recursos totalmente qualificado para a sub-rede de 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
Deny
como .
{
"$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 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 defaultAction
deny
. 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 eventhubs namespace network-rule-set
comandos add, list, update e remove para gerenciar regras de rede virtual 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 rede para um namespace do Service Bus.
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 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 .
Próximos passos
Para obter mais informações sobre redes virtuais, consulte os seguintes links: