Konfigurera privata slutpunkter för Azure Event Grid anpassade ämnen eller domäner

Du kan använda privata slutpunkter för att tillåta inkommande händelser direkt från ditt virtuella nätverk till dina anpassade ämnen och domäner på ett säkert sätt via en privat länk utan att gå via det offentliga Internet. Den privata slutpunkten använder en IP-adress från det virtuella nätverkets adressutrymme för ditt anpassade ämne eller din domän. Mer konceptuell information finns i Nätverkssäkerhet.

I den här artikeln beskrivs hur du konfigurerar privata slutpunkter för anpassade ämnen eller domäner.

Anteckning

För närvarande stöds inte privata slutpunkter för systemämnen.

Använda Azure-portalen

Det här avsnittet visar hur du använder Azure Portal för att skapa en privat slutpunkt för ett ämne eller en domän.

Anteckning

De steg som visas i det här avsnittet gäller främst anpassade ämnen. Du kan använda liknande steg för att skapa privata slutpunkter för domäner.

När du skapar ett nytt ämne

Det här avsnittet visar hur du aktiverar åtkomst till privata nätverk för ett Event Grid-ämne eller en domän. Stegvisa instruktioner för att skapa ett nytt ämne finns i Skapa ett anpassat ämne.

  1. På sidan Grundläggande inställningar i guiden Skapa ämne väljer du Nästa: Nätverk längst ned på sidan när du har fyllt i de obligatoriska fälten.

    Bild som visar valet av nätverkslänk längst ned på sidan.

  2. Om du vill tillåta åtkomst till Event Grid-ämnet via en privat slutpunkt väljer du alternativet Privat åtkomst .

    Bild som visar alternativet Privat åtkomst på sidan Nätverk i guiden Skapa ämne.

  3. Se nästa avsnitt för steg för att lägga till en privat slutpunkt.

För ett befintligt ämne

  1. Logga in på Azure Portal och gå till ditt ämne eller din domän.

  2. Växla till fliken Nätverk på ämnessidan. På fliken Offentlig åtkomst väljer du Endast privata slutpunkter.

    Skärmbild som visar åtkomstsidan för offentligt nätverk med alternativet Endast privata slutpunkter valt.

  3. Växla till fliken Privata slutpunktsanslutningar och välj sedan + Privat slutpunkt i verktygsfältet.

    Skärmbild som visar valet av länken + Privat slutpunkt på fliken Privat slutpunktsanslutning.

  4. På sidan Grundläggande följer du dessa steg:

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

    2. Välj en Azure-resursgrupp för den privata slutpunkten.

    3. Ange ett namn för slutpunkten.

    4. Uppdatera namnetnätverksgränssnittet om det behövs.

    5. Välj region för slutpunkten. Din privata slutpunkt måste finnas i samma region som ditt virtuella nätverk, men kan i en annan region än den privata länkresursen (i det här exemplet ett Event Grid-ämne).

    6. Välj sedan knappen Nästa: Resurs > längst ned på sidan.

      Skärmbild som visar sidan Grunder i guiden Skapa en privat slutpunkt.

  5. På sidan Resurs följer du de här stegen, bekräftar att ämnet har valts för Underresurs för mål och väljer sedan Nästa: Virtual Network > längst ned på sidan.

    Skärmbild som visar resurssidan i guiden Skapa en privat slutpunkt.

  6. På sidan Virtual Network 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. Ange om du vill att IP-adressen ska allokeras statiskt eller dynamiskt.

    4. Välj en befintlig programsäkerhetsgrupp eller skapa en och associera sedan med den privata slutpunkten.

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

      Skärmbild som visar sidan Nätverk i guiden Skapa en privat slutpunkt.

  7. sidan DNS väljer du om du vill att den privata slutpunkten ska integreras med en privat DNS-zon och väljer sedan Nästa: Taggar längst ned på sidan.

    Skärmbild som visar DNS-sidan i guiden Skapa en privat slutpunkt.

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

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

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 ägaren av resursen godkänner anslutningsbegäran.

Det finns fyra etableringstillstånd:

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

Hantera en privat slutpunktsanslutning

