Privé-eindpunten configureren voor Azure Event Grid aangepaste onderwerpen of domeinen

U kunt privé-eindpunten gebruiken om het inkomen van gebeurtenissen rechtstreeks vanuit uw virtuele netwerk naar uw aangepaste onderwerpen en domeinen veilig toe te staan via een privékoppeling zonder dat u via het openbare internet hoeft te gaan. Het privé-eindpunt gebruikt een IP-adres uit de VNet-adresruimte voor uw aangepaste onderwerp of domein. Zie Netwerkbeveiliging voor meer conceptuele informatie.

In dit artikel wordt beschreven hoe u privé-eindpunten configureert voor aangepaste onderwerpen of domeinen.

Notitie

Op dit moment worden privé-eindpunten niet ondersteund voor systeemonderwerpen.

Azure Portal gebruiken

In deze sectie wordt beschreven hoe u de Azure Portal gebruikt om een privé-eindpunt voor een onderwerp of een domein te maken.

Notitie

De stappen die in deze sectie worden weergegeven, zijn voornamelijk bedoeld voor aangepaste onderwerpen. U kunt vergelijkbare stappen gebruiken om privé-eindpunten voor domeinen te maken.

Bij het maken van een nieuw onderwerp

In deze sectie wordt beschreven hoe u privénetwerktoegang inschakelt voor een Event Grid-onderwerp of een domein. Zie Een aangepast onderwerp maken voor stapsgewijze instructies voor het maken van een nieuw onderwerp.

  1. Selecteer op de pagina Basisbeginselen van de wizard Onderwerp makende optie Volgende: Netwerken onderaan de pagina nadat u de vereiste velden hebt ingevuld.

    Afbeelding van de selectie van de koppeling Netwerken onderaan de pagina.

  2. Als u toegang tot het Event Grid-onderwerp via een privé-eindpunt wilt toestaan, selecteert u de optie Persoonlijke toegang .

    Afbeelding van de selectie van de optie Persoonlijke toegang op de pagina Netwerken van de wizard Onderwerp maken.

  3. Zie de volgende sectie voor stappen voor het toevoegen van een privé-eindpunt.

Voor een bestaand onderwerp

  1. Meld u aan bij de Azure Portal en navigeer naar uw onderwerp of domein.

  2. Ga naar het tabblad Netwerken van uw onderwerppagina. Selecteer op het tabblad Openbare toegang de optie Alleen privé-eindpunten.

    Schermopname van de pagina Openbare netwerktoegang met de optie Alleen privé-eindpunten geselecteerd.

  3. Ga naar het tabblad Privé-eindpuntverbindingen en selecteer vervolgens + Privé-eindpunt op de werkbalk.

    Schermopname van de selectie van de koppeling + Privé-eindpunt op het tabblad Verbinding met privé-eindpunt.

  4. Voer op de pagina Basisinformatie de volgende stappen uit:

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

    2. Selecteer een Azure-resourcegroep voor het privé-eindpunt.

    3. Voer een naam in voor het eindpunt.

    4. Werk indien nodig de naam voor de netwerkinterface bij.

    5. Selecteer de regio voor het eindpunt. Uw privé-eindpunt moet zich in dezelfde regio bevinden als uw virtuele netwerk, maar kan zich in een andere regio bevinden dan de privékoppelingsresource (in dit voorbeeld een Event Grid-onderwerp).

    6. Selecteer vervolgens De knop Volgende: Resource > onderaan de pagina.

      Schermopname van de pagina Basisbeginselen van de wizard Een privé-eindpunt maken.

  5. Voer op de pagina Resource de volgende stappen uit, controleer of het onderwerp is geselecteerd voor Doelsubresource en selecteer vervolgens Volgende: Virtual Network > knop onderaan de pagina.

    Schermopname van de pagina Resource van de wizard Een privé-eindpunt maken.

  6. Op de pagina Virtual Network selecteert u het subnet in een virtueel netwerk waarnaar 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. Geef op of u het IP-adres statisch of dynamisch wilt toewijzen.

    4. Selecteer een bestaande toepassingsbeveiligingsgroep of maak er een en koppel deze vervolgens aan het privé-eindpunt.

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

      Schermopname van de pagina Netwerken van de wizard Een privé-eindpunt maken.

  7. Selecteer op de pagina DNS of u het privé-eindpunt wilt integreren met een privé-DNS-zone en selecteer vervolgens Volgende: Tags onderaan de pagina.

    Schermopname van de DNS-pagina van de wizard Een privé-eindpunt maken.

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

  9. Controleer op beoordelen en maken alle instellingen en selecteer Maken om het privé-eindpunt te maken.

