Permitir o acesso a espaços de nomes Azure Service Bus através de pontos finais privados

Azure Private Link Service permite-lhe aceder aos serviços do Azure (por exemplo, Azure Service Bus, Armazenamento do Azure e Azure Cosmos DB) e serviços de cliente/parceiro alojados no Azure através de um ponto final privado na 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, colocando efetivamente o serviço 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. Pode ligar-se a uma instância de um recurso do Azure, o que lhe dá o nível mais elevado de granularidade no controlo de acesso.

Para obter mais informações, consulte O que é Azure Private Link?

Pontos importantes

  • Esta funcionalidade é suportada com o escalão premium do Azure Service Bus. Para obter mais informações sobre o escalão premium, veja o artigo Escalões de mensagens Premium e Standard do Service Bus .

  • A implementação de pontos finais privados pode impedir que outros serviços do Azure interajam com o Service Bus. Como exceção, pode permitir o acesso aos recursos do Service Bus a partir de determinados serviços fidedignos , mesmo quando os pontos finais privados estão ativados. Para obter uma lista de serviços fidedignos, veja Serviços fidedignos.

    Os seguintes serviços Microsoft têm de estar numa rede virtual

    • Serviço de Aplicações do Azure
    • Funções do Azure
  • Especifique , pelo menos, uma regra de IP ou uma regra de rede virtual para o espaço de nomes permitir o tráfego apenas a partir dos endereços IP especificados ou da sub-rede de uma rede virtual. Se não existirem regras de IP e de rede virtual, o espaço de nomes pode ser acedido através da Internet pública (utilizando a chave de acesso).

Adicionar um ponto final privado com portal do Azure

Pré-requisitos

Para integrar um espaço de nomes do Service Bus com Azure Private Link, precisa das seguintes entidades ou permissões:

  • Um espaço de nomes do Service Bus.
  • Uma rede virtual do Azure.
  • Uma sub-rede na rede virtual. Pode utilizar a sub-rede predefinida .
  • Permissões de proprietário ou contribuidor para o espaço de nomes do Service Bus e a rede virtual.

O ponto final privado e a rede virtual têm de estar na mesma região. Quando seleciona uma região para o ponto final privado através do portal, esta filtrará automaticamente apenas as redes virtuais nessa região. O espaço de nomes do Service Bus pode estar numa região diferente. Além disso, o ponto final privado utiliza um endereço IP privado na sua rede virtual.

Configurar o acesso privado ao criar um espaço de nomes

Ao criar um espaço de nomes, pode permitir apenas acesso público (a partir de todas as redes) ou apenas privado (apenas através de pontos finais privados) ao espaço de nomes.

Se selecionar a opção Acesso privado na página Rede do assistente de criação de espaço de nomes, pode adicionar um ponto final privado na página ao selecionar o botão + Ponto final privado . Veja a secção seguinte para obter os passos detalhados para adicionar um ponto final privado.

Captura de ecrã a mostrar a página Rede do assistente Criar espaço de nomes com a opção Acesso privado selecionada.

Configurar o acesso privado para um espaço de nomes existente

Se já tiver um espaço de nomes existente, pode criar um ponto final privado ao seguir estes passos:

  1. Inicie sessão no portal do Azure.

  2. Na barra de pesquisa, escreva Service Bus.

  3. Selecione o espaço de nomes na lista à qual pretende adicionar um ponto final privado.

  4. No menu esquerdo, selecione a opção Rede em Definições.

    Nota

    Verá o separador Rede apenas para espaços de nomes premium .

  5. Na página Rede , para Acesso à rede pública, selecione Desativado se pretender que o espaço de nomes seja acedido apenas através de pontos finais privados.

  6. Em Permitir que os serviços Microsoft fidedignos ignorem esta firewall, selecione Sim se quiser permitir que os serviços Microsoft fidedignos ignorem esta firewall.

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

  7. Para permitir o acesso ao espaço de nomes através de pontos finais privados, selecione o separador Ligações de ponto final 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 estes passos:

    1. Selecione a subscrição do Azure na qual pretende criar o ponto final privado.

    2. Selecione o grupo de recursos do recurso de ponto final privado.

    3. Introduza um nome para o ponto final privado.

    4. Introduza um nome para a interface de rede.

    5. Selecione uma região para o ponto final privado. O ponto final privado tem de estar na mesma região que a sua rede virtual, mas pode estar numa região diferente do recurso de ligação privada ao qual se está a ligar.

    6. Selecione Seguinte: botão Recurso > na parte inferior da página.

      Captura de ecrã a mostrar a página Noções básicas do assistente Criar ponto final privado.

  10. Na página Recurso, reveja as definições e selecione Seguinte: Rede Virtual na parte inferior da página.

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

  11. Na página Rede Virtual, selecione a sub-rede numa rede virtual para onde pretende implementar o ponto final 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 que selecionou.
    3. Repare que a política de rede para pontos finais privados está desativada . Se quiser ativá-la, selecione editar, atualize a definição e selecione Guardar.
    4. Para a configuração do IP Privado, por predefiniçã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 aplicações, selecione um grupo de segurança de aplicação existente ou crie um que esteja associado ao ponto final privado.
    6. Selecione Seguinte: botão DNS > na parte inferior da página.

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

  12. Na página DNS , selecione se pretende que o ponto final privado seja integrado numa zona DNS privada e, em seguida, selecione Seguinte: Etiquetas.

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

  13. Na página Etiquetas , crie quaisquer etiquetas (nomes e valores) que pretenda associar ao recurso de ponto final 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 final privado.

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

  15. Confirme que o ponto final privado foi criado. Se for o proprietário do recurso e tiver selecionado Ligar a um recurso do Azure na opção do meu diretório para o Método de ligação, a ligação de ponto final deverá ser aprovada automaticamente. Se estiver no estado pendente, veja a secção Gerir pontos finais privados com portal do Azure.

    Ponto final privado criado