I följande avsnitt visas hur du godkänner eller avvisar en privat slutpunktsanslutning.

  1. Logga in på Azure-portalen.
  2. I sökfältet skriver du Event Grid-ämnen eller Event Grid-domäner.
  3. Välj det ämne eller den domän som du vill hantera.
  4. Välj fliken Nätverk.
  5. Om det finns några väntande anslutningar visas en anslutning med Väntande i etableringstillståndet.

Godkänna en privat slutpunkt

Du kan godkänna en privat slutpunkt som är i väntande tillstånd. Godkänn genom att följa dessa steg:

Anteckning

De steg som visas i det här avsnittet gäller främst ämnen. Du kan använda liknande steg för att godkänna privata slutpunkter för domäner.

  1. Välj den privata slutpunkt som du vill godkänna och välj Godkänn i verktygsfältet.

    Privat slutpunkt – väntande tillstånd

  2. I dialogrutan Godkänn anslutning anger du en kommentar (valfritt) och väljer Ja.

    Privat slutpunkt – godkänn

  3. Bekräfta att du ser statusen för slutpunkten som Godkänd.

    Privat slutpunkt – godkänt tillstånd

Avvisa en privat slutpunkt

Du kan avvisa en privat slutpunkt som är i väntande tillstånd eller godkänt tillstånd. Följ dessa steg om du vill avvisa:

Anteckning

Stegen som visas i det här avsnittet gäller ämnen. Du kan använda liknande steg för att avvisa privata slutpunkter för domäner.

  1. Välj den privata slutpunkt som du vill avvisa och välj Avvisa i verktygsfältet.

    Skärmbild som visar

  2. I dialogrutan Avvisa anslutning anger du en kommentar (valfritt) och väljer Ja.

    Privat slutpunkt – avvisa

  3. Bekräfta att du ser statusen för slutpunkten som Avvisad.

    Privat slutpunkt – nekat tillstånd

    Anteckning

    Du kan inte godkänna en privat slutpunkt i Azure Portal när den har avvisats.

Använda Azure CLI

Om du vill skapa en privat slutpunkt använder du metoden az network private-endpoint create enligt följande exempel:

az network private-endpoint create \
    --resource-group <RESOURECE GROUP NAME> \
    --name <PRIVATE ENDPOINT NAME> \
    --vnet-name <VIRTUAL NETWORK NAME> \
    --subnet <SUBNET NAME> \
    --private-connection-resource-id "/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.EventGrid/topics/<TOPIC NAME>" \
    --connection-name <PRIVATE LINK SERVICE CONNECTION NAME> \
    --location <LOCATION> \
    --group-ids topic

Beskrivningar av de parametrar som används i exemplet finns i dokumentationen för az network private-endpoint create. Några punkter att notera i det här exemplet är:

  • För private-connection-resource-idanger du resurs-ID för ämnet eller domänen. I föregående exempel används typen: ämne.
  • för group-ids, ange topic eller domain. I föregående exempel topic används.

Om du vill ta bort en privat slutpunkt använder du metoden az network private-endpoint delete enligt följande exempel:

az network private-endpoint delete --resource-group <RESOURECE GROUP NAME> --name <PRIVATE ENDPOINT NAME>

Anteckning

Stegen som visas i det här avsnittet är för ämnen. Du kan använda liknande steg för att skapa privata slutpunkter för domäner.

Krav

Uppdatera Azure Event Grid-tillägget för CLI genom att köra följande kommando:

az extension update -n eventgrid

Om tillägget inte är installerat kör du följande kommando för att installera det:

az extension add -n eventgrid

Skapa en privat slutpunkt

Om du vill skapa en privat slutpunkt använder du metoden az network private-endpoint create enligt följande exempel:

az network private-endpoint create \
    --resource-group <RESOURECE GROUP NAME> \
    --name <PRIVATE ENDPOINT NAME> \
    --vnet-name <VIRTUAL NETWORK NAME> \
    --subnet <SUBNET NAME> \
    --private-connection-resource-id "/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.EventGrid/topics/<TOPIC NAME>" \
    --connection-name <PRIVATE LINK SERVICE CONNECTION NAME> \
    --location <LOCATION> \
    --group-ids topic

Beskrivningar av de parametrar som används i exemplet finns i dokumentationen för az network private-endpoint create. Några punkter att notera i det här exemplet är:

  • För private-connection-resource-idanger du resurs-ID för ämnet eller domänen. I föregående exempel används typen: ämne.
  • för group-ids, ange topic eller domain. I föregående exempel topic används.

