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.
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.
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, 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.
Para restringir o acesso a endereços IP específicos, selecione a opção Redes selecionadas e siga estas etapas:
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.
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.
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 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:
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
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-set
para 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.
Próximas etapas
Para restringir o acesso a Hubs de Eventos para redes virtuais do Azure, consulte o link a seguir: