Tillåt åtkomst till Azure Event Hubs-namnområden via privata slutpunkter

med Azure Private Link Service kan du komma åt Azure-tjänster (till exempel Azure Event Hubs, Azure Storage och Azure Cosmos DB) och Azure-värdindelade kund-/partnertjänster via en privat slutpunkt i ditt virtuella nätverk.

En privat slutpunkt är ett nätverksgränssnitt som ansluter dig privat och säkert till en tjänst som drivs av Azure Private Link. Den privata slutpunkten använder en privat IP-adress från ditt virtuella nätverk, vilket effektivt tar tjänsten till det virtuella nätverket. All trafik till tjänsten kan dirigeras via den privata slutpunkten, så inga gatewayer, NAT-enheter, ExpressRoute- eller VPN-anslutningar eller offentliga IP-adresser behövs. Trafik mellan ditt virtuella nätverk och tjänsten passerar över Microsofts stamnätverk, vilket eliminerar exponering från det offentliga Internet. Du kan ansluta till en instans av en Azure-resurs, vilket ger dig den högsta detaljnivån i åtkomstkontroll.

Mer information finns i Vad är Azure Private Link?

Viktiga punkter

  • Den här funktionen stöds inte på basic-nivån.
  • Aktivering av privata slutpunkter kan förhindra att andra Azure-tjänster interagerar med Event Hubs. Blockerade begäranden är bland annat från andra Azure-tjänster, från Azure Portal, från loggnings- och måtttjänster och så vidare. Som ett undantag kan du tillåta åtkomst till Event Hubs från vissa betrodda tjänster även när privata slutpunkter är aktiverade. En lista över betrodda tjänster finns i Betrodda tjänster.
  • Ange minst en IP-regel eller regel för virtuellt nätverk för namnområdet för att endast tillåta trafik från de angivna IP-adresserna eller undernätet för ett virtuellt nätverk. Om det inte finns några IP- och virtuella nätverksregler kan namnområdet nås via det offentliga Internet (med hjälp av åtkomstnyckeln).

Lägga till en privat slutpunkt med Azure Portal

Förutsättningar

Om du vill Event Hubs en namnrymd Azure Private Link måste du ha följande entiteter eller behörigheter:

  • Ett Event Hubs namnområde.
  • Ett virtuellt Azure-nätverk.
  • Ett undernät i det virtuella nätverket. Du kan använda standardundernätet.
  • Ägar- eller deltagarbehörighet för både namnområdet och det virtuella nätverket.

Din privata slutpunkt och ditt virtuella nätverk måste finnas i samma region. När du väljer en region för den privata slutpunkten med hjälp av portalen filtreras endast virtuella nätverk i den regionen automatiskt. Namnområdet kan finnas i en annan region.

Din privata slutpunkt använder en privat IP-adress i ditt virtuella nätverk.

Steg

