Configurare endpoint privati per Griglia di eventi di Azure domini o argomenti personalizzati
È possibile usare endpoint privati per consentire l'ingresso di eventi direttamente dalla rete virtuale agli argomenti e ai domini personalizzati in modo sicuro tramite un collegamento privato senza passare attraverso la rete Internet pubblica. L'endpoint privato usa un indirizzo IP dallo spazio indirizzi della rete virtuale per l'argomento o il dominio personalizzato. Per altre informazioni concettuali, vedere Sicurezza di rete.
Questo articolo descrive come configurare endpoint privati per argomenti o domini personalizzati.
Nota
Attualmente, gli endpoint privati non sono supportati per gli argomenti di sistema.
Usare il portale di Azure
Questa sezione illustra come usare il portale di Azure per creare un endpoint privato per un argomento o un dominio.
Nota
I passaggi illustrati in questa sezione riguardano principalmente gli argomenti personalizzati. È possibile usare passaggi simili per creare endpoint privati per i domini.
Quando si crea un nuovo argomento
Questa sezione illustra come abilitare l'accesso alla rete privata per un argomento di Griglia di eventi o un dominio. Per istruzioni dettagliate su come creare un nuovo argomento, vedere Creare un argomento personalizzato.
Nella pagina Informazioni di base della creazione guidata argomento selezionare Avanti: Rete nella parte inferiore della pagina dopo aver compilato i campi obbligatori.
Per consentire l'accesso all'argomento di Griglia di eventi tramite un endpoint privato, selezionare l'opzione Accesso privato.
Nella sezione Connessioni endpoint privato selezionare il pulsante + Endpoint privato.
Nella pagina Crea endpoint privato seguire questa procedura:
- In Nome immettere un nome per l'endpoint privato.
- Selezionare una rete virtuale. Nell'elenco a discesa sono elencate solo le reti virtuali nella sottoscrizione e nella località attualmente selezionate.
- Selezionare una subnet nella rete virtuale selezionata.
- Selezionare se si vuole integrare l'endpoint privato con una zona DNS privata.
- Seleziona OK.
Nella pagina Crea argomento selezionare Rivedi e crea nella parte inferiore della pagina.
Nella pagina Rivedi e crea selezionare Crea.
Per un argomento esistente
Accedere al portale di Azure e passare all'argomento o al dominio.
Passare alla scheda Rete della pagina dell'argomento. Nella scheda Accesso pubblico selezionare Solo endpoint privati.
Passare alla scheda Connessioni endpoint privato e quindi selezionare + Endpoint privato sulla barra degli strumenti.
Nella pagina Informazioni di base seguire questa procedura:
Selezionare una sottoscrizione di Azure in cui si vuole creare l'endpoint privato.
Selezionare un gruppo di risorse di Azure per l'endpoint privato.
Immettere un nome per l'endpoint.
Aggiornare il nome per l'interfaccia di rete, se necessario.
Selezionare l'area per l'endpoint. L'endpoint privato deve trovarsi nella stessa area della rete virtuale, ma può trovarsi in un'area diversa dalla risorsa collegamento privato (in questo esempio, un argomento di Griglia di eventi).
Selezionare quindi il pulsante Avanti: Risorsa > nella parte inferiore della pagina.
Nella pagina Risorsa seguire questa procedura, verificare che l'argomento sia selezionato per Sotto-risorsa di destinazione e quindi selezionare Avanti: Rete virtuale > pulsante nella parte inferiore della pagina.
Nella pagina Rete virtuale si seleziona la subnet in una rete virtuale in cui si desidera distribuire l'endpoint privato.
Selezionare una rete virtuale. Nell'elenco a discesa sono elencate solo le reti virtuali nella sottoscrizione e nella località attualmente selezionate.
Selezionare una subnet nella rete virtuale selezionata.
Specificare se si vuole che l'indirizzo IP venga allocato in modo statico o dinamico.
Selezionare un gruppo di sicurezza delle applicazioni esistente o crearne uno e quindi associarsi all'endpoint privato.
Selezionare il pulsante Avanti: DNS > nella parte inferiore della pagina.
Nella pagina DNS selezionare se si vuole integrare l'endpoint privato con una zona DNS privata e quindi selezionare Avanti: Tag nella parte inferiore della pagina.
Nella pagina Tag creare i tag (nomi e valori) da associare alla risorsa endpoint privato. Selezionare quindi il pulsante Rivedi e crea nella parte inferiore della pagina.
In Rivedi e crea rivedere tutte le impostazioni e selezionare Crea per creare l'endpoint privato.
Gestire una connessione di collegamento privato
Quando si crea un endpoint privato, la connessione deve essere approvata. Se la risorsa per cui si sta creando un endpoint privato si trova nella propria directory, è possibile approvare la richiesta di connessione purché si abbiano autorizzazioni sufficienti. Se ci si sta connettendo a una risorsa di Azure in un'altra directory, è necessario attendere che il proprietario della risorsa approvi la richiesta di connessione.
Sono disponibili quattro stati di provisioning:
Azione del servizio | Stato dell'endpoint privato del consumer del servizio | Descrizione |
---|---|---|
Nessuna | In sospeso | La connessione viene creata manualmente ed è in attesa di approvazione dal proprietario della risorsa collegamento privato. |
Approvazione | Approvato | La connessione è stata approvata automaticamente o manualmente ed è pronta per essere usata. |
Rifiuto | Rifiutato | La connessione è stata rifiutata dal proprietario della risorsa di collegamento privato. |
Rimuovi | Disconnesso | La connessione è stata rimossa dal proprietario della risorsa di collegamento privato, l'endpoint privato diventa informativo e deve essere eliminato per la pulizia. |
Come gestire una connessione endpoint privato
Le sezioni seguenti illustrano come approvare o rifiutare una connessione endpoint privato.
- Accedere al portale di Azure.
- Nella barra di ricerca digitare argomenti di Griglia di eventi o domini di Griglia di eventi.
- Selezionare l'argomento o il dominio che si vuole gestire.
- Selezionare la scheda Rete.
- Se sono presenti connessioni in sospeso, verrà visualizzata una connessione elencata con In sospeso nello stato di provisioning.
Per approvare un endpoint privato
È possibile approvare un endpoint privato nello stato in sospeso. Per approvare, seguire questa procedura:
Nota
I passaggi illustrati in questa sezione riguardano principalmente gli argomenti. È possibile usare passaggi simili per approvare gli endpoint privati per i domini.
Selezionare l'endpoint privato da approvare e selezionare Approva sulla barra degli strumenti.
Nella finestra di dialogo Approva connessione immettere un commento (facoltativo) e selezionare Sì.
Verificare che lo stato dell'endpoint sia approvato.
Per rifiutare un endpoint privato
È possibile rifiutare un endpoint privato nello stato in sospeso o approvato. Per rifiutare, seguire questa procedura:
Nota
I passaggi illustrati in questa sezione sono relativi agli argomenti. È possibile usare passaggi simili per rifiutare gli endpoint privati per i domini.
Selezionare l'endpoint privato da rifiutare e selezionare Rifiuta sulla barra degli strumenti.
Nella finestra di dialogo Rifiuta connessione immettere un commento (facoltativo) e selezionare Sì.
Verificare che lo stato dell'endpoint sia Rifiutato.
Nota
Non è possibile approvare un endpoint privato nel portale di Azure una volta rifiutato.
Utilizzare l'interfaccia della riga di comando di Azure
Per creare un endpoint privato, usare il metodo az network private-endpoint create , come illustrato nell'esempio seguente:
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
Per le descrizioni dei parametri usati nell'esempio, vedere la documentazione per az network private-endpoint create. Alcuni punti da notare in questo esempio sono:
- Per
private-connection-resource-id
specificare l'ID risorsa dell'argomento o del dominio. Nell'esempio precedente viene usato il tipo: argomento . - per
group-ids
, specificaretopic
odomain
. Nell'esempiotopic
precedente viene usato .
Per eliminare un endpoint privato, usare il metodo az network private-endpoint delete , come illustrato nell'esempio seguente:
az network private-endpoint delete --resource-group <RESOURCE GROUP NAME> --name <PRIVATE ENDPOINT NAME>
Nota
I passaggi illustrati in questa sezione sono relativi agli argomenti. È possibile usare passaggi simili per creare endpoint privati per i domini.
Prerequisiti
Aggiornare l'estensione Griglia di eventi di Azure per l'interfaccia della riga di comando eseguendo il comando seguente:
az extension update -n eventgrid
Se l'estensione non è installata, eseguire il comando seguente per installarla:
az extension add -n eventgrid
Creare un endpoint privato
Per creare un endpoint privato, usare il metodo az network private-endpoint create , come illustrato nell'esempio seguente:
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
Per le descrizioni dei parametri usati nell'esempio, vedere la documentazione per az network private-endpoint create. Alcuni punti da notare in questo esempio sono:
- Per
private-connection-resource-id
specificare l'ID risorsa dell'argomento o del dominio. Nell'esempio precedente viene usato il tipo: argomento . - per
group-ids
, specificaretopic
odomain
. Nell'esempiotopic
precedente viene usato .
Per eliminare un endpoint privato, usare il metodo az network private-endpoint delete , come illustrato nell'esempio seguente:
az network private-endpoint delete --resource-group <RESOURCE GROUP NAME> --name <PRIVATE ENDPOINT NAME>
Nota
I passaggi illustrati in questa sezione sono relativi agli argomenti. È possibile usare passaggi simili per creare endpoint privati per i domini.
Script di esempio
Ecco uno script di esempio che crea le risorse di Azure seguenti:
- Gruppo di risorse
- Rete virtuale
- Subnet nella rete virtuale
- Griglia di eventi di Azure argomento
- Endpoint privato per l'argomento
Nota
I passaggi illustrati in questa sezione sono relativi agli argomenti. È possibile usare passaggi simili per creare endpoint privati per i domini.
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
Approvare un endpoint privato
Il frammento di interfaccia della riga di comando di esempio seguente illustra come approvare una connessione endpoint privato.
az eventgrid topic private-endpoint-connection approve \
--resource-group $resourceGroupName \
--topic-name $topicName \
--name $endpointName \
--description "connection approved"
Rifiutare un endpoint privato
Il frammento di interfaccia della riga di comando di esempio seguente illustra come rifiutare una connessione endpoint privato.
az eventgrid topic private-endpoint-connection reject \
--resource-group $resourceGroupName \
--topic-name $topicName \
--name $endpointName \
--description "Connection rejected"
Disabilitare l'accesso alla rete pubblica
Per impostazione predefinita, l'accesso alla rete pubblica è abilitato per un argomento o un dominio di Griglia di eventi. Per consentire l'accesso solo tramite endpoint privati, disabilitare l'accesso alla rete pubblica eseguendo il comando seguente:
az eventgrid topic update \
--resource-group $resourceGroupName \
--name $topicName \
--public-network-access disabled
Utilizzare PowerShell
Questa sezione illustra come creare un endpoint privato per un argomento o un dominio usando PowerShell. Ecco uno script di esempio con commenti.
# 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
Approvare una connessione endpoint privato
Il frammento di codice di PowerShell di esempio seguente illustra come approvare un endpoint privato.
Nota
I passaggi illustrati in questa sezione sono relativi agli argomenti. È possibile usare passaggi simili per approvare gli endpoint privati per i domini.
# 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
Rifiutare una connessione endpoint privato
L'esempio seguente illustra come rifiutare un endpoint privato usando PowerShell. È possibile ottenere il GUID per l'endpoint privato dal risultato del comando GET precedente.
Nota
I passaggi illustrati in questa sezione sono relativi agli argomenti. È possibile usare passaggi simili per rifiutare gli endpoint privati per i domini.
# 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
È possibile approvare la connessione anche dopo che è stata rifiutata tramite API. Se si usa portale di Azure, non è possibile approvare un endpoint rifiutato.
Contenuto correlato
- Per informazioni su come configurare le impostazioni del firewall IP, vedere Configurare il firewall IP per Griglia di eventi di Azure argomenti o domini.
- Per risolvere i problemi di connettività di rete, vedere Risolvere i problemi di connettività di rete