Permitir acesso a namespaces do Barramento de Serviço 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, o Barramento de Serviço do Azure, o Armazenamento do Azure e o 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 pode ser encaminhado através do ponto final privado, pelo que não são necessários gateways, dispositivos NAT, ligações ExpressRoute ou VPN nem 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

  • Esse recurso é suportado com a camada premium do Barramento de Serviço do Azure. Para obter mais informações sobre a camada premium, consulte o artigo Service Bus Premium e Standard messaging tiers .

  • A implementação de pontos finais privados pode impedir que outros serviços do Azure interajam com o Service Bus. Como exceção, você pode permitir o acesso aos recursos do Service Bus 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.

    Os seguintes serviços da Microsoft são necessários para estar em uma rede virtual

    • Serviço de Aplicações do Azure
    • Funções do Azure
  • 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 do Service Bus ao Azure Private Link, você precisa das seguintes entidades ou permissões:

  • Um namespace do Service Bus.
  • 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 do Service Bus 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 apenas as redes virtuais que estão nessa região. O espaço de nomes do Service Bus pode estar numa região diferente. Além disso, 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.

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

Configurar acesso privado para um namespace existente

Se você já tiver um namespace existente, poderá criar um ponto de extremidade privado seguindo estas etapas:

  1. Inicie sessão no portal do Azure.

  2. Na barra de pesquisa, digite Service Bus.

  3. Selecione o namespace na lista ao qual você deseja adicionar um ponto de extremidade privado.

  4. No menu à esquerda, selecione a opção Rede em Configurações.

    Nota

    Você vê a guia Rede somente para namespaces premium .

  5. 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.

  6. 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.

    Captura de ecrã da página Rede com acesso à rede pública como Desativado.

  7. Para permitir o acesso ao namespace por meio de pontos de extremidade privados, selecione a guia Conexões de ponto de extremidade privado na parte superior da página

  8. Selecione o botão + Ponto Final Privado na parte superior da página.

    Botão Adicionar ponto final privado

  9. Na página Noções básicas, siga estas etapas:

    1. Selecione a assinatura do Azure na qual você deseja criar o ponto de extremidade privado.

    2. Selecione o grupo de recursos para o recurso de ponto de extremidade privado.

    3. Insira um nome para o ponto de extremidade privado.

    4. Insira um nome para a interface de rede.

    5. 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.

    6. Selecione Next: Resource > button na parte inferior da página.

      Captura de tela mostrando a página Noções básicas do assistente Criar ponto de extremidade privado.

  10. Na página Recurso, revise as configurações e selecione Avançar: Rede Virtual na parte inferior da página.

    Captura de tela mostrando a página Recurso do assistente Criar ponto de extremidade privado.

  11. Na página Rede Virtual, selecione a sub-rede em uma rede virtual para onde deseja implantar o ponto de extremidade privado.

    1. Selecione uma rede virtual. Apenas as redes virtuais na subscrição e localização atualmente selecionadas estão listadas na lista pendente.
    2. Selecione uma sub-rede na rede virtual selecionada.
    3. 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.
    4. 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*.
    5. 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.
    6. Selecione Next: botão DNS > na parte inferior da página.

    Captura de ecrã a mostrar a página Rede Virtual do assistente Criar ponto de extremidade privado.

  12. 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.

    Captura de ecrã a mostrar a página DNS do assistente Criar ponto de extremidade privado.

  13. 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.

  14. Em Rever + criar, reveja todas as definições e selecione Criar para criar o ponto de extremidade privado.

    Captura de ecrã a mostrar a página Rever e Criar do assistente Criar ponto final privado.

  15. Confirme se o ponto de extremidade privado foi criado. Se você for o proprietário do recurso e tiver selecionado a opção Conectar a um recurso do Azure em meu diretório para o método Connection, a conexão de ponto de extremidade deverá ser aprovada automaticamente. Se estiver no estado pendente, consulte a seção Gerenciar pontos de extremidade privados usando o portal do Azure.

    Ponto de extremidade privado criado

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 recebem acesso aos recursos do Service Bus.

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 filas ou tópicos em seu namespace do Service Bus. Você também precisa fazer as seguintes etapas:
  • Habilitar a identidade atribuída ao sistema para um tópico ou domínio
  • Adicionar a identidade à função Remetente de Dados do Barramento de Serviço do Azure no namespace do Barramento de Serviço
  • Em seguida, configure a assinatura de evento que usa uma fila ou tópico do Service Bus como um ponto de extremidade para usar a identidade atribuída ao sistema.

