Consentire l'accesso agli spazi dei nomi 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 dalla rete virtuale, portando in modo efficace il servizio nella rete virtuale. Tutto il traffico verso il servizio può essere 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?.
Considerazioni importanti
- Questa funzionalità non è supportata nel livello di base .
- 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 caso di eccezione, è possibile consentire l'accesso alle risorse di Hub eventi da determinati servizi attendibili anche quando gli endpoint privati sono abilitati. Per un elenco di 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 specificati o dalla subnet di una rete virtuale. Se non sono presenti regole di rete virtuale e IP, lo spazio dei nomi può essere accessibile 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 le 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, verranno automaticamente filtrate solo 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 solo pubblico (da tutte le reti) o privato (solo tramite endpoint privati) l'accesso allo spazio dei nomi.
Se si seleziona l'opzione Accesso privato nella pagina Rete della creazione guidata spazio dei nomi, è possibile aggiungere un endpoint privato nella pagina selezionando + Pulsante Endpoint privato. Vedere la sezione successiva per la procedura dettagliata 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 ReteselezionareDisabilitato se si vuole che lo spazio dei nomi sia accessibile solo tramite endpoint privati.
Per Consentire 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 private .
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 diversa dalla risorsa di collegamento privato a cui ci si connette.
Selezionare Avanti: pulsante Risorsa > nella parte inferiore della pagina.
Nella pagina Risorsa esaminare le impostazioni e selezionare Avanti: Rete virtuale.
Nella pagina Rete virtuale selezionare la subnet in una rete virtuale in cui si vuole 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 i criteri di rete per gli endpoint privati sono disabilitati . Se si vuole abilitarla, selezionare modifica, aggiornare l'impostazione e selezionare Salva.
Per la configurazione IP privata, per impostazione predefinita, è selezionata l'opzione Dinamico allocare l'indirizzo IP . Se si vuole assegnare un indirizzo IP statico, selezionare Allocare in modo statico l'indirizzo IP*.
Per Il gruppo di sicurezza dell'applicazione selezionare un gruppo di sicurezza dell'applicazione esistente o crearne uno da associare all'endpoint privato.
Selezionare Avanti: pulsante DNS > nella parte inferiore della pagina.
Nella pagina DNS selezionare se si vuole che l'endpoint privato sia integrato con una zona DNS privata e 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. 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 Consenti ai servizi Microsoft attendibili di ignorare questa impostazione del firewall , i servizi seguenti all'interno dello stesso tenant vengono concessi l'accesso alle risorse di Hub eventi.
Servizio attendibile | Scenari di utilizzo supportati |
---|---|
Griglia di eventi di Azure | Consente Griglia di eventi di Azure di inviare eventi agli hub eventi nello spazio dei nomi hub eventi. È anche necessario eseguire questa procedura:
Per altre informazioni, vedere Recapito eventi con un'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 hub eventi. Importante: il processo di Analisi di flusso deve essere configurato per usare un'identità gestita per accedere all'hub eventi. Per altre informazioni, vedere Usare identità gestite per accedere all'hub eventi da un processo di Analisi di flusso di Azure (anteprima). |
Hub IoT Azure | Consente hub IoT di inviare messaggi agli hub eventi nello spazio dei nomi hub eventi. È anche necessario eseguire questa procedura:
|
Gestione API di Azure | Il servizio Gestione API consente di inviare eventi a un hub eventi nello spazio dei nomi 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 anche i dati nell'hub eventi. |
Azure Synapse | Consente Azure Synapse di connettersi all'hub eventi usando l'identità gestita dell'area di lavoro di Synapse. Aggiungere il Hub eventi di Azure ruolo Mittente dati, Ricevitore o Proprietario all'identità nello spazio dei nomi di Hub eventi. |
Esplora dati di Azure | Consente ad Azure Esplora dati 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. È anche necessario eseguire i passaggi seguenti:
|
Servizi per i dati sanitari di Azure | Consente ai connettori IoT delle API per il settore sanitario di inserire i dati dei dispositivi medici dallo spazio dei nomi di Hub eventi e rendere persistenti i dati nel servizio FHIR® (Fast Healthcare Interoperability Resources) configurato. Il connettore IoT deve essere configurato per usare un'identità gestita per accedere all'hub eventi. Per altre informazioni, vedere Introduzione al connettore IoT - API di Azure Healthcare. |
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. È anche necessario eseguire i passaggi seguenti:
|
Gli altri servizi attendibili per Hub eventi di Azure sono disponibili 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 Rete e selezionare Sì per Consenti 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 |
---|---|---|
nessuno | In sospeso | La connessione viene creata manualmente ed è in attesa di approvazione dal proprietario della risorsa di collegamento privato. |
Approvazione | Approved | 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. |
Rimuovere | Disconnesso | La connessione è stata rimossa dal proprietario della risorsa di collegamento privato, l'endpoint privato diventa informativo e deve essere eliminato per la 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.
- Passare alla sezione seguente appropriata in base all'operazione da approvare, rifiutare o rimuovere.
Approvare una connessione endpoint privato
Se sono presenti connessioni in sospeso, viene 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 private da rifiutare, che si tratti di una richiesta in sospeso o di una connessione esistente, selezionare la connessione e selezionare il 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 dall'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 dispongano dell'integrazione della zona DNS privata 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 collegamento privato di Azure prezzi.
- 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. Vengono pertanto visualizzate le connessioni TCP o
nslookup
le operazioni che hanno esito positivo sull'endpoint pubblico anche se l'accesso pubblico è disabilitato.
Per altre informazioni, vedere Servizio Collegamento privato di Azure: Limitazioni
Passaggi successivi
- Altre informazioni su Collegamento privato di Azure
- Altre informazioni su Hub eventi di Azure