Condividi tramite


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.

Screenshot che mostra la pagina Networking della procedura guidata Crea 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 Networking, per Accesso alla rete pubblica, selezionare Disabilitato se si desidera che lo spazio dei nomi sia accessibile solo tramite endpoint privati.

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

    Screenshot della pagina Networking con accesso alla rete pubblica disabilitato.

  6. Passare alla scheda Connessioni endpoint privato.

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

    Pagina Networking - Scheda Connessioni endpoint privato - Aggiungi link 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 differente rispetto alla risorsa Collegamento privato a cui si sta effettuando la connessione.

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

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

  9. Nella pagina Risorsa prendere in esame le impostazioni e selezionare Avanti: Rete virtuale.

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

  10. Nella pagina Rete virtuale si seleziona la subnet in una rete virtuale in cui si desidera 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 il criterio di rete per gli endpoint privati è disabilitato. Se si desidera abilitarlo, selezionare Modifica, aggiornare l'impostazione e selezionare Salva.

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

    5. Per Gruppo di sicurezza delle applicazioni selezionare un gruppo di sicurezza delle applicazioni esistente o crearne uno da associare all'endpoint privato.

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

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

  11. Nella pagina DNS selezionare se si desidera integrare l'endpoint privato con una zona DNS privata 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.

    Screenshot che mostra la pagina Rivedi + crea.

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

    Screenshot che mostra la pagina Connessioni endpoint privato con l'endpoint privato appena creato.

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

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:
  • Abilitare l'identità assegnata dal sistema per l'hub IoT
  • Aggiungere l'identità al ruolo Mittente dati di Hub eventi di Azure nello spazio dei nomi di Hub eventi.
  • Configurare quindi l'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 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:
  • Configurare l'identità gestita in Esplora dati di Azure
  • Assegnare il ruolo Ricevitore dati di Hub eventi di Azure 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. È 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:

  • Abilitare l'identità assegnata dal sistema per l'istanza di Gemelli digitali di Azure.
  • Aggiungere l'identità al ruolo Mittente dati di 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 eventi alle risorse degli Hub eventi da Gemelli digitali di Azure, vedere Route di eventi di Gemelli digitali di Azure e Creare endpoint in Gemelli digitali di Azure.

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

  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. Andare a una delle sezioni seguenti in base all'operazione che si desidera eseguire: approvare, rifiutare o rimuovere.

Approvare una connessione endpoint privato

  1. Se sono presenti connessioni in sospeso, è 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.

    Screenshot che mostra la scheda Connessioni endpoint privato con il pulsante Approva evidenziato.

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

    Screenshot che mostra la scheda Connessioni endpoint privato con il pulsante Rifiuta evidenziato.

  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 nell'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 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:

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