Para obter mais informações, consulte Entrega de eventos com uma identidade gerenciada

Azure Stream Analytics Permite que um trabalho do Azure Stream Analytics produza dados para filas do Barramento de Serviço para tópicos.

Importante: O trabalho do Stream Analytics deve ser configurado para usar uma identidade gerenciada para acessar o namespace do Service Bus. Adicione a identidade à função Remetente de Dados do Barramento de Serviço do Azure no namespace do Barramento de Serviço .

Hub IoT do Azure Permite que um hub IoT envie mensagens para filas ou tópicos em seu namespace do Service Bus. Você também precisa fazer as seguintes etapas:
API Management do Azure

O serviço de Gerenciamento de API permite que você envie mensagens para uma fila/tópico do Service Bus em seu namespace do Service Bus.

  • Você pode acionar fluxos de trabalho personalizados enviando mensagens para sua fila/tópico do Service Bus quando uma API é invocada usando a política de solicitação de envio.
  • Você também pode tratar uma fila/tópico do Service Bus como seu back-end em uma API. Para obter uma política de exemplo, consulte Autenticar usando uma identidade gerenciada para acessar uma fila ou tópico do Service Bus. Você também precisa fazer as seguintes etapas:
    1. Habilite a identidade atribuída ao sistema na instância de Gerenciamento de API. Para obter instruções, consulte Usar identidades gerenciadas no Gerenciamento de API do Azure.
    2. Adicionar a identidade à função Remetente de Dados do Barramento de Serviço do Azure no namespace do Barramento de Serviço
Azure IoT Central

Permite que o IoT Central exporte dados para filas ou tópicos do Service Bus em seu namespace do Service Bus. Você também precisa fazer as seguintes etapas:

  • Habilite a identidade atribuída ao sistema para seu aplicativo IoT Central
  • Adicione a identidade à função Remetente de Dados do Barramento de Serviço do Azure no namespace do Barramento de Serviço .
  • Em seguida, configure o destino de exportação do Service Bus em seu aplicativo IoT Central para usar a autenticação baseada em identidade.
Azure Digital Twins Permite que os Gêmeos Digitais do Azure enviem dados para tópicos do Barramento de Serviço em seu namespace do Barramento de Serviço. Você também precisa fazer as seguintes etapas:

  • Habilite a identidade atribuída ao sistema para sua instância do Azure Digital Twins.
  • Adicione a identidade à função Remetente de Dados do Barramento de Serviço do Azure no namespace do Barramento de Serviço .
  • Em seguida, configure um ponto de extremidade do Azure Digital Twins ou uma conexão de histórico de dados do Azure Digital Twins que use a identidade atribuída ao sistema para autenticar. Para obter mais informações sobre como configurar pontos de extremidade e rotas de eventos para recursos do Barramento de Serviço dos Gêmeos Digitais do Azure, consulte Rotear eventos de Gêmeos Digitais do Azure e Criar pontos de extremidade em Gêmeos Digitais do Azure.
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 o Service Bus em seu namespace do Service Bus. O Azure Monitor pode ler e gravar dados no namespace do Service Bus.
Azure Synapse Permite que o Azure Synapse se conecte ao barramento de serviço usando a Identidade Gerenciada do Espaço de Trabalho Synapse. Adicione a função Remetente, Recetor ou Proprietário de Dados do Barramento de Serviço do Azure à identidade no namespace do Barramento de Serviço.

Os outros serviços confiáveis para o Barramento de Serviço do Azure podem ser encontrados abaixo:

  • Azure Data Explorer
  • Serviços de Dados de Saúde do Azure
  • Azure Arc
  • Azure Kubernetes
  • Azure Machine Learning
  • Microsoft Purview
  • Microsoft Defender para a Cloud
  • Azure Provider Hub

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 com um namespace do Service Bus.