Serviços Microsoft fidedignos

Quando ativa a definição Permitir serviços Microsoft fidedignos para ignorar esta firewall , é concedido aos seguintes serviços acesso aos seus recursos do Service Bus.

Serviço fidedigno Cenários de utilização suportados
Azure Event Grid Permite Azure Event Grid enviar eventos para filas ou tópicos no seu espaço de nomes do Service Bus. Também tem de efetuar os seguintes passos:
  • Ativar a identidade atribuída pelo sistema para um tópico ou domínio
  • Adicionar a identidade à função Azure Service Bus Remetente de Dados no espaço de nomes do Service Bus
  • Em seguida, configure a subscrição de eventos que utiliza uma fila ou tópico do Service Bus como um ponto final para utilizar a identidade atribuída pelo sistema.

Para obter mais informações, veja Entrega de eventos com uma identidade gerida

Azure Stream Analytics Permite que uma tarefa do Azure Stream Analytics produza dados para as filas do Service Bus para tópicos.

Importante: a tarefa do Stream Analytics deve ser configurada para utilizar uma identidade gerida para aceder ao espaço de nomes do Service Bus. Adicione a identidade à função Azure Service Bus Remetente de Dados no espaço de nomes do Service Bus.

Hub IoT do Azure Permite que um hub IoT envie mensagens para filas ou tópicos no seu espaço de nomes do Service Bus. Também tem de efetuar os seguintes passos:
Gestão de API do Azure

O serviço Gestão de API permite-lhe enviar mensagens para uma fila/tópico do Service Bus no seu Espaço de Nomes do Service Bus.

Azure IoT Central

Permite que o IoT Central exporte dados para filas ou tópicos do Service Bus no seu espaço de nomes do Service Bus. Também tem de efetuar os seguintes passos:

  • Ativar a identidade atribuída pelo sistema para a sua aplicação do IoT Central
  • Adicione a identidade à função Azure Service Bus Remetente de Dados no espaço de nomes do Service Bus.
  • Em seguida, configure o destino de exportação do Service Bus na sua aplicação IoT Central para utilizar a autenticação baseada em identidades.
Azure Digital Twins Permite que o Azure Digital Twins envie dados para os tópicos do Service Bus no seu espaço de nomes do Service Bus. Também tem de efetuar os seguintes passos:

  • Ative a identidade atribuída pelo sistema para a sua instância do Azure Digital Twins.
  • Adicione a identidade à função Azure Service Bus Remetente de Dados no espaço de nomes do Service Bus.
  • Em seguida, configure um ponto final do Azure Digital Twins ou uma ligação do histórico de dados do Azure Digital Twins que utilize a identidade atribuída pelo sistema para autenticar. Para obter mais informações sobre como configurar pontos finais e rotas de eventos para recursos do Service Bus a partir do Azure Digital Twins, veja Encaminhar eventos do Azure Digital Twins e Criar pontos finais no Azure Digital Twins.
Azure Monitor (Definições de Diagnóstico e Grupos de Ações) Permite que o Azure Monitor envie informações de diagnóstico e notificações de alertas para o Service Bus no seu espaço de nomes do Service Bus. O Azure Monitor pode ler e escrever dados no espaço de nomes do Service Bus.
Azure Synapse Permite Azure Synapse ligar ao service bus com a Identidade Gerida da Área de Trabalho do Synapse. Adicione a Azure Service Bus função Remetente, Recetor ou Proprietário à identidade no espaço de nomes do Service Bus.

