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.
Selecteer op de pagina Basisbeginselen van de wizard Onderwerp makende optie Volgende: Netwerken onderaan de pagina nadat u de vereiste velden hebt ingevuld.
Als u toegang tot het Event Grid-onderwerp via een privé-eindpunt wilt toestaan, selecteert u de optie Persoonlijke toegang .
Zie de volgende sectie voor stappen voor het toevoegen van een privé-eindpunt.
Voor een bestaand onderwerp
Meld u aan bij de Azure Portal en navigeer naar uw onderwerp of domein.
Ga naar het tabblad Netwerken van uw onderwerppagina. Selecteer op het tabblad Openbare toegang de optie Alleen privé-eindpunten.
Ga naar het tabblad Privé-eindpuntverbindingen en selecteer vervolgens + Privé-eindpunt op de werkbalk.
Voer op de pagina Basisinformatie de volgende stappen uit:
Selecteer een Azure-abonnement waarin u het privé-eindpunt wilt maken.
Selecteer een Azure-resourcegroep voor het privé-eindpunt.
Voer een naam in voor het eindpunt.
Werk indien nodig de naam voor de netwerkinterface bij.
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).
Selecteer vervolgens De knop Volgende: Resource > onderaan de pagina.
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.
Op de pagina Virtual Network selecteert u het subnet in een virtueel netwerk waarnaar u het privé-eindpunt wilt implementeren.
Selecteer een virtueel netwerk. Alleen virtuele netwerken in het geselecteerde abonnement en de geselecteerde locatie worden weergegeven in de vervolgkeuzelijst.
Selecteer een subnet in het virtuele netwerk dat u hebt geselecteerd.
Geef op of u het IP-adres statisch of dynamisch wilt toewijzen.
Selecteer een bestaande toepassingsbeveiligingsgroep of maak er een en koppel deze vervolgens aan het privé-eindpunt.
Selecteer de knop Volgende: DNS > onderaan de pagina.
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.
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.
Controleer op beoordelen en maken alle instellingen en selecteer Maken om het privé-eindpunt te maken.
Verbinding met private link beheren
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.
- Meld u aan bij de Azure-portal.
- Typ in de zoekbalk Event Grid-onderwerpen of Event Grid-domeinen.
- Selecteer het onderwerp of domein dat u wilt beheren.
- Selecteer het tabblad Netwerken.
- 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.
Selecteer het privé-eindpunt dat u wilt goedkeuren en selecteer Goedkeuren op de werkbalk.
Voer in het dialoogvenster Verbinding goedkeuren een opmerking in (optioneel) en selecteer Ja.
Controleer of u de status van het eindpunt ziet als Goedgekeurd.
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.
Selecteer het privé-eindpunt dat u wilt weigeren en selecteer Weigeren op de werkbalk.
Voer in het dialoogvenster Verbinding weigeren een opmerking in (optioneel) en selecteer Ja.
Controleer of u de status van het eindpunt ziet als Geweigerd.
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 <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 in dit voorbeeld zijn:
- Geef voor
private-connection-resource-id
de resource-id van het onderwerp of domein op. In het voorgaande voorbeeld wordt het type: onderwerp gebruikt. - voor
group-ids
, geef of optopic
domain
. In het voorgaande voorbeeldtopic
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 <RESOURCE 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 <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 in dit voorbeeld zijn:
- Geef voor
private-connection-resource-id
de resource-id van het onderwerp of domein op. In het voorgaande voorbeeld wordt het type: onderwerp gebruikt. - voor
group-ids
, geef of optopic
domain
. In het voorgaande voorbeeldtopic
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 <RESOURCE 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
- Zie IP-firewall configureren voor Azure Event Grid onderwerpen of domeinen voor meer informatie over het configureren van IP-firewallinstellingen.
- Zie Problemen met netwerkconnectiviteit oplossen om problemen met de netwerkverbinding op te lossen