Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Pode utilizar pontos finais privados para permitir a ingestão de eventos diretamente da sua rede virtual para os seus tópicos e domínios personalizados, com segurança, através de uma ligação privada, sem passar pela internet pública. O ponto final privado utiliza um endereço IP do espaço de endereços da rede virtual para o seu tópico ou domínio personalizado. Para obter mais informações conceituais, consulte Segurança de rede.
Este artigo descreve como configurar pontos finais privados para tópicos personalizados ou domínios personalizados.
Nota
Atualmente, os pontos de extremidade privados não são suportados para tópicos do sistema.
Utilizar o portal do Azure
Esta seção mostra como usar o portal do Azure para criar um ponto de extremidade privado para um tópico ou domínio.
Nota
As etapas mostradas nesta seção são principalmente para tópicos personalizados. Você pode usar etapas semelhantes para criar pontos de extremidade privados para domínios.
Para um novo tema
Esta seção mostra como habilitar o acesso à rede privada para um tópico de Grade de Eventos ou um domínio. Para obter instruções passo a passo para criar um novo tópico, consulte Criar um tópico personalizado.
Na página Basics do assistente Criar tópico , preencha os campos necessários e depois selecione Próximo: Networking.
Para permitir o acesso ao tópico Grade de Eventos por meio de um ponto de extremidade privado, selecione a opção Acesso privado .
Na seção Private endpoint connections, selecione + Private endpoint button.
Na página Criar ponto de extremidade privado, siga estes passos:
- Em Nome, insira um nome para 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.
- Selecione se deseja que o ponto de extremidade privado seja integrado a uma zona DNS privada.
- Selecione OK.
Agora, na página Criar tópico , selecione Revisão + criar na parte inferior da página.
Na página Rever + criar, selecione Criar.
Para um tópico existente
Entre no portal do Azure e navegue até seu tópico ou domínio.
Mude para o separador Rede da sua página de tópico. No separador Acesso público, selecione Apenas pontos finais privados.
Alterne para a guia Conexões de ponto de extremidade privado e selecione + Ponto de extremidade privado na barra de ferramentas.
Na página Noções básicas, siga estas etapas:
Selecione uma assinatura do Azure na qual você deseja criar o ponto de extremidade privado.
Selecione um grupo de recursos do Azure para o ponto de extremidade privado.
Introduza um nome para o endpoint.
Atualize o nome da interface de rede, se necessário.
Selecione a região para o ponto de extremidade. O seu endpoint privado deve estar na mesma região da sua rede virtual, mas pode estar numa região diferente do recurso de ligação privada (neste exemplo, um tópico de Event Grid).
Selecionar Próximo: Recurso >.
Na página de Recursos, confirme que o tema foi selecionado para o sub-recurso Alvo e depois selecione Próximo: Rede Virtual >.
Na página da Rede Virtual, selecione a sub-rede numa virtual network onde pretende implementar o endpoint 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.
Especifique se deseja que o endereço IP seja alocado estaticamente ou dinamicamente.
Selecione um grupo de segurança de aplicativo existente ou crie um e associe-o ao ponto de extremidade privado.
Selecionar Próximo: DNS >.
Na página DNS , selecione se quer que o endpoint privado seja integrado com uma zona DNS privada e depois selecione Próximo: Tags.
Na página Etiquetas, crie quaisquer etiquetas (nomes e valores) que pretenda associar ao recurso de ponto de extremidade privado. Em seguida, selecione Analisar + criar.
No separador Rever e criar, reveja todas as definições e selecione Criar para criar o ponto final privado.
Gerir ligação privada
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 de serviço | Estado do ponto final privado do consumidor de serviço | Descrição |
|---|---|---|
| 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 | Desconectado | A ligação foi removida pelo proprietário do recurso de ligação privada; o ponto final privado passa a ser apenas informativo e deve ser eliminado para efeitos de limpeza. |
Como gerir uma ligação de ponto final privado
As seções a seguir mostram como aprovar ou rejeitar uma conexão de ponto de extremidade privada.
- Inicie sessão no portal do Azure.
- Na barra de pesquisa, insira tópicos da Grelha de Eventos ou domínios da Grelha de Eventos.
- Selecione o tópico ou domínioque deseja gerenciar.
- Selecione o separador Ligação em rede.
- Se houver conexões pendentes, você verá uma conexão listada com Pendente no estado de provisionamento.
Para aprovar um ponto de extremidade privado
Pode aprovar um ponto final privado que esteja pendente. Para aprovar, siga estes passos:
Nota
As etapas mostradas nesta seção são principalmente para tópicos. Você pode usar etapas semelhantes para aprovar pontos de extremidade privados para domínios.
Selecione o endpoint privado que quer aprovar e selecione Aprovar na barra de ferramentas.
Na caixa de diálogo Aprovar conexão, insira um comentário (opcional) e selecione Sim.
Confirme que o estado do endpoint aparece como Aprovado.
Para rejeitar um ponto de extremidade privado
Você pode rejeitar um ponto de extremidade privado que esteja no estado pendente ou no estado aprovado. Para rejeitar, siga estes passos:
Nota
As etapas mostradas nesta seção são para tópicos. Pode utilizar passos semelhantes para rejeitar pontos finais privados para domínios.
Seleciona o endpoint privado que queres rejeitar e seleciona Rejeitar na barra de ferramentas.
Na caixa de diálogo Rejeitar conexão, insira um comentário (opcional) e selecione Sim.
Confirme que o estado do endpoint aparece como Rejeitado.
Nota
Não é possível aprovar um ponto de extremidade privado no portal do Azure depois que ele for rejeitado.
Utilizar a CLI do Azure
Pré-requisitos
Atualize a extensão da Grade de Eventos do Azure para CLI executando o seguinte comando:
az extension update -n eventgrid
Se a extensão não estiver instalada, execute o seguinte comando para instalá-la:
az extension add -n eventgrid
Criar um ponto final privado
Para criar um ponto final privado, utilize o método az network private-endpoint create, como mostrado no exemplo seguinte:
az network private-endpoint create \
--resource-group <RESOURCE GROUP NAME> \
--name <PRIVATE ENDPOINT NAME> \
--vnet-name <VIRTUAL NETWORK NAME> \
--subnet <SUBNET NAME> \
--private-connection-resource-id "/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.EventGrid/topics/<TOPIC NAME>" \
--connection-name <PRIVATE LINK SERVICE CONNECTION NAME> \
--location <LOCATION> \
--group-ids topic
Para obter descrições dos parâmetros usados no exemplo, consulte a documentação para az network private-endpoint create. Alguns pontos a serem observados neste exemplo são:
- Para
private-connection-resource-id, especifique a ID do recurso do tópico ou domínio. O exemplo anterior usa o type: topic. - Para
group-ids, especificatopicoudomain. No exemplo anterior,topicé usado.
Para eliminar uma extremidade privada, utilize o método az network private-endpoint delete, conforme mostrado no exemplo seguinte:
az network private-endpoint delete --resource-group <RESOURCE GROUP NAME> --name <PRIVATE ENDPOINT NAME>
Nota
As etapas mostradas nesta seção são para tópicos. Você pode usar etapas semelhantes para criar pontos de extremidade privados para domínios.
Script de exemplo
Aqui está um script de exemplo que cria os seguintes recursos do Azure:
- Grupo de recursos
- Rede virtual
- Sub-rede da rede virtual
- Tópico do Azure Event Grid
- Ponto final privado para o tópico
Nota
As etapas mostradas nesta seção são para tópicos. Você pode usar etapas semelhantes para criar pontos de extremidade privados para domínios.
subscriptionID="<AZURE SUBSCRIPTION ID>"
resourceGroupName="<RESOURCE GROUP NAME>"
location="<LOCATION>"
vNetName="<VIRTUAL NETWORK NAME>"
subNetName="<SUBNET NAME>"
topicName = "<TOPIC NAME>"
connectionName="<ENDPOINT CONNECTION NAME>"
endpointName=<ENDPOINT NAME>
# resource ID of the topic. replace <SUBSCRIPTION ID>, <RESOURCE GROUP NAME>, and <TOPIC NAME>
# topicResourceID="/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.EventGrid/topics/<TOPIC NAME>"
# select subscription
az account set --subscription $subscriptionID
# create resource group
az group create --name $resourceGroupName --location $location
# create vnet
az network vnet create \
--resource-group $resourceGroupName \
--name $vNetName \
--address-prefix 10.0.0.0/16
# create subnet
az network vnet subnet create \
--resource-group $resourceGroupName \
--vnet-name $vNetName \
--name $subNetName \
--address-prefixes 10.0.0.0/24
# disable private endpoint network policies for the subnet
az network vnet subnet update \
--resource-group $resourceGroupName \
--vnet-name $vNetName \
--name $subNetName \
--disable-private-endpoint-network-policies true
# create event grid topic. update <LOCATION>
az eventgrid topic create \
--resource-group $resourceGroupName \
--name $topicName \
--location $location
# verify that the topic was created.
az eventgrid topic show \
--resource-group $resourceGroupName \
--name $topicName
# create private endpoint for the topic you created
az network private-endpoint create \
--resource-group $resourceGroupName \
--name $endpointName \
--vnet-name $vNetName \
--subnet $subNetName \
--private-connection-resource-id $topicResourceID \
--connection-name $connectionName \
--location $location \
--group-ids topic
# get topic
az eventgrid topic show \
--resource-group $resourceGroupName \
--name $topicName
Aprovar um ponto final privado
O exemplo de código da CLI seguinte mostra-lhe como aprovar uma ligação de extremidade privada.
az eventgrid topic private-endpoint-connection approve \
--resource-group $resourceGroupName \
--topic-name $topicName \
--name $endpointName \
--description "connection approved"
Rejeitar um ponto de extremidade privado
O trecho de exemplo de CLI a seguir mostra como rejeitar uma conexão de ponto de extremidade privada.
az eventgrid topic private-endpoint-connection reject \
--resource-group $resourceGroupName \
--topic-name $topicName \
--name $endpointName \
--description "Connection rejected"
Desativar o acesso à rede pública
Por padrão, o acesso à rede pública está habilitado para um tópico ou domínio da Grade de Eventos. Para permitir o acesso apenas através de pontos de extremidade privados, desative o acesso à rede pública executando o seguinte comando:
az eventgrid topic update \
--resource-group $resourceGroupName \
--name $topicName \
--public-network-access disabled
Utilizar o PowerShell
Esta seção mostra como criar um ponto de extremidade privado para um tópico ou domínio usando o PowerShell. Aqui está um exemplo de script com comentários.
# name of an Azure resource group to be created
$resourceGroupName = "contosorg"
# location where you want the resources to be created
$location ="eastus"
# name of the VNet to be created
$vnetName = "contosovnet"
# name of the subnet to be created in the VNet
$subnetName = "example-privatelinksubnet"
# name of the Event Grid topic to be created
$egridTopicName = "contosotopic"
# name of the private link service connection to be created
$privateLinkServiceConnectionName = "spegridplsconn"
# name of the private endpoint connection to be created
$privateEndpointConnectionName = "spegridpe11"
#
# create resource group
New-AzResourceGroup -Name $resourceGroupName -Location $location
# create virtual network
$virtualNetwork = New-AzVirtualNetwork `
-ResourceGroupName $resourceGroupName `
-Location $location `
-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
# get virtual network (optional)
$virtualNetwork = Get-AzVirtualNetwork `
-ResourceGroupName $resourceGroupName `
-Name $vnetName
# create an Event Grid topic with public network access disabled.
$topic = New-AzEventGridTopic -ResourceGroupName $resourceGroupName -Name $egridTopicName -Location $location -PublicNetworkAccess disabled
# create a private link service connection to the Event Grid topic.
# For topics, set GroupId to 'topic'. For domains, it's 'domain'
$privateEndpointConnection = New-AzPrivateLinkServiceConnection `
-Name "privateLinkServiceConnectionName" `
-PrivateLinkServiceId $topic.id `
-GroupId "topic"
# get subnet info
$subnet = $virtualNetwork | Select -ExpandProperty subnets `
| Where-Object {$_.Name -eq $subnetName }
# now, you are ready to create a private endpoint
$privateEndpoint = New-AzPrivateEndpoint -ResourceGroupName $resourceGroupName `
-Name privateEndpointConnectionName `
-Location $location `
-Subnet $subnet `
-PrivateLinkServiceConnection $privateEndpointConnection
# verify that the endpoint is created
Get-AzPrivateEndpoint -ResourceGroupName $resourceGroupName -Name privateEndpointConnectionName
Aprovar uma conexão de ponto de extremidade privada
O exemplo de código PowerShell seguinte mostra-lhe como aprovar um ponto final privado.
Nota
As etapas mostradas nesta seção são para tópicos. Você pode usar etapas semelhantes para aprovar pontos de extremidade privados para domínios.
# list all private endpoints for the topic
$topic = Get-AzEventGridTopic -ResourceGroup <RESOURCE GROUP NAME> - Name <TOPIC NAME>
$endpointList = Get-AzPrivateEndpointConnection -PrivateLinkResourceId $topic.Id
# filter the private endpoints using a name
$pseEndpoint = $endpointList | Where-Object { $_.Name.StartsWith('<MYENDPOINTNAME>') }
# approve the endpoint connection
Approve-AzPrivateEndpointConnection -ResourceId $pseEndpoint.Id
# get the endpoint connection to verify that it's approved
Get-AzPrivateEndpointConnection -ResourceId $pseEndpoint.Id
Rejeitar uma ligação de ponto final privado
O exemplo seguinte mostra como rejeitar um endpoint privado com o PowerShell. Pode obter o GUID para o ponto final privado no resultado do comando GET anterior.
Nota
As etapas mostradas nesta seção são para tópicos. Pode utilizar passos semelhantes para rejeitar pontos finais privados para domínios.
# list all private endpoints for the topic
$topic = Get-AzEventGridTopic -ResourceGroup <RESOURCE GROUP NAME> - Name <TOPIC NAME>
$endpointList = Get-AzPrivateEndpointConnection -PrivateLinkResourceId $topic.Id
# filter the private endpoints using a name
$pseEndpoint = $endpointList | Where-Object { $_.Name.StartsWith('<MYENDPOINT>') }
# deny or reject the private endpoint connection
Deny-AzPrivateEndpointConnection -ResourceId $pseEndpoint.Id
# get the endpoint connection to verify that it's rejected
Get-AzPrivateEndpointConnection -ResourceId $pseEndpoint.Id
Você pode aprovar a conexão mesmo depois que ela for rejeitada via API. Se usares o portal do Azure, não podes aprovar um endpoint que foi rejeitado.