Wanneer u een privé-eindpunt maakt, moet de verbinding worden goedgekeurd. Als de resource waarvoor u een privé-eindpunt maakt zich in uw directory bevindt, kunt u de verbindingsaanvraag goedkeuren op voorwaarde dat u over voldoende machtigingen beschikt. Als u verbinding maakt met een Azure-resource in een andere map, moet u wachten totdat 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 wacht op goedkeuring van de resource-eigenaar van de privékoppeling.
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 privé-eindpuntverbinding beheren

In de volgende secties ziet u hoe u een verbinding met een privé-eindpunt goedkeurt of afwijst.

  1. Meld u aan bij de Azure-portal.
  2. Typ in de zoekbalk Event Grid-onderwerpen of Event Grid-domeinen.
  3. Selecteer het onderwerp of domein dat u wilt beheren.
  4. Selecteer het tabblad Netwerken.
  5. Als er verbindingen zijn die in behandeling zijn, ziet u een verbinding met In behandeling in de inrichtingsstatus.

Een privé-eindpunt goedkeuren

U kunt een privé-eindpunt goedkeuren dat de status In behandeling heeft. Volg deze stappen om goed te keuren:

Notitie

De stappen die in deze sectie worden weergegeven, zijn voornamelijk bedoeld voor onderwerpen. U kunt vergelijkbare stappen gebruiken om privé-eindpunten voor domeinen goed te keuren.

  1. Selecteer het privé-eindpunt dat u wilt goedkeuren en selecteer Goedkeuren op de werkbalk.

    Privé-eindpunt - status in behandeling

  2. Voer in het dialoogvenster Verbinding goedkeuren een opmerking in (optioneel) en selecteer Ja.

    Privé-eindpunt - goedkeuren

  3. Controleer of u de status van het eindpunt ziet als Goedgekeurd.

    Privé-eindpunt - goedgekeurde status

Een privé-eindpunt weigeren

U kunt een privé-eindpunt met de status In behandeling of goedgekeurde status weigeren. Als u wilt weigeren, volgt u deze stappen:

Notitie

De stappen die in deze sectie worden weergegeven, zijn voor onderwerpen. U kunt vergelijkbare stappen gebruiken om privé-eindpunten voor domeinen te weigeren.

  1. Selecteer het privé-eindpunt dat u wilt weigeren en selecteer Weigeren op de werkbalk.

    Schermopname van 'Netwerken - Privé-eindpuntverbindingen' met 'Weigeren' geselecteerd.

  2. Voer in het dialoogvenster Verbinding weigeren een opmerking in (optioneel) en selecteer Ja.

    Privé-eindpunt - weigeren

  3. Controleer of u de status van het eindpunt ziet als Geweigerd.

    Privé-eindpunt - geweigerde status

    Notitie

    U kunt een privé-eindpunt in de Azure Portal niet goedkeuren nadat het is geweigerd.

Azure CLI gebruiken

Als u een privé-eindpunt wilt maken, gebruikt u de methode az network private-endpoint create , zoals wordt weergegeven in het volgende voorbeeld:

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

Zie de documentatie voor az network private-endpoint create voor beschrijvingen van de parameters die in het voorbeeld worden gebruikt. Enkele punten in dit voorbeeld zijn:

  • Geef voor private-connection-resource-idde resource-id van het onderwerp of domein op. In het voorgaande voorbeeld wordt het type: onderwerp gebruikt.
  • voor group-ids, geef of op topicdomain. In het voorgaande voorbeeld topic wordt gebruikt.