Os outros serviços fidedignos para Azure Service Bus 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

Para permitir que os serviços fidedignos acedam ao seu espaço de nomes, mude para o separador Acesso Público na página Rede e selecione Sim para Permitir que os serviços Microsoft fidedignos ignorem esta firewall?.

Adicionar um ponto final privado com o PowerShell

O exemplo seguinte mostra-lhe como utilizar Azure PowerShell para criar uma ligação de ponto final privado a um espaço de nomes 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, o ponto final privado utiliza um endereço IP privado na 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


Gerir pontos finais privados com portal do Azure

Quando cria um ponto final privado, a ligação tem de ser aprovada. Se o recurso para o qual está a criar um ponto final privado estiver no seu diretório, pode aprovar o pedido de ligação desde que tenha permissões suficientes. Se estiver a ligar a um recurso do Azure noutro diretório, tem de aguardar que o proprietário desse recurso aprove o seu pedido de ligação.

Existem quatro estados de aprovisionamento:

Ação do serviço Estado do ponto final privado do consumidor do serviço Descrição
Nenhum Pendente A ligação é criada manualmente e está pendente da aprovação do proprietário do recurso Private Link.
Aprovar Aprovado A ligação foi aprovada automaticamente ou manualmente e está pronta para ser utilizada.
Rejeitar Rejeitado A ligação foi rejeitada pelo proprietário do recurso de ligação privada.
Remover Desligado A ligação foi removida pelo proprietário do recurso de ligação privada, o ponto final privado torna-se informativo e deve ser eliminado para limpeza.

Aprovar, rejeitar ou remover uma ligação de ponto final privado

  1. Inicie sessão no portal do Azure.
  2. Na barra de pesquisa, escreva Service Bus.
  3. Selecione o espaço de nomes que pretende gerir.
  4. Selecione o separador Rede.
  5. Veja a secção seguinte adequada com base na operação que pretende: aprovar, rejeitar ou remover.

Aprovar uma ligação de ponto final privado

  1. Se existirem ligações pendentes, verá uma ligação listada com Pendente no estado de aprovisionamento.

  2. Selecione o ponto final privado que pretende aprovar

  3. Selecione o botão Aprovar .

    Aprovar ponto final privado

  4. Na página Aprovar ligação , introduza um comentário opcional e selecione Sim. Se selecionar Não, nada acontece.

    Aprovar página de ligação

  5. Deverá ver o estado da ligação na lista alterado para Aprovado.

    Estado da ligação - aprovado

Rejeitar uma ligação de ponto final privado

  1. Se existirem ligações de ponto final privados que pretenda rejeitar, quer se trate de um pedido pendente ou de uma ligação existente que tenha sido aprovada anteriormente, selecione a ligação do ponto final e selecione o botão Rejeitar .

    Botão Rejeitar

  2. Na página Rejeitar ligação , introduza um comentário opcional e selecione Sim. Se selecionar Não, nada acontece.

    Rejeitar página de ligação

  3. Deverá ver o estado da ligação na lista alterado Rejeitado.

    Ponto final rejeitado

Remover uma ligação de ponto final privado

  1. Para remover uma ligação de ponto final privado, selecione-a na lista e selecione Remover na barra de ferramentas.

    Botão Remover

  2. Na página Eliminar ligação , selecione Sim para confirmar a eliminação do ponto final privado. Se selecionar Não, nada acontece.

    Eliminar página de ligação

  3. Deverá ver o estado alterado para Desligado. Em seguida, o ponto final desaparece da lista.

Deve validar que os recursos na rede virtual do ponto final privado estão a ligar-se ao espaço de nomes do Service Bus através de um endereço IP privado e que têm a integração da zona DNS privada correta.

Primeiro, crie uma máquina virtual ao seguir os passos em Criar uma máquina virtual do Windows no portal do Azure

No separador Rede :

  1. Especifique Rede virtual e Sub-rede. Tem de selecionar o Rede Virtual no qual implementou o ponto final privado.
  2. Especifique um recurso de IP público .
  3. Para o grupo de segurança de rede NIC, selecione Nenhum.
  4. Para Balanceamento de carga, selecione Não.

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

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

Deverá 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, veja preços de Azure Private Link.
  • Esta funcionalidade está disponível em todas as regiões públicas do Azure.
  • Número máximo de pontos finais privados por espaço de nomes do Service Bus: 120.
  • O tráfego é bloqueado na camada da aplicação, não na camada TCP. Por conseguinte, verá ligações TCP ou nslookup operações com êxito no ponto final público, mesmo que o acesso público esteja desativado.

Para obter mais informações, veja Azure Private Link service: Limitations (Serviço Azure Private Link: Limitações)

Passos seguintes