Toegang tot Azure Event Hubs-naamruimten via privé-eindpunten toestaan

met Azure Private Link Service hebt u toegang tot Azure-services (bijvoorbeeld Azure Event Hubs, Azure Storage en Azure Cosmos DB) en in Azure gehoste klant-/partnerservices via een privé-eindpunt in uw virtuele netwerk.

Een privé-eindpunt is een netwerkinterface die u privé en veilig verbindt met een powered by Azure Private Link. Het privé-eindpunt maakt gebruik van een privé-IP-adres van uw virtuele netwerk, waardoor de service in uw virtuele netwerk wordt gebruikt. Al het verkeer naar de service kan worden gerouteerd via het privé-eindpunt, zodat er geen gateways, NAT-apparaten, ExpressRoute of VPN-verbindingen of openbare IP-adressen nodig zijn. Verkeer tussen uw virtuele netwerk en de services wordt via het backbonenetwerk van Microsoft geleid, waarmee de risico's van het openbare internet worden vermeden. U kunt verbinding maken met een exemplaar van een Azure-resource, zodat u het hoogste granulariteit krijgt in toegangsbeheer.

Zie Wat is een Azure Private Link? voor meer informatie.

Belangrijke punten

  • Deze functie wordt niet ondersteund in de basic-laag.
  • Het inschakelen van privé-eindpunten kan verhinderen dat andere Azure-services interactie hebben met Event Hubs. Aanvragen die worden geblokkeerd, zijn onder andere aanvragen van andere Azure-services, Azure Portal, logboekregistratie- en metrische gegevensservices, en meer. Als uitzondering kunt u toegang tot uw Event Hubs van bepaalde vertrouwde services toestaan, zelfs wanneer privé-eindpunten zijn ingeschakeld. Zie Vertrouwde services voor een lijst met vertrouwde services.
  • Geef ten minste één IP-regel of virtuele netwerkregel op voor de naamruimte om alleen verkeer van de opgegeven IP-adressen of het subnet van een virtueel netwerk toe te staan. Als er geen IP- en virtuele netwerkregels zijn, is de naamruimte toegankelijk via het openbare internet (met behulp van de toegangssleutel).

Een privé-eindpunt toevoegen met Azure Portal

Vereisten

Als u Event Hubs naamruimte wilt integreren met Azure Private Link, hebt u de volgende entiteiten of machtigingen nodig:

  • Een Event Hubs naamruimte.
  • Een Azure Virtual Network.
  • Een subnet binnen het virtueel netwerk. U kunt het standaardsubnet gebruiken.
  • Eigenaars- of inzendermachtigingen voor zowel de naamruimte als het virtuele netwerk.

Uw privé-eindpunt en het virtueel netwerk moeten zich in dezelfde regio bevinden. Wanneer u een regio voor het privé-eindpunt selecteert met behulp van de portal, worden er automatisch alleen virtuele netwerken gefilterd die zich in die regio bevinden. Uw naamruimte kan zich in een andere regio.

Uw privé-eindpunt maakt gebruik van een privé IP-adres in uw virtueel netwerk.

Stappen

