Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
É possível usar pontos de extremidade privados para permitir o ingresso de eventos diretamente da sua rede virtual para seus tópicos personalizados e domínios com segurança por meio de um link privado, sem passar pela Internet pública. O ponto de extremidade privado usa um endereço IP do espaço de endereço da rede virtual para o domínio ou tópico personalizado. Para obter mais informações conceituais, consulte Segurança de rede.
Este artigo descreve como configurar pontos de extremidade privados para tópicos ou domínios personalizados.
Observação
Atualmente, não há suporte para pontos de extremidade privados em tópicos do sistema.
Usar 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.
Observação
As etapas mostradas nesta seção são principalmente para tópicos personalizados. É possível usar etapas semelhantes para criar pontos de extremidade privados para domínios.
Para um novo tópico
Esta seção mostra como habilitar o acesso à rede privada para um tópico da 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 Noções básicas do assistente Criar tópico , preencha os campos necessários e selecione Avançar: Rede.
Para permitir o acesso ao tópico da Grade de Eventos por meio de um ponto de extremidade privado, selecione a opção Acesso privado.
Na seção Conexões de pontos de extremidade privados, selecione o botão + Ponto de extremidade privado.
Na página Criar ponto de extremidade privado, siga essas etapas:
- Em Nome, insira um nome para o ponto de extremidade privado.
- Selecione uma rede virtual. São listadas somente as redes virtuais na assinatura e na localização selecionadas no momento na lista suspensa.
- Selecione uma sub-rede na rede virtual que você selecionou.
- 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 Examinar + criar na parte inferior da página.
Na página Examinar + criar escolha Criar.
Para um tópico existente
Entre no portal do Azure e navegue até o tópico ou domínio.
Mude para a aba Rede da página do seu tópico. Na guia Acesso Público , selecione somente pontos de extremidade privados.
Alterne para a guia Conexões de ponto de extremidade privado e, em seguida, selecione + Ponto de extremidade privado na barra de ferramentas.
Na página Básico, siga estas etapas:
Selecione a Assinatura do Azure na qual deseja criar o ponto de extremidade privado.
Selecione um grupo de recursos do Azure para ponto de extremidade privado.
Insira um nome para o ponto de extremidade.
Atualize o nome da interface de rede, se necessário.
Selecione a Região para o ponto de extremidade. 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 (neste exemplo, um tópico da Grade de Eventos).
Selecione Avançar: Recurso >.
Na página Recurso, confirme se o tópico está selecionado para o sub-recurso de destino e selecione Avançar: Rede Virtual >.
Na página Rede Virtual, selecione a sub-rede em um virtual network em que você deseja implantar o ponto de extremidade privado.
Selecione uma rede virtual. São listadas somente as redes virtuais na assinatura e na localização selecionadas no momento na lista suspensa.
Selecione uma sub-rede na rede virtual que você selecionou.
Especifique se você deseja que o endereço IP seja alocado de forma estática ou dinâmica.
Selecione um grupo de segurança de aplicativos existente ou crie um e associe-o ao ponto de extremidade privado.
Selecione Avançar: DNS >.
Na página DNS , selecione se deseja que o ponto de extremidade privado seja integrado a uma zona DNS privada e selecione Avançar: Marcas.
Na página Marcas, crie quaisquer marcas (nomes e valores) que você deseja associar ao recurso de ponto de extremidade privado. Em seguida, selecione Examinar + criar.
Em Revisar + criar, examine todas as configurações e selecione Criar para criar o ponto de extremidade privado.
Gerenciar conexão de link privado
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ê pode aprovar a solicitação de conexão desde que tenha permissões suficientes. Se estiver se conectando a um recurso do Azure em outro diretório, você deve aguardar o proprietário desse recurso aprovar a sua solicitação de conexão.
Há quatro estados de provisionamento:
| Ação de serviço | Estado de ponto de extremidade privado do consumidor do serviço | Descrição |
|---|---|---|
| Nenhum | Pendente | A conexão é criada manualmente e está pendente de aprovação pelo proprietário do recurso do Link privado. |
| Aprovar | Aprovado | A conexão foi aprovada automaticamente ou manualmente e está pronta para ser usada. |
| Rejeitar | Rejeitado | A conexão foi rejeitada pelo proprietário do recurso do link privado. |
| Remover | Desconectado | A conexão foi removida pelo proprietário do recurso do link privado, o ponto de extremidade privado se torna informativo e deve ser excluído para limpeza. |
Como gerenciar uma conexão de endpoint privado
As seções a seguir mostram como aprovar ou rejeitar uma conexão de ponto de extremidade privado.
- Entre no portal do Azure.
- Na barra de pesquisa, insira tópicos da Grade de Eventos ou domínios da Grade de Eventos.
- Selecione o tópico ou domínio que deseja gerenciar.
- Selecione a guia Rede.
- Se houver conexões pendentes, será exibida uma lista de conexões com estado de provisionamento Pendente.
Para aprovar um ponto de extremidade privado
É possível aprovar um ponto de extremidade privado no estado pendente. Para aprovar, siga estas etapas:
Observação
As etapas mostradas nesta seção são principalmente para tópicos. Você pode usar etapas semelhantes para aprovar endpoints privados para domínios.
Selecione o ponto de extremidade privado que você deseja 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 se o status do endpoint aparece como Aprovado.
Para rejeitar um ponto de extremidade privado
É possível rejeitar um ponto de extremidade privado que esteja nos estados pendente ou aprovado. Para rejeitar, siga estas etapas:
Observação
As etapas mostradas nesta seção são para tópicos. Você pode usar etapas semelhantes para rejeitar endpoints privados de domínios.
Selecione o ponto de extremidade privado que você deseja rejeitar e selecione Rejeitar na barra de ferramentas.
Na caixa de diálogo Rejeitar conexão, insira um comentário (opcional) e selecione Sim.
Confirme se o status do endpoint aparece como Rejeitado.
Observação
Não é possível aprovar um ponto de extremidade privado no portal do Azure depois que ele for rejeitado.
Usar a CLI do Azure
Pré-requisitos
Atualizar a extensão da Grade de Eventos do Azure para a CLI, executando o seguinte comando:
az extension update -n eventgrid
Se a extensão não estiver instalada, execute o comando a seguir para instalá-la:
az extension add -n eventgrid
Criar um endpoint privado
Para criar um ponto de extremidade privado, use o método az network private-endpoint create, conforme mostrado no exemplo a seguir:
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 de recurso do tópico ou domínio. O exemplo anterior usa o tipo: tópico. - Para
group-ids, especificartopicoudomain. No exemplo anterior,topicé usado.
Para excluir um ponto de extremidade privado, use o método az network private-endpoint delete, conforme mostrado no exemplo a seguir:
az network private-endpoint delete --resource-group <RESOURCE GROUP NAME> --name <PRIVATE ENDPOINT NAME>
Observação
As etapas mostradas nesta seção são para tópicos. É possível usar etapas semelhantes para criar pontos de extremidade privados para domínios.
Exemplo de script
Aqui está um script de exemplo que cria os seguintes recursos do Azure:
- Grupo de recursos
- Rede virtual
- Sub-rede na rede virtual
- Tópico do Grade de Eventos do Azure
- Ponto de extremidade privado para o tópico
Observação
As etapas mostradas nesta seção são para tópicos. É possível 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 endpoint privado
O exemplo de trecho de CLI a seguir mostra como aprovar uma conexão de endpoint privado.
az eventgrid topic private-endpoint-connection approve \
--resource-group $resourceGroupName \
--topic-name $topicName \
--name $endpointName \
--description "connection approved"
Rejeitar um endpoint privado
O trecho de código de exemplo da CLI a seguir mostra como rejeitar uma conexão de endpoint privado.
az eventgrid topic private-endpoint-connection reject \
--resource-group $resourceGroupName \
--topic-name $topicName \
--name $endpointName \
--description "Connection rejected"
Desabilitar o acesso de redes públicas
Por padrão, o acesso à rede pública é habilitado para um tópico ou domínio da Grade de Eventos. Para permitir o acesso somente por meio de pontos de extremidade privados, desabilite o acesso à rede pública executando o seguinte comando:
az eventgrid topic update \
--resource-group $resourceGroupName \
--name $topicName \
--public-network-access disabled
Usar o PowerShell
Esta seção mostra como criar um ponto de extremidade privado para um tópico ou domínio usando o PowerShell. Veja aqui um script de exemplo 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
Aprovação de uma conexão de ponto de extremidade privado
O snippet de código de exemplo do PowerShell a seguir mostra como aprovar uma conexão de ponto de extremidade privado.
Observação
As etapas mostradas nesta seção são para tópicos. Você pode usar etapas semelhantes para aprovar endpoints 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
Rejeição de uma conexão de ponto de extremidade privado
O exemplo a seguir mostra como rejeitar um ponto de extremidade privado usando o PowerShell. É possível obter o GUID do endpoint privado a partir do resultado do comando GET anterior.
Observação
As etapas mostradas nesta seção são para tópicos. Você pode seguir etapas semelhantes para rejeitar endpoints privados de 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
É possível aprovar a conexão mesmo depois que ela for rejeitada via API. Se usar portal do Azure, não poderá aprovar um ponto de extremidade que foi rejeitado.