O ponto final privado e a rede virtual têm de estar na mesma região. O espaço de nomes do Service Bus pode estar numa região diferente. Além disso, seu ponto de extremidade privado usa um endereço IP privado em sua rede virtual.


$rgName = "<RESOURCE GROUP NAME>"
$vnetlocation = "<VNET 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 premium service bus namespace
$namespaceResource = New-AzResource -Location $namespaceLocation -ResourceName $namespaceName -ResourceGroupName $rgName -Sku @{name = "Premium"; capacity = 1} -Properties @{} -ResourceType "Microsoft.ServiceBus/namespaces" -

# create a private link service connection
$privateEndpointConnection = New-AzPrivateLinkServiceConnection `
                                -Name $peConnectionName `
                                -PrivateLinkServiceId $namespaceResource.ResourceId `
                                -GroupId "namespace"

# get subnet object that you will use in the next step                                
$virtualNetwork = Get-AzVirtualNetwork -ResourceGroupName  $rgName -Name $vnetName
$subnet = $virtualNetwork | Select -ExpandProperty subnets `
                                | Where-Object  {$_.Name -eq $subnetName}  
   
# now, create private endpoint   
$privateEndpoint = New-AzPrivateEndpoint -ResourceGroupName $rgName  `
                                -Name $vnetName   `
                                -Location $vnetlocation `
                                -Subnet  $subnet   `
                                -PrivateLinkServiceConnection $privateEndpointConnection

(Get-AzResource -ResourceId $namespaceResource.ResourceId -ExpandProperties).Properties


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

  1. Inicie sessão no portal do Azure.
  2. Na barra de pesquisa, digite Service Bus.
  3. Selecione o namespace que você deseja gerenciar.
  4. Selecione o separador Rede.
  5. Consulte a seção a seguir apropriada com base na operação desejada: aprovar, rejeitar ou remover.

Aprovar uma conexão de ponto de extremidade privada

  1. Se houver conexões pendentes, você verá uma conexão listada com Pendente no estado de provisionamento.

  2. Selecione o ponto de extremidade privado que deseja aprovar

  3. Selecione o botão Aprovar .

    Aprovar ponto de extremidade privado

  4. Na página Aprovar conexão, insira um comentário opcional e selecione Sim. Se você selecionar Não, nada acontece.

    Aprovar página de conexão

  5. Você verá o status da conexão na lista alterada para Aprovado.

    Estado da ligação - aprovado

Rejeitar uma conexão de ponto de extremidade privada

  1. Se houver alguma conexão de ponto de extremidade privada que você deseja rejeitar, seja uma solicitação pendente ou uma conexão existente que foi aprovada anteriormente, selecione a conexão de ponto de extremidade e selecione o botão Rejeitar .

    Botão Rejeitar

  2. Na página Rejeitar conexão, insira um comentário opcional e selecione Sim. Se você selecionar Não, nada acontece.

    Rejeitar página de conexão

  3. Você deve ver o status da conexão na lista alterada Rejeitado.

    Ponto final rejeitado

Remover uma conexão de ponto de extremidade privada

  1. Para remover uma conexão de ponto de extremidade privada, selecione-a na lista e selecione Remover na barra de ferramentas.

    Botão Remover

  2. 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.

    Excluir página de conexão

  3. Você verá o status alterado para Desconectado. Em seguida, o ponto de extremidade desaparece da lista.

Você deve validar se os recursos dentro da rede virtual do ponto de extremidade privado estão se conectando ao seu namespace do Service Bus 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:

  1. Especifique Rede virtual e Sub-rede. Você deve selecionar a Rede Virtual na qual implantou o ponto de extremidade privado.
  2. Especifique um recurso IP público.
  3. Para o grupo de segurança de rede NIC, selecione Nenhum.
  4. Para Balanceamento de carga, selecione Não.

Conecte-se à VM, abra a linha de comando e execute o seguinte comando:

nslookup <service-bus-namespace-name>.servicebus.windows.net

Você verá um resultado semelhante ao seguinte.

Non-authoritative answer:
Name:    <service-bus-namespace-name>.privatelink.servicebus.windows.net
Address:  10.0.0.4 (private IP address associated with the private endpoint)
Aliases:  <service-bus-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 do Service Bus: 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

Próximos passos