Als u al een Event Hubs hebt, kunt u een private link-verbinding maken door de volgende stappen uit te voeren:

  1. Meld u aan bij de Azure-portal.

  2. Typ event hubs in de zoekbalk.

  3. Selecteer de naamruimte in de lijst waaraan u een privé-eindpunt wilt toevoegen.

  4. Selecteer Netwerken onder Instellingen in het menu links.

    Tabblad Netwerken - optie geselecteerde netwerken

    Waarschuwing

    Standaard is de optie Geselecteerde netwerken geselecteerd. Als u geen IP-firewallregel opgeeft of een virtueel netwerk toevoegt, is de naamruimte toegankelijk via openbaar internet (met behulp van de toegangssleutel).

  5. Selecteer het tabblad Privé-eindpuntverbindingen bovenaan de pagina.

  6. Selecteer de knop + Privé-eindpunt bovenaan de pagina.

    Netwerkpagina - tabblad Privé-eindpuntverbindingen - Koppeling naar privé-eindpunt toevoegen

  7. Volg deze stappen op de pagina Basisinformatie:

    1. Selecteer het Azure-abonnement waarin u het privé-eindpunt wilt maken.

    2. Selecteer de resourcegroep voor de privé-eindpuntresource.

    3. Voer een naam in voor het privé-eindpunt.

    4. Selecteer een regio voor het privé-eindpunt. Uw privé-eindpunt moet zich in dezelfde regio als uw virtuele netwerk, maar kan zich in een andere regio dan de Private Link-resource die u verbinding maakt.

    5. Selecteer Volgende: de > onder aan de pagina.

      De pagina Privé-eindpunt maken - Basisinformatie

  8. Volg deze stappen op de pagina Resource:

    1. Als u voor de verbindingsmethode Verbinding maken naar een Azure-resource in mijn directory selecteert, volgt u deze stappen:
      1. Selecteer het Azure-abonnement waarin uw Event Hubs bestaat.

      2. Bij Resourcetype selecteert u Microsoft.EventHub/namespaces als resourcetype.

      3. Selecteer bij Resource een Event Hubs naamruimte in de vervolgkeuzelijst.

      4. Controleer of de subresource Doel is ingesteld op naamruimte.

      5. Selecteer Volgende: > knop Configuratiebestand onderaan de pagina.

        Privé-eindpunt maken - Resourcepagina

    2. Als u een Verbinding maken Azure-resource op resource-id of alias selecteert, volgt u deze stappen:
      1. Voer de resource-id of alias in. Dit kan de resource-id of alias zijn die iemand met u heeft gedeeld. De eenvoudigste manier om de resource-id op te halen, is door naar de Event Hubs-naamruimte in de Azure Portal te gaan en het gedeelte van de URI te kopiëren vanaf /subscriptions/ . Zie de volgende afbeelding voor een voorbeeld.

      2. Voer bij Doelsubresource de naamruimte in. Dit is het type subresource waar uw privé-eindpunt toegang toe heeft.

      3. (optioneel) Voer een aanvraagbericht in. De resource-eigenaar ziet dit bericht tijdens het beheren van de verbinding met het privé-eindpunt.

      4. Selecteer vervolgens Volgende: Configuratie > onder aan de pagina.

        Privé-eindpunt maken - Verbinding maken resource-id

  9. Op de pagina Configuratie selecteert u het subnet in een virtueel netwerk waar u het privé-eindpunt wilt implementeren.

    1. Selecteer een virtueel netwerk. Alleen virtuele netwerken in het geselecteerde abonnement en de geselecteerde locatie worden weergegeven in de vervolgkeuzelijst.

    2. Selecteer een subnet in het virtuele netwerk dat u hebt geselecteerd.

    3. Selecteer Volgende: Tags > knop onderaan de pagina.

      Privé-eindpunt maken - configuratiepagina

  10. Maak op de pagina Tags tags (namen en waarden) die u wilt koppelen aan de privé-eindpuntresource. Selecteer vervolgens de knop Beoordelen en maken onderaan de pagina.

  11. Controleer in Beoordelen en maken alle instellingen en selecteer Maken om het privé-eindpunt te maken.

    Privé-eindpunt maken - pagina Controleren en maken

  12. Controleer of de verbinding met het privé-eindpunt dat u hebt gemaakt, wordt weergegeven in de lijst met eindpunten. In dit voorbeeld wordt het privé-eindpunt automatisch goedgekeurd omdat u verbinding hebt met een Azure-resource in uw directory en u voldoende machtigingen hebt.

    Privé-eindpunt gemaakt

Vertrouwde Microsoft-services

Wanneer u de instelling Vertrouwde toegang Microsoft-services om deze firewall te omzeilen inschakelen, krijgen de volgende services toegang tot uw Event Hubs resources.

Vertrouwde service Ondersteunde gebruiksscenario's
Azure Event Grid Hiermee Azure Event Grid gebeurtenissen verzenden naar Event Hubs in Event Hubs naamruimte. U moet ook de volgende stappen volgen:
  • Door het systeem toegewezen identiteit inschakelen voor een onderwerp of een domein
  • Voeg de identiteit toe aan de Azure Event Hubs rol Gegevens afzender in de Event Hubs naamruimte
  • Configureer vervolgens het gebeurtenisabonnement dat gebruikmaakt van een Event Hub als eindpunt om de door het systeem toegewezen identiteit te gebruiken.