Om du vill ta bort en privat slutpunkt använder du metoden az network private-endpoint delete enligt följande exempel:

az network private-endpoint delete --resource-group <RESOURECE GROUP NAME> --name <PRIVATE ENDPOINT NAME>

Anteckning

Stegen som visas i det här avsnittet är för ämnen. Du kan använda liknande steg för att skapa privata slutpunkter för domäner.

Exempelskript

Här är ett exempelskript som skapar följande Azure-resurser:

  • Resursgrupp
  • Virtuellt nätverk
  • Undernät i det virtuella nätverket
  • Azure Event Grid ämne
  • Privat slutpunkt för ämnet

Anteckning

Stegen som visas i det här avsnittet är för ämnen. Du kan använda liknande steg för att skapa privata slutpunkter för domäner.

subscriptionID="<AZURE SUBSCRIPTION ID>"
resourceGroupName="<RESOURCE GROUP NAME>"
location="<LOCATION>"
vNetName="<VIRTUAL NETWORK NAME>"
subNetName="<SUBNET NAME>"
topicName = "<TOPIC NAME>"
connectionName="<ENDPOINT CONNECTION NAME>"
endpointName=<ENDPOINT NAME>

# resource ID of the topic. replace <SUBSCRIPTION ID>, <RESOURCE GROUP NAME>, and <TOPIC NAME> 
# topicResourceID="/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.EventGrid/topics/<TOPIC NAME>"

# select subscription
az account set --subscription $subscriptionID

# create resource group
az group create --name $resourceGroupName --location $location

# create vnet 
az network vnet create \
    --resource-group $resourceGroupName \
    --name $vNetName \
    --address-prefix 10.0.0.0/16

# create subnet
az network vnet subnet create \
    --resource-group $resourceGroupName \
    --vnet-name $vNetName \
    --name $subNetName \
    --address-prefixes 10.0.0.0/24

# disable private endpoint network policies for the subnet
az network vnet subnet update \
    --resource-group $resourceGroupName \
    --vnet-name $vNetName \
    --name $subNetName \
    --disable-private-endpoint-network-policies true

# create event grid topic. update <LOCATION>
az eventgrid topic create \
    --resource-group $resourceGroupName \
    --name $topicName \
    --location $location

# verify that the topic was created.
az eventgrid topic show \
    --resource-group $resourceGroupName \
    --name $topicName

# create private endpoint for the topic you created
az network private-endpoint create \
    --resource-group $resourceGroupName \
    --name $endpointName \
    --vnet-name $vNetName \
    --subnet $subNetName \
    --private-connection-resource-id $topicResourceID \
    --connection-name $connectionName \
    --location $location \
    --group-ids topic

# get topic 
az eventgrid topic show \
    --resource-group $resourceGroupName \
    --name $topicName

Godkänn en privat slutpunkt

Följande CLI-exempelfragment visar hur du godkänner en privat slutpunktsanslutning.

az eventgrid topic private-endpoint-connection approve \
    --resource-group $resourceGroupName \
    --topic-name $topicName \
    --name  $endpointName \
    --description "connection approved"

Avvisa en privat slutpunkt

Följande CLI-exempelfragment visar hur du avvisar en privat slutpunktsanslutning.

az eventgrid topic private-endpoint-connection reject \
    --resource-group $resourceGroupName \
    --topic-name $topicName \
    --name $endpointName \
    --description "Connection rejected"

Inaktivera åtkomst till offentligt nätverk

Som standard är åtkomst till offentligt nätverk aktiverat för ett Event Grid-ämne eller en domän. Om du bara vill tillåta åtkomst via privata slutpunkter inaktiverar du åtkomsten till det offentliga nätverket genom att köra följande kommando:

az eventgrid topic update \
    --resource-group $resourceGroupName \
    --name $topicName \
    --public-network-access disabled

Använd PowerShell

Det här avsnittet visar hur du skapar en privat slutpunkt för ett ämne eller en domän med hjälp av PowerShell. Här är ett exempelskript med kommentarer.


# name of an Azure resource group to be created
$resourceGroupName = "contosorg"

# location where you want the resources to be created
$location ="eastus"