Om du redan har ett Event Hubs namnområde kan du skapa en privat länkanslutning genom att följa dessa steg:

  1. Logga in på Azure-portalen.

  2. I sökfältet skriver du in event hubs.

  3. Välj namnområdet i listan där du vill lägga till en privat slutpunkt.

  4. Välj Nätverk under Inställningar på den vänstra menyn.

    Fliken Nätverk – alternativet Valda nätverk

    Varning

    Som standard är alternativet Valda nätverk markerat. Om du inte anger en IP-brandväggsregel eller lägger till ett virtuellt nätverk kan namnområdet nås via offentligt Internet (med åtkomstnyckeln).

  5. Välj fliken Privata slutpunktsanslutningar överst på sidan.

  6. Välj knappen + Privat slutpunkt längst upp på sidan.

    Nätverkssidan – fliken Privata slutpunktsanslutningar – Lägg till privat slutpunktslänk

  7. sidan Grundinställningar följer du dessa steg:

    1. Välj den Azure-prenumeration där du vill skapa den privata slutpunkten.

    2. Välj resursgrupp för den privata slutpunktsresursen.

    3. Ange ett namn för den privata slutpunkten.

    4. Välj en region för den privata slutpunkten. Din privata slutpunkt måste finnas i samma region som det virtuella nätverket, men den kan finnas i en annan region än den privata länkresurs som du ansluter till.

    5. Välj Nästa: > längst ned på sidan.

      Sidan Skapa privat slutpunkt – grunder

  8. Följ dessa steg på sidan Resurs:

    1. Om du väljer Anslut till en Azure-resurs i min katalog som anslutningsmetod följer du dessa steg:
      1. Välj den Azure-prenumeration där Event Hubs namnområdet finns.

      2. För Resurstyp väljer du Microsoft.EventHub/namespaces som Resurstyp.

      3. För Resurs väljer du Event Hubs ett namnområde i listrutan.

      4. Bekräfta att underkällan Target är inställd på namnområdet.

      5. Välj Nästa: > längst ned på sidan.

        Sidan Skapa privat slutpunkt – resurs

    2. Om du väljer Anslut till en Azure-resurs via resurs-ID eller alias följer du dessa steg:
      1. Ange resurs-ID:t eller aliaset. Det kan vara resurs-ID:t eller aliaset som någon har delat med dig. Det enklaste sättet att hämta resurs-ID:t är att gå Event Hubs namnområdet i Azure Portal och kopiera delen av URI:n med början från /subscriptions/ . Se följande bild för ett exempel.

      2. För Målunderresurs anger du namnområdet. Det är typen av underresurs som din privata slutpunkt kan komma åt.

      3. (valfritt) Ange ett meddelande om begäran. Resursägaren ser det här meddelandet vid hantering av privat slutpunktsanslutning.

      4. Välj sedan Nästa: > längst ned på sidan.

        Skapa privat slutpunkt – Anslut med resurs-ID

  9. På sidan Konfiguration väljer du undernätet i ett virtuellt nätverk dit du vill distribuera den privata slutpunkten.

    1. Välj ett virtuellt nätverk. Endast virtuella nätverk i den valda prenumerationen och platsen visas i listrutan.

    2. Välj ett undernät i det virtuella nätverk som du har valt.

    3. Välj Nästa: > längst ned på sidan.

      Sidan Skapa privat slutpunkt – konfiguration

  10. På sidan Taggar skapar du eventuella taggar (namn och värden) som du vill associera med den privata slutpunktsresursen. Välj sedan knappen Granska + skapa längst ned på sidan.

  11. På sidan Granska + skapa granskar du alla inställningar och väljer Skapa för att skapa den privata slutpunkten.

    Skapa privat slutpunkt – sidan Granska och skapa

  12. Bekräfta att du ser den privata slutpunktsanslutning som du skapade visas i listan över slutpunkter. I det här exemplet godkänns den privata slutpunkten automatiskt eftersom du har anslutit till en Azure-resurs i din katalog och du har tillräcklig behörighet.

    Privat slutpunkt har skapats

Trusted Microsoft services

When you enable the Allow trusted Microsoft services to bypass this firewall setting, the following services are granted access to your Event Hubs resources.

Trusted service Supported usage scenarios
Azure Event Grid Allows Azure Event Grid to send events to event hubs in your Event Hubs namespace. You also need to do the following steps:
  • Enable system-assigned identity for a topic or a domain
  • Add the identity to the Azure Event Hubs Data Sender role on the Event Hubs namespace
  • Then, configure the event subscription that uses an event hub as an endpoint to use the system-assigned identity.

For more information, see Event delivery with a managed identity

Azure Monitor (Diagnostic Settings) Allows Azure Monitor to send diagnostic information to event hubs in your Event Hubs namespace. Azure Monitor can read from the event hub and also write data to the event hub.
Azure Stream Analytics Allows an Azure Stream Analytics job to read data from (input) or write data to (output) event hubs in your Event Hubs namespace.

Important: The Stream Analytics job should be configured to use a managed identity to access the event hub. For more information, see Use managed identities to access Event Hub from an Azure Stream Analytics job (Preview).

Azure IoT Hub Allows IoT Hub to send messages to event hubs in your Event Hub namespace. You also need to do the following steps:
  • Enable system-assigned identity for your IoT hub
  • Add the identity to the Azure Event Hubs Data Sender role on the Event Hubs namespace.
  • Then, configure the IoT Hub that uses an event hub as a custom endpoint to use the identity-based authentication.
Azure API Management

The API Management service allows you to send events to an event hub in your Event Hubs namespace.

Om du vill tillåta att betrodda tjänster får åtkomst till namnområdet växlar du till fliken Brandväggar och virtuella nätverk på sidan Nätverk och väljer Ja för Tillåt betrodda Microsoft-tjänster att kringgå brandväggen.

Lägga till en privat slutpunkt med PowerShell