Zie Levering van gebeurtenissen met een beheerde identiteit voor meer informatie

Azure Monitor (diagnostische Instellingen en actiegroepen) Hiermee Azure Monitor diagnostische gegevens en waarschuwingsmeldingen verzenden naar Event Hubs in Event Hubs naamruimte. Azure Monitor kunt lezen uit de Event Hub en ook gegevens schrijven naar de Event Hub.
Azure Stream Analytics Hiermee kan Azure Stream Analytics taak gegevens lezen uit (invoer) of gegevens schrijven naareventhubs (uitvoer) in uw Event Hubs naamruimte.

Belangrijk: de Stream Analytics taak moet worden geconfigureerd voor het gebruik van een beheerde identiteit voor toegang tot de Event Hub. Zie Beheerde identiteiten gebruiken voor toegang tot Event Hub vanuit een Azure Stream Analytics -taak (preview)voor meer informatie.

Azure IoT Hub Hiermee IoT Hub berichten verzenden naar Event Hubs in uw Event Hub-naamruimte. U moet ook de volgende stappen volgen:
  • Door het systeem toegewezen identiteit inschakelen voor uw IoT-hub
  • Voeg de identiteit toe aan de Azure Event Hubs rol Gegevens afzender in de Event Hubs naamruimte.
  • Configureer vervolgens de IoT Hub die gebruikmaakt van een Event Hub als een aangepast eindpunt om de verificatie op basis van identiteit te gebruiken.
Azure API Management

Met API Management service kunt u gebeurtenissen verzenden naar een Event Hub in Event Hubs naamruimte.

  • U kunt aangepaste werkstromen activeren door gebeurtenissen naar uw Event Hub te verzenden wanneer een API wordt aangeroepen met behulp van het beleid voor verzenden/aanvragen.
  • U kunt een Event Hub ook behandelen als uw back-end in een API. Zie Verifiëren met een beheerde identiteit voor toegang tot een Event Hub voor een voorbeeldbeleid. U moet ook de volgende stappen volgen:
    1. Schakel een door het systeem toegewezen identiteit in op API Management-exemplaar. Zie Beheerde identiteiten gebruiken in Azure API Management voor instructies.
    2. Voeg de identiteit toe aan de Azure Event Hubs rol Gegevens afzender in de Event Hubs naamruimte
Azure IoT Central

Hiermee IoT Central gegevens exporteren naar Event Hubs in uw Event Hub-naamruimte. U moet ook de volgende stappen volgen:

  • Schakel een door het systeem toegewezen identiteit in voor uw IoT Central toepassing.
  • Voeg de identiteit toe aan de Azure Event Hubs rol Gegevens afzender in de Event Hubs naamruimte.
  • Configureer vervolgens de Event Hubs exportbestemming op uw IoT Central toepassing om verificatie op basis van identiteit te gebruiken.

Als u vertrouwde services toegang wilt geven tot uw naamruimte, gaat u naar het tabblad Firewalls en virtuele netwerken op de pagina Netwerken en selecteert u Ja bij Vertrouwde Microsoft-services toestaan om deze firewall over te schakelen.

Een privé-eindpunt toevoegen met Behulp van PowerShell

In het volgende voorbeeld ziet u hoe u Azure PowerShell om een privé-eindpuntverbinding te maken. Er wordt geen toegewezen cluster voor u aan het maken. Volg de stappen in dit artikel om een toegewezen cluster Event Hubs maken.

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


De privé-DNS-zone configureren

Maak een privé-DNS-zone voor Event Hubs domein en maak een koppelingskoppeling met het virtuele netwerk:

$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)  
    } 
}

Privé-eindpunten beheren met Azure Portal

Wanneer u een privé-eindpunt maakt, moet de verbinding worden goedgekeurd. Als de resource waarvoor u een privé-eindpunt maakt, zich in uw directory heeft, kunt u de verbindingsaanvraag goedkeuren op voorwaarde dat u voldoende machtigingen hebt. Als u verbinding maakt met een Azure-resource in een andere directory, moet u wachten tot de eigenaar van die resource uw verbindingsaanvraag heeft goedgekeurd.

Er zijn vier inrichtingsstatussen:

Serviceactie Status privé-eindpunt serviceconsument Beschrijving
Geen In behandeling De verbinding wordt handmatig gemaakt en in afwachting van goedkeuring door de resource-eigenaar van de Private Link.
Goedkeuren Goedgekeurd De verbinding werd automatisch of handmatig goedgekeurd en is klaar om te worden gebruikt.
Afwijzen Afgewezen De verbinding werd afgewezen door de resource-eigenaar van de private link.
Verwijderen Ontkoppeld De verbinding is verwijderd door de resource-eigenaar van de private link, het privé-eindpunt wordt informatief en moet worden verwijderd voor opschoning.

Een verbinding met een privé-eindpunt goedkeuren, afwijzen of verwijderen

  1. Meld u aan bij Azure Portal.
  2. Typ event hubs in de zoekbalk.
  3. Selecteer de naamruimte die u wilt beheren.
  4. Selecteer het tabblad Netwerken.
  5. Ga naar de juiste sectie hieronder op basis van de bewerking die u wilt: goedkeuren, afwijzen of verwijderen.

Een verbinding met een privé-eindpunt goedkeuren

  1. Als er verbindingen zijn die in behandeling zijn, ziet u een verbinding met In behandeling in de inrichtingsstaat.

  2. Selecteer het privé-eindpunt dat u wilt goedkeuren

  3. Selecteer de knop Goedkeuren.

    Keur het privé-eindpunt goed

  4. Voeg op de pagina Verbinding goedkeuren een opmerking toe (optioneel) en selecteer Ja. Als u Nee selecteert, gebeurt er niets.

  5. Als het goed is, ziet u dat de status van de verbinding met het privé-eindpunt in de lijst is gewijzigd in Goedgekeurd.

Een verbinding met een privé-eindpunt weigeren

  1. Als er privé-eindpuntverbindingen zijn die u wilt afwijzen, of het nu een aanvraag in behandeling of een bestaande verbinding is, selecteert u de verbinding en klikt u op de knop Weigeren.

    Privé-eindpunt afwijzen

  2. Voer op de pagina Verbinding weigeren een opmerking in (optioneel) en selecteer Ja. Als u Nee selecteert, gebeurt er niets.

  3. Als het goed is, ziet u dat de status van de verbinding met het privé-eindpunt in de lijst is gewijzigd in Geweigerd.

Een verbinding met een privé-eindpunt verwijderen

  1. Als u een verbinding met een privé-eindpunt wilt verwijderen, selecteert u deze in de lijst en selecteert u Verwijderen op de werkbalk.
  2. Selecteer ja op de pagina Verbinding verwijderen om het verwijderen van het privé-eindpunt te bevestigen. Als u Nee selecteert, gebeurt er niets.
  3. Als het goed is, ziet u dat de status is gewijzigd in Verbroken. Vervolgens ziet u dat het eindpunt uit de lijst verdwijnt.

Controleer of resources in het virtuele netwerk van het privé-eindpunt via een privé-IP-adres verbinding maken met uw Event Hubs-naamruimte en of ze de juiste privé-DNS-zoneintegratie hebben.

Maak eerst een nieuwe virtuele machine door de instructies te volgen in Een virtuele Windows-machine in de Azure Portal maken

Op het tabblad Netwerken:

  1. Geef Virtueel netwerk en Subnet op. U moet de Virtual Network waarop u het privé-eindpunt hebt geïmplementeerd.
  2. Geef een openbare IP-resource op.
  3. Selecteer geen voor de NIC-netwerkbeveiligingsgroep.
  4. Selecteer voor Taakverdeling de optie Nee.

Verbinding maken op de VM, open de opdrachtregel en voer de volgende opdracht uit:

nslookup <event-hubs-namespace-name>.servicebus.windows.net

U ziet een resultaat dat er als volgt uitziet.

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

Beperkingen en ontwerpoverwegingen

Pricing: Zie Prijs van Azure Private Link voor meer informatie over prijzen.

Beperkingen: deze functie is beschikbaar in alle openbare Azure-regio's.

Maximum aantal privé-eindpunten per Event Hubs naamruimte: 120.

Zie Azure Private Link-service: beperkingen voor meer informatie

Volgende stappen