Als u een privé-eindpunt wilt verwijderen, gebruikt u de methode az network private-endpoint delete , zoals wordt weergegeven in het volgende voorbeeld:

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

Notitie

De stappen die in deze sectie worden weergegeven, zijn voor onderwerpen. U kunt vergelijkbare stappen gebruiken om privé-eindpunten voor domeinen te maken.

Vereisten

Werk de Azure Event Grid-extensie voor CLI bij door de volgende opdracht uit te voeren:

az extension update -n eventgrid

Als de extensie niet is geïnstalleerd, voert u de volgende opdracht uit om deze te installeren:

az extension add -n eventgrid

Een privé-eindpunt maken

Als u een privé-eindpunt wilt maken, gebruikt u de methode az network private-endpoint create , zoals wordt weergegeven in het volgende voorbeeld:

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

Zie de documentatie voor az network private-endpoint create voor beschrijvingen van de parameters die in het voorbeeld worden gebruikt. Enkele punten in dit voorbeeld zijn:

  • Geef voor private-connection-resource-idde resource-id van het onderwerp of domein op. In het voorgaande voorbeeld wordt het type: onderwerp gebruikt.
  • voor group-ids, geef of op topicdomain. In het voorgaande voorbeeld topic wordt gebruikt.

Als u een privé-eindpunt wilt verwijderen, gebruikt u de methode az network private-endpoint delete , zoals wordt weergegeven in het volgende voorbeeld:

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

Notitie

De stappen die in deze sectie worden weergegeven, zijn voor onderwerpen. U kunt vergelijkbare stappen gebruiken om privé-eindpunten voor domeinen te maken.

Voorbeeldscript

Hier volgt een voorbeeldscript waarmee de volgende Azure-resources worden gemaakt:

  • Resourcegroep
  • Virtueel netwerk
  • Subnet in het virtuele netwerk
  • Azure Event Grid onderwerp
  • Privé-eindpunt voor het onderwerp

Notitie

De stappen die in deze sectie worden weergegeven, zijn voor onderwerpen. U kunt vergelijkbare stappen gebruiken om privé-eindpunten voor domeinen te maken.

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

Een privé-eindpunt goedkeuren

Het volgende CLI-voorbeeldfragment laat zien hoe u een verbinding met een privé-eindpunt goedkeurt.

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

Een privé-eindpunt weigeren

In het volgende CLI-voorbeeldfragment ziet u hoe u een verbinding met een privé-eindpunt kunt weigeren.

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

Openbare netwerktoegang uitschakelen

Standaard is openbare netwerktoegang ingeschakeld voor een Event Grid-onderwerp of -domein. Als u alleen toegang via privé-eindpunten wilt toestaan, schakelt u openbare netwerktoegang uit door de volgende opdracht uit te voeren:

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

PowerShell gebruiken

In deze sectie wordt beschreven hoe u een privé-eindpunt voor een onderwerp of domein maakt met behulp van PowerShell. Hier volgt een voorbeeldscript met opmerkingen.


# 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  

Een privé-eindpuntverbinding goedkeuren

In het volgende PowerShell-voorbeeldfragment ziet u hoe u een privé-eindpunt goedkeurt.

Notitie

De stappen die in deze sectie worden weergegeven, zijn voor onderwerpen. U kunt vergelijkbare stappen gebruiken om privé-eindpunten voor domeinen goed te keuren.


# 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

Een privé-eindpuntverbinding weigeren

In het volgende voorbeeld ziet u hoe u een privé-eindpunt kunt weigeren met behulp van PowerShell. U kunt de GUID voor het privé-eindpunt ophalen uit het resultaat van de vorige GET-opdracht.

Notitie

De stappen die in deze sectie worden weergegeven, zijn voor onderwerpen. U kunt vergelijkbare stappen gebruiken om privé-eindpunten voor domeinen te weigeren.

# 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

U kunt de verbinding goedkeuren, zelfs nadat deze is geweigerd via de API. Als u Azure Portal gebruikt, kunt u een geweigerd eindpunt niet goedkeuren.

Volgende stappen