I följande exempel visas hur du använder Azure PowerShell för att skapa en privat slutpunktsanslutning. Det skapar inte ett dedikerat kluster åt dig. Följ stegen i den här artikeln för att skapa ett dedikerat Event Hubs kluster.

$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


Konfigurera den privata DNS-zonen

Skapa en privat DNS-zon Event Hubs en domän och skapa en kopplingslänk till det virtuella nätverket:

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

Hantera privata slutpunkter med Azure Portal

När du skapar en privat slutpunkt måste anslutningen godkännas. Om resursen som du skapar en privat slutpunkt för finns i din katalog kan du godkänna anslutningsbegäran förutsatt att du har tillräcklig behörighet. Om du ansluter till en Azure-resurs i en annan katalog måste du vänta tills resursens ägare har godkänt din anslutningsbegäran.

Det finns fyra etablerings tillstånd:

Tjänståtgärd Tillstånd för privat slutpunkt för tjänstkonsument Beskrivning
Ingen Väntar Anslutningen skapas manuellt och väntar på godkännande från Private Link resursägaren.
Godkänn Godkända Anslutningen godkändes automatiskt eller manuellt och är redo att användas.
Avvisa Avslagen Anslutningen avvisades av den privata länkens resursägare.
Ta bort Frånkopplad Anslutningen har tagits bort av resursägaren för den privata länken. Den privata slutpunkten blir informativ och bör tas bort för rensning.

Godkänna, avvisa eller ta bort en privat slutpunktsanslutning

  1. Logga in på Azure-portalen.
  2. I sökfältet skriver du in event hubs.
  3. Välj det namnområde som du vill hantera.
  4. Välj fliken Nätverk.
  5. Gå till lämpligt avsnitt nedan baserat på den åtgärd som du vill: godkänna, avvisa eller ta bort.

Godkänna en privat slutpunktsanslutning

  1. Om det finns några väntande anslutningar visas en anslutning listad med Väntande i etableringstillståndet.

  2. Välj den privata slutpunkt som du vill godkänna

  3. Välj knappen Godkänn.

    Godkänna privat slutpunkt

  4. På sidan Godkänn anslutning lägger du till en kommentar (valfritt) och väljer Ja. Om du väljer Nej händer ingenting.

  5. Du bör se status för den privata slutpunktsanslutningen i listan som har ändrats till Godkänd.

Avvisa en privat slutpunktsanslutning

  1. Om det finns några privata slutpunktsanslutningar som du vill avvisa, oavsett om det är en väntande begäran eller en befintlig anslutning, väljer du anslutningen och klickar på knappen Avvisa.

    Avvisa privat slutpunkt

  2. På sidan Avvisa anslutning anger du en kommentar (valfritt) och väljer Ja. Om du väljer Nej händer ingenting.

  3. Du bör se att statusen för anslutningen till den privata slutpunkten i listan har ändrats till Avvisad.

Ta bort en privat slutpunktsanslutning

  1. Om du vill ta bort en privat slutpunktsanslutning markerar du den i listan och väljer Ta bort i verktygsfältet.
  2. På sidan Ta bort anslutning väljer du Ja för att bekräfta borttagningen av den privata slutpunkten. Om du väljer Nej händer ingenting.
  3. Du bör se att statusen har ändrats till Frånkopplad. Sedan ser du att slutpunkten försvinner från listan.

Du bör kontrollera att resurser i det virtuella nätverket för den privata slutpunkten ansluter till ditt Event Hubs-namnområde via en privat IP-adress och att de har rätt integrering av privata DNS-zoner.

Skapa först en virtuell dator genom att följa stegen i Skapa en virtuell Windows-dator i Azure Portal

fliken Nätverk:

  1. Ange Virtuellt nätverk och Undernät. Du måste välja Virtual Network där du distribuerade den privata slutpunkten.
  2. Ange en offentlig IP-resurs.
  3. För Nätverkssäkerhetsgrupp för nätverkskort väljer du Ingen.
  4. För Belastningsutjämning väljer du Nej.

Anslut till den virtuella datorn, öppna kommandoraden och kör följande kommando:

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

Du bör se ett resultat som ser ut så här.

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

Begränsningar och designöverväganden

Prissättning: Prisinformation finns i Azure Private Link priser.

Begränsningar: Den här funktionen är tillgänglig i alla offentliga Azure-regioner.

Maximalt antal privata slutpunkter per Event Hubs namnområde: 120.

Mer information finns i Azure Private Link tjänst: Begränsningar

Nästa steg