Consentire l'accesso agli spazi dei nomi di Hub eventi di Azure tramite endpoint privati
Il servizio Collegamento privato di Azure consente di accedere ai servizi di Azure, ad esempio Hub eventi di Azure, Archiviazione di Azure e Azure Cosmos DB, e ai servizi di clienti/partner ospitati in Azure tramite un endpoint privato nella rete virtuale.
Un endpoint privato è un'interfaccia di rete che connette privatamente e in modo sicuro a un servizio basato su Collegamento privato di Azure. L'endpoint privato usa un indirizzo IP privato della rete virtuale, introducendo efficacemente il servizio nella rete virtuale. Tutto il traffico verso il servizio è instradato tramite l'endpoint privato, quindi non sono necessari gateway, dispositivi NAT, ExpressRoute o connessioni VPN oppure indirizzi IP pubblici. Il traffico tra la rete virtuale e il servizio attraversa la rete backbone Microsoft, impedendone l'esposizione alla rete Internet pubblica. È possibile connettersi a un'istanza di una risorsa di Azure, garantendo il massimo livello di granularità nel controllo di accesso.
Per altre informazioni, vedere Che cos'è Collegamento privato di Azure?.
Aspetti importanti
- Questa funzionalità non è supportata nel livello Basic.
- L'abilitazione di endpoint privati può impedire ad altri servizi di Azure di interagire con Hub eventi. Le richieste che vengono bloccate sono quelle che provengono da altri servizi di Azure, dal portale di Azure, dai servizi di registrazione e metriche e così via. In via del tutto eccezionale, è possibile consentire l'accesso alle risorse di Hub eventi da determinati servizi attendibili anche quando gli endpoint privati sono abilitati. Per un elenco dei servizi attendibili, vedere Servizi attendibili.
- Specificare almeno una regola IP o una regola di rete virtuale per lo spazio dei nomi per consentire il traffico solo dagli indirizzi IP o dalla subnet specificati di una rete virtuale. Se non sono presenti regole di rete virtuale e IP, è possibile accedere allo spazio dei nomi tramite Internet pubblico (usando la chiave di accesso).
Aggiungere un endpoint privato con il portale di Azure
Prerequisiti
Per integrare uno spazio dei nomi di Hub eventi con Collegamento privato di Azure, sono necessarie le entità o autorizzazioni seguenti:
- Uno spazio dei nomi di Hub eventi.
- Una rete virtuale di Azure.
- Una subnet nella rete virtuale. È possibile usare la subnet predefinita.
- Autorizzazioni di proprietario o collaboratore per lo spazio dei nomi e la rete virtuale.
L'endpoint privato e la rete virtuale devono trovarsi nella stessa area. Quando si seleziona un'area per l'endpoint privato tramite il portale, sono automaticamente filtrate le reti virtuali presenti in tale area. Lo spazio dei nomi può trovarsi in un'area diversa.
L'endpoint privato usa un indirizzo IP privato nella rete virtuale.
Configurare l'accesso privato durante la creazione di uno spazio dei nomi
Quando si crea uno spazio dei nomi, è possibile consentire l'accesso solo pubblico (da tutte le reti) o privato (solo tramite endpoint privati) allo spazio dei nomi.
Se si seleziona l'opzione Accesso privato nella pagina Networking della procedura guidata sulla creazione dello spazio dei nomi, è possibile aggiungere un endpoint privato nella pagina selezionando il pulsante +Endpoint privato. Vedere la sezione successiva per i passaggi dettagliati per l'aggiunta di un endpoint privato.
Configurare l'accesso privato per uno spazio dei nomi esistente
Se si ha già uno spazio dei nomi di Hub eventi, è possibile creare una connessione di collegamento privato seguendo questa procedura:
Accedere al portale di Azure.
Nella barra di ricerca digitare Hub eventi.
Selezionare nell'elenco lo spazio dei nomi in cui si vuole aggiungere un endpoint privato.
Nella pagina Networking, per Accesso alla rete pubblica, selezionare Disabilitato se si desidera che lo spazio dei nomi sia accessibile solo tramite endpoint privati.
Per Consenti ai servizi Microsoft attendibili di ignorare questo firewall, selezionare Sì se si desidera consentire ai servizi Microsoft attendibili di ignorare questo firewall.
Passare alla scheda Connessioni endpoint privato.
Selezionare il pulsante + Endpoint privato nella parte superiore della pagina.
Nella pagina Informazioni di base seguire questa procedura:
Selezionare la sottoscrizione di Azure in cui creare l'endpoint privato.
Selezionare il gruppo di risorse per la risorsa endpoint privato.
Immettere un nome per l'endpoint privato.
Immettere un nome per l'interfaccia di rete.
Selezionare un'area per l'endpoint privato. L'endpoint privato deve trovarsi nella stessa area della rete virtuale, ma può trovarsi in un'area differente rispetto alla risorsa Collegamento privato a cui si sta effettuando la connessione.
Selezionare il pulsante Avanti: Risorsa > nella parte inferiore della pagina.
Nella pagina Risorsa prendere in esame le impostazioni e selezionare Avanti: Rete virtuale.
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.
Si noti che il criterio di rete per gli endpoint privati è disabilitato. Se si desidera abilitarlo, selezionare Modifica, aggiornare l'impostazione e selezionare Salva.
Per impostazione predefinita, per la configurazione IP privato, è selezionata l'opzione Allocare dinamicamente l'indirizzo IP. Se si desidera assegnare un indirizzo IP statico, selezionare Allocare in modo statico l'indirizzo IP*.
Per Gruppo di sicurezza delle applicazioni selezionare un gruppo di sicurezza delle applicazioni esistente o crearne uno da associare all'endpoint privato.
Selezionare il pulsante Avanti: DNS > nella parte inferiore della pagina.
Nella pagina DNS selezionare se si desidera integrare l'endpoint privato con una zona DNS privata quindi selezionare Avanti: Tag.
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.
Verificare che nell'elenco degli endpoint venga visualizzata la connessione endpoint privato creata. Aggiornare la pagina e passare alla scheda Connessioni endpoint privato. In questo esempio l'endpoint privato viene approvato automaticamente perché si è connessi a una risorsa di Azure nella directory e si hanno autorizzazioni sufficienti.
Servizi Microsoft attendibili
Quando si abilita l'impostazione Consentire ai servizi Microsoft attendibili di ignorare il firewall?, ai servizi seguenti nello stesso tenant viene concesso l'accesso alle risorse di Hub eventi.
Servizio attendibile | Scenari di utilizzo supportati |
---|---|
Azure Event Grid | Consente a Griglia di eventi di Azure di inviare eventi agli Hub eventi nello spazio dei nomi di Hub eventi. È necessario eseguire anche la procedura seguente:
Per altre informazioni, vedere Distribuzione di eventi con Identità gestita |
Analisi di flusso di Azure | Consente a un processo di Analisi di flusso di Azure di leggere i dati da (input) o scrivere dati in Hub eventi (output) nello spazio dei nomi di Hub eventi. Importante: il processo Analisi di flusso di Azure deve essere configurato per usare un'identità gestita per accedere all’hub eventi. Per altre informazioni, vedere Usare le identità gestite per accedere all'hub eventi da un processo di Analisi di flusso di Azure (anteprima). |
Hub IoT di Azure | Consente all'hub IoT di inviare messaggi agli Hub eventi nello spazio dei nomi di Hub eventi. È necessario eseguire anche la procedura seguente:
|
Gestione API di Azure | Il servizio Gestione API consente di inviare eventi a un Hub eventi nello spazio dei nomi di Hub eventi.
|
Monitoraggio di Azure (impostazioni di diagnostica e gruppi di azioni) | Consente a Monitoraggio di Azure di inviare informazioni di diagnostica e notifiche di avviso agli Hub eventi nello spazio dei nomi di Hub eventi. Monitoraggio di Azure può leggere dall'hub eventi e scrivere dati anche nell'hub eventi. |
Azure Synapse | Consente ad Azure Synapse di connettersi all’hub eventi usando l'identità gestita dell'area di lavoro di Synapse. Aggiungere il ruolo Mittente dati, Ricevitore o Proprietario di Hub eventi di Azure all'identità nello spazio dei nomi di Hub eventi. |
Esplora dati di Azure | Consente a Esplora dati di Azure di ricevere eventi dall'hub eventi usando l'identità gestita del cluster. È necessario eseguire la procedura seguente:
|
Azure IoT Central | Consente a IoT Central di esportare i dati negli Hub eventi nello spazio dei nomi di Hub eventi. È necessario eseguire anche la procedura seguente:
|
Servizi per i dati sanitari di Azure | Consente alle API sanitarie il connettore IoT di inserire i dati dei dispositivi medici dallo spazio dei nomi di Hub eventi e rendere persistenti i dati nel servizio Fast Healthcare Interoperability Resources (FHIR®) configurato. Il connettore IoT deve essere configurato per usare un'identità gestita per accedere all'hub eventi. Per altre informazioni, vedere Informazioni di base sul connettore IoT - API di Azure per il settore sanitario. |
Gemelli digitali di Azure | Consente a Gemelli digitali di Azure di eseguire l'uscita dei dati negli Hub eventi nello spazio dei nomi di Hub eventi. È necessario eseguire anche la procedura seguente:
|
Gli altri servizi attendibili per gli Hub eventi di Azure sono elencati di seguito:
- Azure Arc
- Azure Kubernetes
- Azure Machine Learning
- Microsoft Purview
Per consentire ai servizi attendibili di accedere allo spazio dei nomi, passare alla scheda Accesso pubblico nella pagina Networking e selezionare Sì per Consentire ai servizi Microsoft attendibili di ignorare il firewall?.
Aggiungere un endpoint privato con PowerShell
L'esempio seguente illustra come usare Azure PowerShell per creare una connessione endpoint privato. Non crea un cluster dedicato. Per creare un cluster di Hub eventi dedicato, seguire la procedura descritta in questo articolo.
$rgName = "<RESOURCE GROUP NAME>"
$vnetlocation = "<VIRTUAL NETWORK 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 an event hubs namespace in a dedicated cluster
$namespaceResource = New-AzResource -Location $namespaceLocation `
-ResourceName $namespaceName `
-ResourceGroupName $rgName `
-Sku @{name = "Standard"; capacity = 1} `
-Properties @{clusterArmId = "/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.EventHub/clusters/<EVENT HUBS CLUSTER NAME>"} `
-ResourceType "Microsoft.EventHub/namespaces" -ApiVersion "2018-01-01-preview"
# create private endpoint connection
$privateEndpointConnection = New-AzPrivateLinkServiceConnection `
-Name $peConnectionName `
-PrivateLinkServiceId $namespaceResource.ResourceId `
-GroupId "namespace"
# get subnet object that you'll use later
$virtualNetwork = Get-AzVirtualNetwork -ResourceGroupName $rgName -Name $vnetName
$subnet = $virtualNetwork | Select -ExpandProperty subnets `
| Where-Object {$_.Name -eq $subnetName}
# create a private endpoint
$privateEndpoint = New-AzPrivateEndpoint -ResourceGroupName $rgName `
-Name $vnetName `
-Location $vnetlocation `
-Subnet $subnet `
-PrivateLinkServiceConnection $privateEndpointConnection
(Get-AzResource -ResourceId $namespaceResource.ResourceId -ExpandProperties).Properties
Configurare la zona DNS privato
Creare una zona DNS privato per il dominio di Hub eventi e creare un collegamento di associazione con la rete virtuale:
$zone = New-AzPrivateDnsZone -ResourceGroupName $rgName `
-Name "privatelink.servicebus.windows.net"
$link = New-AzPrivateDnsVirtualNetworkLink -ResourceGroupName $rgName `
-ZoneName "privatelink.servicebus.windows.net" `
-Name "mylink" `
-VirtualNetworkId $virtualNetwork.Id
$networkInterface = Get-AzResource -ResourceId $privateEndpoint.NetworkInterfaces[0].Id -ApiVersion "2019-04-01"
foreach ($ipconfig in $networkInterface.properties.ipConfigurations) {
foreach ($fqdn in $ipconfig.properties.privateLinkConnectionProperties.fqdns) {
Write-Host "$($ipconfig.properties.privateIPAddress) $($fqdn)"
$recordName = $fqdn.split('.',2)[0]
$dnsZone = $fqdn.split('.',2)[1]
New-AzPrivateDnsRecordSet -Name $recordName -RecordType A -ZoneName "privatelink.servicebus.windows.net" `
-ResourceGroupName $rgName -Ttl 600 `
-PrivateDnsRecords (New-AzPrivateDnsRecordConfig -IPv4Address $ipconfig.properties.privateIPAddress)
}
}
Gestire gli endpoint privati con il portale di Azure
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 di 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 a scopo di pulizia. |
Approvare, rifiutare o rimuovere una connessione endpoint privato
- Accedere al portale di Azure.
- Nella barra di ricerca digitare Hub eventi.
- Selezionare lo spazio dei nomi che si vuole gestire.
- Selezionare la scheda Rete.
- Andare a una delle sezioni seguenti in base all'operazione che si desidera eseguire: approvare, rifiutare o rimuovere.
Approvare una connessione endpoint privato
Se sono presenti connessioni in sospeso, è visualizzata una connessione elencata con In sospeso nello stato di provisioning.
Selezionare l'endpoint privato che si vuole approvare
Selezionare il pulsante Approva.
Nella pagina Approva la connessione aggiungere un commento (facoltativo) e selezionare Sì. Se si seleziona No, non accade nulla.
Si noterà che lo stato della connessione endpoint privato nell'elenco è diventato Approvata.
Rifiutare una connessione endpoint privato
Se sono presenti connessioni endpoint privato da rifiutare, sia che si tratti di una richiesta in sospeso o di una connessione esistente, selezionare la connessione e fare clic sul pulsante Rifiuta.
Nella pagina Rifiuta la connessione immettere un commento (facoltativo) e selezionare Sì. Se si seleziona No, non accade nulla.
Si noterà che lo stato della connessione endpoint privato nell'elenco è diventato Rifiutata.
Rimuovere una connessione endpoint privato
- Per rimuovere una connessione endpoint privato, selezionarla nell'elenco e selezionare Rimuovi sulla barra degli strumenti.
- Nella pagina Elimina connessione selezionare Sì per confermare l'eliminazione dell'endpoint privato. Se si seleziona No, non accade nulla.
- Si noterà che lo stato è diventato Disconnessa L'endpoint scompare quindi nell'elenco.
Verificare il funzionamento della connessione di collegamento privato
È necessario verificare che le risorse all'interno della rete virtuale dell’endpoint privato si connettano allo spazio dei nomi di Hub eventi tramite un indirizzo IP privato e che abbiano l'integrazione con la zona DNS privato corretta.
Creare prima di tutto una macchina virtuale seguendo la procedura descritta nell'articolo Creare una macchina virtuale di Windows nel portale di Azure.
Nella scheda Rete:
- Specificare Rete virtuale e Subnet. È necessario selezionare la rete virtuale in cui è stato distribuito l'endpoint privato.
- Specificare una risorsa IP pubblico.
- Per Gruppo di sicurezza di rete della scheda di interfaccia di rete selezionare Nessuno.
- Per Bilanciamento del carico selezionare No.
Connettersi alla macchina virtuale, aprire la riga di comando ed eseguire il comando seguente:
nslookup <event-hubs-namespace-name>.servicebus.windows.net
Verrà visualizzato un risultato simile al seguente.
Non-authoritative answer:
Name: <event-hubs-namespace-name>.privatelink.servicebus.windows.net
Address: 10.0.0.4 (private IP address associated with the private endpoint)
Aliases: <event-hubs-namespace-name>.servicebus.windows.net
Limitazioni e considerazioni di progettazione
- per informazioni sui prezzi, vedere Prezzi di Collegamento privato di Azure.
- Questa funzionalità è disponibile in tutte le aree pubbliche di Azure.
- Numero massimo di endpoint privati per lo spazio dei nomi di Hub eventi: 120.
- Il traffico viene bloccato a livello di applicazione, non a livello TCP. Di conseguenza, vengono visualizzate le connessioni TCP o le operazioni di
nslookup
con esito positivo sull'endpoint pubblico anche se l'accesso pubblico è disabilitato.
Per altre informazioni, vedere Servizio Collegamento privato di Azure: Limitazioni
Contenuto correlato
- Altre informazioni su Collegamento privato di Azure
- Altre informazioni su Hub eventi di Azure