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.

Screenshot che mostra la pagina Rete della creazione guidata spazio dei nomi con l'opzione Accesso privato selezionata.

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:

  1. Accedere al portale di Azure.

  2. Nella barra di ricerca digitare Hub eventi.

  3. Selezionare nell'elenco lo spazio dei nomi in cui si vuole aggiungere un endpoint privato.

  4. Nella pagina ReteselezionareDisabilitato se si vuole che lo spazio dei nomi sia accessibile solo tramite endpoint privati.

  5. Per Consentire ai servizi Microsoft attendibili di ignorare questo firewall, selezionare se si desidera consentire ai servizi Microsoft attendibili di ignorare questo firewall.

    Screenshot della pagina Rete con accesso alla rete pubblica come Disabilitato.

  6. Passare alla scheda Connessioni endpoint private .

  7. Selezionare il pulsante + Endpoint privato nella parte superiore della pagina.

    Pagina rete - Scheda Connessioni endpoint private - Aggiungere un collegamento endpoint privato.

  8. Nella pagina Informazioni di base seguire questa procedura:

    1. Selezionare la sottoscrizione di Azure in cui creare l'endpoint privato.

    2. Selezionare il gruppo di risorse per la risorsa endpoint privato.

    3. Immettere un nome per l'endpoint privato.

    4. Immettere un nome per l'interfaccia di rete.

    5. 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.

    6. Selezionare Avanti: pulsante Risorsa > nella parte inferiore della pagina.

      Screenshot che mostra la pagina Nozioni di base della procedura guidata Crea endpoint privato.

  9. Nella pagina Risorsa esaminare le impostazioni e selezionare Avanti: Rete virtuale.

    Screenshot che mostra la pagina Risorsa della procedura guidata Crea endpoint privato.

  10. Nella pagina Rete virtuale selezionare la subnet in una rete virtuale in cui si vuole distribuire l'endpoint privato.

    1. Selezionare una rete virtuale. Nell'elenco a discesa sono elencate solo le reti virtuali nella sottoscrizione e nella località attualmente selezionate.

    2. Selezionare una subnet nella rete virtuale selezionata.

    3. 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.

    4. 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*.

    5. Per Il gruppo di sicurezza dell'applicazione selezionare un gruppo di sicurezza dell'applicazione esistente o crearne uno da associare all'endpoint privato.

    6. Selezionare Avanti: pulsante DNS > nella parte inferiore della pagina.

      Screenshot che mostra la pagina Rete virtuale della creazione guidata dell'endpoint privato.

  11. Nella pagina DNS selezionare se si vuole che l'endpoint privato sia integrato con una zona DNS privata e quindi selezionare Avanti: Tag.

  12. 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.

  13. In Rivedi e crea rivedere tutte le impostazioni e selezionare Crea per creare l'endpoint privato.

    Creare l'endpoint privato - Pagina Rivedi e crea

  14. 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.

    Endpoint privato creato

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:
  • Abilitare l'identità assegnata dal sistema per un argomento o un dominio
  • Aggiungere l'identità al ruolo Hub eventi di Azure mittente dati nello spazio dei nomi Hub eventi
  • Configurare quindi la sottoscrizione dell'evento che usa un hub eventi come endpoint per usare l'identità assegnata dal sistema.

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:
  • Abilitare l'identità assegnata dal sistema per l'hub IoT
  • Aggiungere l'identità al ruolo Hub eventi di Azure mittente dati nello spazio dei nomi Hub eventi.
  • Configurare quindi il hub IoT che usa un hub eventi come endpoint personalizzato per usare l'autenticazione basata su identità.
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:
  • Configurare l'identità gestita in Azure Esplora dati
  • Concedere il ruolo Hub eventi di Azure Destinatario dati all'identità nell'hub eventi.
 
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:

  • Abilitare l'identità assegnata dal sistema per l'istanza di Gemelli digitali di Azure.
  • Aggiungere l'identità al ruolo Mittente dati Hub eventi di Azure nello spazio dei nomi di Hub eventi.
  • Configurare quindi un endpoint di Gemelli digitali di Azure o una connessione alla cronologia dei dati di Gemelli digitali di Azure che usa l'identità assegnata dal sistema per l'autenticazione. Per altre informazioni sulla configurazione di endpoint e route di eventi alle risorse di Hub eventi da Gemelli digitali di Azure, vedere Instradare gli eventi di Gemelli digitali di Azure e Creare endpoint in Gemelli digitali di Azure.

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 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

  1. Accedere al portale di Azure.
  2. Nella barra di ricerca digitare Hub eventi.
  3. Selezionare lo spazio dei nomi che si vuole gestire.
  4. Selezionare la scheda Rete.
  5. Passare alla sezione seguente appropriata in base all'operazione da approvare, rifiutare o rimuovere.

Approvare una connessione endpoint privato

  1. Se sono presenti connessioni in sospeso, viene visualizzata una connessione elencata con In sospeso nello stato di provisioning.

  2. Selezionare l'endpoint privato che si vuole approvare

  3. Selezionare il pulsante Approva.

    Approvare un endpoint privato

  4. Nella pagina Approva la connessione aggiungere un commento (facoltativo) e selezionare . Se si seleziona No, non accade nulla.

  5. Si noterà che lo stato della connessione endpoint privato nell'elenco è diventato Approvata.

Rifiutare una connessione endpoint privato

  1. 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 .

    Rifiutare l'endpoint privato

  2. Nella pagina Rifiuta la connessione immettere un commento (facoltativo) e selezionare . Se si seleziona No, non accade nulla.

  3. Si noterà che lo stato della connessione endpoint privato nell'elenco è diventato Rifiutata.

Rimuovere una connessione endpoint privato

  1. Per rimuovere una connessione endpoint privato, selezionarla nell'elenco e selezionare Rimuovi sulla barra degli strumenti.
  2. Nella pagina Elimina connessione selezionare per confermare l'eliminazione dell'endpoint privato. Se si seleziona No, non accade nulla.
  3. Si noterà che lo stato è diventato Disconnessa L'endpoint scompare quindi dall'elenco.

È 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:

  1. Specificare Rete virtuale e Subnet. È necessario selezionare la rete virtuale in cui è stato distribuito l'endpoint privato.
  2. Specificare una risorsa IP pubblico.
  3. Per Gruppo di sicurezza di rete della scheda di interfaccia di rete selezionare Nessuno.
  4. 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