Permitir acesso a namespaces de Hubs de Eventos do Azure por meio de pontos de extremidade privados
O Serviço de Link Privado do Azure permite que você acesse os Serviços do Azure (por exemplo, Hubs de Eventos do Azure, Armazenamento do Azure e Azure Cosmos DB) e os serviços de cliente/parceiro hospedados pelo Azure em um ponto de extremidade privado em sua rede virtual.
Um ponto final privado é uma interface de rede que o liga a um serviço de forma privada e segura com a tecnologia Azure Private Link. O ponto final privado utiliza um endereço IP privado da sua rede virtual, para que possa aceder ao serviço de forma eficaz na sua rede virtual. Todo o tráfego para o serviço é roteado através do ponto de extremidade privado, portanto, não são necessários gateways, dispositivos NAT, conexões ExpressRoute ou VPN ou endereços IP públicos. O tráfego entre a rede virtual e o serviço percorre a rede de backbone da Microsoft, eliminando a exposição da Internet pública. Você pode se conectar a uma instância de um recurso do Azure, oferecendo o mais alto nível de granularidade no controle de acesso.
Para obter mais informações, consulte O que é o Azure Private Link?
Pontos importantes
- Este recurso não é suportado na camada básica .
- Habilitar pontos de extremidade privados pode impedir que outros serviços do Azure interajam com Hubs de Eventos. As solicitações bloqueadas incluem aquelas 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 os pontos de extremidade privados estão habilitados. 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 rede virtual, o namespace pode ser acessado pela Internet pública (usando a chave de acesso).
Adicionar um ponto de extremidade privado usando o portal do Azure
Pré-requisitos
Para integrar um namespace de Hubs de Eventos com o Azure Private Link, você precisa das seguintes entidades ou permissões:
- Um namespace de Hubs de Eventos.
- Uma rede virtual do Azure.
- Uma sub-rede na rede virtual. Você pode usar a sub-rede padrão .
- Permissões de proprietário ou colaborador para o namespace e a rede virtual.
O ponto final privado e a rede virtual têm de estar na mesma região. Quando você seleciona uma região para o ponto de extremidade privado usando o portal, ele filtra automaticamente as redes virtuais que estão nessa região. Seu namespace pode estar em uma região diferente.
Seu ponto de extremidade privado usa um endereço IP privado em sua rede virtual.
Configurar o acesso privado ao criar um namespace
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.
Se você selecionar a opção Acesso privado na página Rede do assistente de criação de namespace, poderá adicionar um ponto de extremidade privado na página selecionando o botão + Ponto de extremidade privado. Consulte a próxima seção para obter as etapas detalhadas para adicionar um ponto de extremidade privado.
Configurar acesso privado para um namespace existente
Se você já tiver um namespace de Hubs de Eventos, poderá criar uma conexão de link privado seguindo estas etapas:
Inicie sessão no portal do Azure.
Na barra de pesquisa, digite hubs de eventos.
Selecione o namespace na lista ao qual você deseja adicionar um ponto de extremidade privado.
Na página Rede, para Acesso à rede pública, selecione Desabilitado se desejar que o namespace seja acessado somente por meio de pontos de extremidade privados.
Em Permitir que serviços confiáveis da Microsoft ignorem esse firewall, selecione Sim se quiser permitir que serviços confiáveis da Microsoft ignorem esse firewall.
Alterne para a guia Conexões de ponto de extremidade privadas.
Selecione o botão + Ponto Final Privado na parte superior da página.
Na página Noções básicas, siga estas etapas:
Selecione a assinatura do Azure na qual você deseja criar o ponto de extremidade privado.
Selecione o grupo de recursos para o recurso de ponto de extremidade privado.
Insira um nome para o ponto de extremidade privado.
Insira um nome para a interface de rede.
Selecione uma região para o ponto de extremidade privado. Seu ponto de extremidade privado deve estar na mesma região que sua rede virtual, mas pode estar em uma região diferente do recurso de link privado ao qual você está se conectando.
Selecione Next: Resource > button na parte inferior da página.
Na página Recurso, revise as configurações e selecione Avançar: Rede Virtual.
Na página Rede Virtual, selecione a sub-rede em uma rede virtual para onde deseja implantar o ponto de extremidade privado.
Selecione uma rede virtual. Apenas as redes virtuais na subscrição e localização atualmente selecionadas estão listadas na lista pendente.
Selecione uma sub-rede na rede virtual selecionada.
Observe que a diretiva de rede para pontos de extremidade privados está desabilitada. Se quiser ativá-lo, selecione editar, atualize a configuração e selecione Salvar.
Para Configuração de IP privado, por padrão, a opção Alocar endereço IP dinamicamente está selecionada. Se quiser atribuir um endereço IP estático, selecione Alocar estaticamente o endereço IP*.
Para Grupo de segurança de aplicativo, selecione um grupo de segurança de aplicativo existente ou crie um que será associado ao ponto de extremidade privado.
Selecione Next: botão DNS > na parte inferior da página.
Na página DNS, selecione se deseja que o ponto de extremidade privado seja integrado a uma zona DNS privada e selecione Avançar: Tags.
Na página Etiquetas, crie quaisquer etiquetas (nomes e valores) que pretenda associar ao recurso de ponto de extremidade privado. Em seguida, selecione o botão Rever + criar na parte inferior da página.
Em Rever + criar, reveja todas as definições e selecione Criar para criar o ponto de extremidade privado.
Confirme que você vê a conexão de ponto de extremidade privada que você criou aparece na lista de pontos de extremidade. Atualize a página e alterne para a guia Private endpoint connections . Neste exemplo, o ponto de extremidade privado é aprovado automaticamente porque você se conectou a um recurso do Azure em seu diretório e tem permissões suficientes.
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 hubs de eventos (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 Identidade Gerenciada do Espaço de Trabalho Synapse. 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
Para permitir que serviços confiáveis acessem seu namespace, alterne para a guia Acesso Público na página Rede e selecione Sim para Permitir que serviços confiáveis da Microsoft ignorem esse firewall?.
Adicionar um ponto de extremidade privado usando o PowerShell
O exemplo a seguir mostra como usar o Azure PowerShell para criar uma conexão de ponto de extremidade privada. Ele não cria um cluster dedicado para você. Siga as etapas neste artigo para criar um cluster de Hubs de Eventos dedicado.
$rgName = "<RESOURCE GROUP NAME>"
$vnetlocation = "<VIRTUAL NETWORK LOCATION>"
$vnetName = "<VIRTUAL NETWORK NAME>"
$subnetName = "<SUBNET NAME>"
$namespaceLocation = "<NAMESPACE LOCATION>"
$namespaceName = "<NAMESPACE NAME>"
$peConnectionName = "<PRIVATE ENDPOINT CONNECTION NAME>"
# create resource group
New-AzResourceGroup -Name $rgName -Location $vnetLocation
# create virtual network
$virtualNetwork = New-AzVirtualNetwork `
-ResourceGroupName $rgName `
-Location $vnetlocation `
-Name $vnetName `
-AddressPrefix 10.0.0.0/16
# create subnet with endpoint network policy disabled
$subnetConfig = Add-AzVirtualNetworkSubnetConfig `
-Name $subnetName `
-AddressPrefix 10.0.0.0/24 `
-PrivateEndpointNetworkPoliciesFlag "Disabled" `
-VirtualNetwork $virtualNetwork
# update virtual network
$virtualNetwork | Set-AzVirtualNetwork
# create an event hubs namespace in a dedicated cluster
$namespaceResource = New-AzResource -Location $namespaceLocation `
-ResourceName $namespaceName `
-ResourceGroupName $rgName `
-Sku @{name = "Standard"; capacity = 1} `
-Properties @{clusterArmId = "/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.EventHub/clusters/<EVENT HUBS CLUSTER NAME>"} `
-ResourceType "Microsoft.EventHub/namespaces" -ApiVersion "2018-01-01-preview"
# create private endpoint connection
$privateEndpointConnection = New-AzPrivateLinkServiceConnection `
-Name $peConnectionName `
-PrivateLinkServiceId $namespaceResource.ResourceId `
-GroupId "namespace"
# get subnet object that you'll use later
$virtualNetwork = Get-AzVirtualNetwork -ResourceGroupName $rgName -Name $vnetName
$subnet = $virtualNetwork | Select -ExpandProperty subnets `
| Where-Object {$_.Name -eq $subnetName}
# create a private endpoint
$privateEndpoint = New-AzPrivateEndpoint -ResourceGroupName $rgName `
-Name $vnetName `
-Location $vnetlocation `
-Subnet $subnet `
-PrivateLinkServiceConnection $privateEndpointConnection
(Get-AzResource -ResourceId $namespaceResource.ResourceId -ExpandProperties).Properties
Configurar a zona DNS privada
Crie uma zona DNS privada para o domínio dos Hubs de Eventos e crie um link de associação com a rede virtual:
$zone = New-AzPrivateDnsZone -ResourceGroupName $rgName `
-Name "privatelink.servicebus.windows.net"
$link = New-AzPrivateDnsVirtualNetworkLink -ResourceGroupName $rgName `
-ZoneName "privatelink.servicebus.windows.net" `
-Name "mylink" `
-VirtualNetworkId $virtualNetwork.Id
$networkInterface = Get-AzResource -ResourceId $privateEndpoint.NetworkInterfaces[0].Id -ApiVersion "2019-04-01"
foreach ($ipconfig in $networkInterface.properties.ipConfigurations) {
foreach ($fqdn in $ipconfig.properties.privateLinkConnectionProperties.fqdns) {
Write-Host "$($ipconfig.properties.privateIPAddress) $($fqdn)"
$recordName = $fqdn.split('.',2)[0]
$dnsZone = $fqdn.split('.',2)[1]
New-AzPrivateDnsRecordSet -Name $recordName -RecordType A -ZoneName "privatelink.servicebus.windows.net" `
-ResourceGroupName $rgName -Ttl 600 `
-PrivateDnsRecords (New-AzPrivateDnsRecordConfig -IPv4Address $ipconfig.properties.privateIPAddress)
}
}
Gerenciar pontos de extremidade privados usando o portal do Azure
Quando você cria um ponto de extremidade privado, a conexão deve ser aprovada. Se o recurso para o qual você está criando um ponto de extremidade privado estiver em seu diretório, você poderá aprovar a solicitação de conexão desde que tenha permissões suficientes. Se você estiver se conectando a um recurso do Azure em outro diretório, deverá aguardar que o proprietário desse recurso aprove sua solicitação de conexão.
Há quatro estados de provisionamento:
Ação do serviço | Estado do ponto de extremidade privado do consumidor do serviço | Description |
---|---|---|
None | Pendente | A conexão é criada manualmente e está pendente de aprovação do proprietário do recurso Link Privado. |
Aprovar | Aprovado | A conexão foi aprovada automática ou manualmente e está pronta para ser usada. |
Rejeitar | Rejeitado | A conexão foi rejeitada pelo proprietário do recurso de link privado. |
Remover | Desligado | A conexão foi removida pelo proprietário do recurso de link privado. O ponto de extremidade privado torna-se informativo e deve ser excluído para limpeza. |
Aprovar, rejeitar ou remover uma conexão de ponto de extremidade privada
- Inicie sessão no portal do Azure.
- Na barra de pesquisa, digite hubs de eventos.
- Selecione o namespace que você deseja gerenciar.
- Selecione o separador Rede.
- Vá para a seção apropriada a seguir com base na operação desejada: aprovar, rejeitar ou remover.
Aprovar uma conexão de ponto de extremidade privada
Se houver conexões pendentes, você verá uma conexão listada com Pendente no estado de provisionamento.
Selecione o ponto de extremidade privado que deseja aprovar
Selecione o botão Aprovar .
Na página Aprovar conexão, adicione um comentário (opcional) e selecione Sim. Se você selecionar Não, nada acontece.
Você verá o status da conexão de ponto de extremidade privado na lista alterada para Aprovado.
Rejeitar uma conexão de ponto de extremidade privada
Se houver alguma conexão de ponto de extremidade privada que você deseja rejeitar, seja uma solicitação pendente ou uma conexão existente, selecione a conexão e selecione o botão Rejeitar .
Na página Rejeitar conexão, insira um comentário (opcional) e selecione Sim. Se você selecionar Não, nada acontece.
Você deve ver o status da conexão de ponto de extremidade privado na lista alterada para Rejeitado.
Remover uma conexão de ponto de extremidade privada
- Para remover uma conexão de ponto de extremidade privada, selecione-a na lista e selecione Remover na barra de ferramentas.
- Na página Excluir conexão, selecione Sim para confirmar a exclusão do ponto de extremidade privado. Se você selecionar Não, nada acontece.
- Você verá o status alterado para Desconectado. Em seguida, o ponto de extremidade desaparece da lista.
Validar se a conexão de link privado funciona
Você deve validar se os recursos dentro da rede virtual do ponto de extremidade privado estão se conectando ao namespace dos Hubs de Eventos por meio de um endereço IP privado e se eles têm a integração de zona DNS privada correta.
Primeiro, crie uma máquina virtual seguindo as etapas em Criar uma máquina virtual do Windows no portal do Azure
Na guia Rede:
- Especifique Rede virtual e Sub-rede. Você deve selecionar a Rede Virtual na qual implantou o ponto de extremidade privado.
- Especifique um recurso IP público.
- Para o grupo de segurança de rede NIC, selecione Nenhum.
- Para Balanceamento de carga, selecione Não.
Conecte-se à VM, abra a linha de comando e execute o seguinte comando:
nslookup <event-hubs-namespace-name>.servicebus.windows.net
Você verá um resultado semelhante ao seguinte.
Non-authoritative answer:
Name: <event-hubs-namespace-name>.privatelink.servicebus.windows.net
Address: 10.0.0.4 (private IP address associated with the private endpoint)
Aliases: <event-hubs-namespace-name>.servicebus.windows.net
Limitações e considerações de design
- Para obter informações sobre preços, consulte Preços do Link Privado do Azure.
- Esse recurso está disponível em todas as regiões públicas do Azure.
- Número máximo de pontos de extremidade privados por namespace de Hubs de Eventos: 120.
- O tráfego é bloqueado na camada de aplicativo, não na camada TCP. Portanto, você vê conexões TCP ou
nslookup
operações bem-sucedidas no ponto de extremidade público, mesmo que o acesso público esteja desabilitado.
Para saber mais, consulte Serviço de Link Privado do Azure: Limitações
Conteúdos relacionados
- Saiba mais sobre o Azure Private Link
- Saiba mais sobre os Hubs de Eventos do Azure