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ärdtjänster för kunder/partner 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 för in tjänsten i 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 åtkomstkontrollen.

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. Begäranden som blockeras ä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 i 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 Event Hubs ett namnområde med Azure Private Link behöver du följande entiteter eller behörigheter:

  • En Event Hubs namnrymd.
  • 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 Event Hubs namnområdet 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 i event hubs.

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

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

    Fliken Nätverk – valt nätverksalternativ

    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 överst på sidan.

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

  7. På 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. På sidan Resurs följer du dessa steg:

    1. Om du väljer att ansluta till Anslut Azure-resurs i min katalog 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 har angetts till 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 efter 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 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 där 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.

      Skapa privat slutpunkt – sidan 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

Betrodda Microsoft-tjänster

När du aktiverar inställningen Tillåt betrodda Microsoft-tjänster att kringgå den här brandväggsinställningen beviljas följande tjänster åtkomst till dina Event Hubs resurser.

Betrodd tjänst Användningsscenarier som stöds
Azure Event Grid Tillåter Azure Event Grid att skicka händelser till händelsehubbbar i Event Hubs namnområdet. Du måste också göra följande:
  • Aktivera system tilldelad identitet för ett ämne eller en domän
  • Lägg till identiteten i Azure Event Hubs dataavsändarrollen Event Hubs namnområdet
  • Konfigurera sedan händelseprenumerationen som använder en händelsehubb som slutpunkt för att använda den system tilldelade identiteten.

Mer information finns i Händelseleverans med en hanterad identitet

Azure Monitor (diagnostik Inställningar och åtgärdsgrupper) Tillåter Azure Monitor att skicka diagnostikinformation och aviseringsmeddelanden till händelsehubbbar i Event Hubs namnområdet. Azure Monitor kan läsa från händelsehubben och även skriva data till händelsehubben.
Azure Stream Analytics Tillåter ett Azure Stream Analytics jobb att läsa data från (indata) eller skriva data till(utdata ) händelsehubbbar i Event Hubs namnområdet.

Viktigt! Stream Analytics ska konfigureras för att använda en hanterad identitet för att få åtkomst till händelsehubben. Mer information finns i Använda hanterade identiteter för att komma åt Händelsehubb från ett Azure Stream Analytics-jobb (förhandsversion).

Azure IoT Hub Tillåter IoT Hub att skicka meddelanden till händelsehubbbar i händelsehubbens namnområde. Du måste också göra följande:
  • Aktivera system tilldelad identitet för din IoT-hubb
  • Lägg till identiteten i Azure Event Hubs dataavsändarrollen i Event Hubs namnområdet.
  • Konfigurera sedan den IoT Hub som använder en händelsehubb som en anpassad slutpunkt för att använda identitetsbaserad autentisering.
Azure API Management

Med API Management-tjänsten kan du skicka händelser till en händelsehubb i Event Hubs namnområdet.

Azure IoT Central

Tillåter IoT Central exportera data till händelsehubbbar i händelsehubbens namnområde. Du måste också göra följande:

  • Aktivera system tilldelad identitet för ditt IoT Central program.
  • Lägg till identiteten i Azure Event Hubs dataavsändarrollen på Event Hubs namnområdet.
  • Konfigurera sedan Event Hubs exportmålet på ditt IoT Central att använda identitetsbaserad autentisering.

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 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 katalogen 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 i 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äntar 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 att statusen för anslutningen till den privata slutpunkten i listan har ändrats till Godkänd.

Avvisa en privat slutpunktsanslutning

  1. Om det finns 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 Windows virtuell 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 öppnar du 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