# name of the VNet to be created
$vnetName = "contosovnet"

# name of the subnet to be created in the VNet
$subnetName = "example-privatelinksubnet"

# name of the Event Grid topic to be created
$egridTopicName = "contosotopic"

# name of the private link service connection to be created
$privateLinkServiceConnectionName = "spegridplsconn"

# name of the private endpoint connection to be created
$privateEndpointConnectionName = "spegridpe11"

#

# create resource group
New-AzResourceGroup -Name $resourceGroupName -Location $location

# create virtual network
$virtualNetwork = New-AzVirtualNetwork `
                    -ResourceGroupName $resourceGroupName `
                    -Location $location `
                    -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

# get virtual network (optional)
$virtualNetwork = Get-AzVirtualNetwork `
                    -ResourceGroupName $resourceGroupName `
                    -Name $vnetName 

# create an Event Grid topic with public network access disabled. 
$topic = New-AzEventGridTopic -ResourceGroupName $resourceGroupName -Name $egridTopicName -Location $location -PublicNetworkAccess disabled

# create a private link service connection to the Event Grid topic. 
# For topics, set GroupId to 'topic'. For domains, it's 'domain'
$privateEndpointConnection = New-AzPrivateLinkServiceConnection `
                                -Name "privateLinkServiceConnectionName" `
                                -PrivateLinkServiceId $topic.id `
                                -GroupId "topic"

# get subnet info
$subnet = $virtualNetwork | Select -ExpandProperty subnets `
                             | Where-Object  {$_.Name -eq $subnetName }  

# now, you are ready to create a private endpoint 
$privateEndpoint = New-AzPrivateEndpoint -ResourceGroupName $resourceGroupName  `
                                        -Name privateEndpointConnectionName   `
                                        -Location $location `
                                        -Subnet  $subnet   `
                                        -PrivateLinkServiceConnection $privateEndpointConnection

# verify that the endpoint is created
Get-AzPrivateEndpoint -ResourceGroupName $resourceGroupName  -Name privateEndpointConnectionName  

Godkänna en privat slutpunktsanslutning

Följande PowerShell-exempelfragment visar hur du godkänner en privat slutpunkt.

Anteckning

Stegen som visas i det här avsnittet är för ämnen. Du kan använda liknande steg för att godkänna privata slutpunkter för domäner.


# list all private endpoints for the topic
$topic = Get-AzEventGridTopic -ResourceGroup <RESOURCE GROUP NAME> - Name <TOPIC NAME>
$endpointList = Get-AzPrivateEndpointConnection -PrivateLinkResourceId $topic.Id

# filter the private endpoints using a name
 $pseEndpoint = $endpointList | Where-Object {     $_.Name.StartsWith('<MYENDPOINTNAME>') }

# approve the endpoint connection
Approve-AzPrivateEndpointConnection -ResourceId $pseEndpoint.Id

# get the endpoint connection to verify that it's approved
Get-AzPrivateEndpointConnection -ResourceId $pseEndpoint.Id

Avvisa en privat slutpunktsanslutning

I följande exempel visas hur du avvisar en privat slutpunkt med hjälp av PowerShell. Du kan hämta GUID för den privata slutpunkten från resultatet av det tidigare GET-kommandot.

Anteckning

Stegen som visas i det här avsnittet är för ämnen. Du kan använda liknande steg för att avvisa privata slutpunkter för domäner.

# list all private endpoints for the topic
$topic = Get-AzEventGridTopic -ResourceGroup <RESOURCE GROUP NAME> - Name <TOPIC NAME>
$endpointList = Get-AzPrivateEndpointConnection -PrivateLinkResourceId $topic.Id


# filter the private endpoints using a name
 $pseEndpoint = $endpointList | Where-Object {     $_.Name.StartsWith('<MYENDPOINT>') }

# deny or reject the private endpoint connection
Deny-AzPrivateEndpointConnection -ResourceId $pseEndpoint.Id

# get the endpoint connection to verify that it's rejected
Get-AzPrivateEndpointConnection -ResourceId $pseEndpoint.Id

Du kan godkänna anslutningen även efter att den har avvisats via API:et. Om du använder Azure Portal kan du inte godkänna en slutpunkt som har avvisats.

Nästa steg