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

U kunt privé-eindpunten gebruiken om inkomend verkeer van gebeurtenissen rechtstreeks vanuit uw virtuele netwerk naar uw aangepaste onderwerpen en domeinen veilig via een privékoppeling toe te staan zonder via het openbare internet te gaan. Het privé-eindpunt maakt gebruik van een IP-adres uit de adresruimte van het virtuele netwerk 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 Azure Portal gebruikt om een privé-eindpunt te maken voor een onderwerp of een domein.

Notitie

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

Voor 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. Vul op de pagina Basis van de wizard Onderwerp maken de vereiste velden in en selecteer vervolgens Volgende: Netwerk.

    Afbeelding met de selectie van de link Netwerken onderaan de pagina.

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

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

  3. Selecteer in de sectie Privé-eindpuntverbindingen de knop + Privé-eindpunt.

    Schermopname van de knop Privé-eindpunt op de pagina Onderwerp maken.

  4. Volg op de pagina Privé-eindpunt maken deze stappen:

    1. Voer bij Naam een naam in voor het privé-eindpunt.
    2. Selecteer een virtueel netwerk. Alleen virtuele netwerken in het geselecteerde abonnement en de locatie worden weergegeven in de vervolgkeuzelijst.
    3. Selecteer een subnet in het virtuele netwerk dat u hebt geselecteerd.
    4. Selecteer of u het privé-eindpunt wilt integreren met een privé-DNS-zone.
    5. Selecteren OK.

    Schermopname van de pagina Privé-eindpunt maken.

  5. Selecteer nu onder aan de pagina op de pagina Onderwerp maken de optie Controleren en maken.

  6. Selecteer Maken op de pagina Beoordelen en maken.

Voor een bestaand onderwerp

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

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

    Schermopname van de pagina Openbare netwerktoegang met alleen de optie Privé-eindpunten geselecteerd.

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

    Schermopname van de selectie van + Privé-eindpuntkoppeling op het tabblad Privé-eindpuntverbinding.

  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 zich in een andere regio bevinden dan de private link-resource (in dit voorbeeld een Event Grid-onderwerp).

    6. Selecteer Volgende: Bron >.

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

  5. Bevestig op de pagina Resource dat het onderwerp is geselecteerd voor doelsubresource en selecteer vervolgens Volgende: Virtual Network>.

    Schermopname waarop de pagina Resource van de wizard Privé-eindpunt maken wordt weergegeven.

  6. Selecteer op de pagina Virtual Network het subnet in een virtual network waar u het privé-eindpunt wilt implementeren.

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

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

    3. Geef op of het IP-adres statisch of dynamisch moet worden toegewezen.

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

    5. Selecteer Volgende: DNS >.

      Schermopname van de pagina Virtueel netwerk van de wizard 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.

    Schermafbeelding 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 Beoordelen en maken.

  9. Controleer op Controleren + 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 als u over voldoende machtigingen beschikt. Als u verbinding maakt met een Azure-resource in een andere map, moet u wachten tot de eigenaar van die resource uw verbindingsaanvraag goedkeurt.

Er zijn vier inrichtingsstatussen:

Serviceactie Status van privé-eindpunt van serviceafnemer Beschrijving
Geen In afwachting De verbinding wordt handmatig gemaakt en wacht op goedkeuring van de eigenaar van de private Link-resource.
Goedkeuren Goedgekeurd De verbinding werd automatisch of handmatig goedgekeurd en is klaar om te worden gebruikt.
Verwerpen 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 privé-eindpuntverbinding goedkeurt of weigert.

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

Een privé-eindpunt goedkeuren

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

Notitie

De stappen die in deze sectie worden weergegeven, zijn meestal 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.

    Schermopname van een privé-eindpuntverbinding met de status In behandeling op het tabblad Netwerken.

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

    Schermopname van het dialoogvenster Verbinding goedkeuren met een opmerkingenveld en de knop Ja.

  3. Controleer of de status van het eindpunt wordt weergegeven als Goedgekeurd.

    Schermopname van de privé-eindpuntverbinding met de goedgekeurde status.

Een privé-eindpunt weigeren

U kunt een privé-eindpunt weigeren dat de status In behandeling of de goedgekeurde status heeft. Voer de volgende stappen uit om af te wijzen:

Notitie

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

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

    Schermopname van het tabblad Privé-eindpuntverbindingen met de knop Weigeren geselecteerd.

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

    Schermopname van het dialoogvenster Verbinding weigeren met een opmerkingenveld en de knop Ja.

  3. Controleer of de status van het eindpunt wordt weergegeven als Geweigerd.

    Schermopname van de privé-eindpuntverbinding met de status Geweigerd.

    Notitie

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

Azure CLI gebruiken

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 <RESOURCE 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 die u in dit voorbeeld moet noteren, zijn:

  • private-connection-resource-idGeef voor de resource-id van het onderwerp of domein op. In het voorgaande voorbeeld wordt het type: onderwerp gebruikt.
  • Voor group-ids, geeft u topic of domain op. In het voorgaande voorbeeld topic wordt gebruikt.

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

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

Notitie

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

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 bedoeld voor onderwerpen. U kunt vergelijkbare stappen gebruiken om privé-eindpunten te maken voor domeinen.

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

In het volgende CLI-voorbeeldfragment ziet u hoe u een privé-eindpuntverbinding 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 privé-eindpuntverbinding kunt weigeren.

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

Openbare netwerktoegang uitschakelen

Openbare netwerktoegang is standaard 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 maakt voor een onderwerp of domein 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 bedoeld 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 bedoeld voor onderwerpen. U kunt vergelijkbare stappen gebruiken om privé-eindpunten voor domeinen af te wijzen.

# 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 de Azure-portal gebruikt, kunt u geen eindpunt goedkeuren dat is geweigerd.