Konfigurowanie prywatnych punktów końcowych dla Azure Event Grid niestandardowych tematów lub domen
Możesz użyć prywatnych punktów końcowych , aby zezwolić na ruch przychodzący zdarzeń bezpośrednio z sieci wirtualnej do niestandardowych tematów i domen za pośrednictwem łącza prywatnego bez przechodzenia przez publiczny Internet. Prywatny punkt końcowy używa adresu IP z przestrzeni adresowej sieci wirtualnej dla niestandardowego tematu lub domeny. Aby uzyskać więcej informacji koncepcyjnych, zobacz Zabezpieczenia sieci.
W tym artykule opisano sposób konfigurowania prywatnych punktów końcowych dla tematów niestandardowych lub domen.
Uwaga
Obecnie prywatne punkty końcowe nie są obsługiwane w przypadku tematów systemowych.
Korzystanie z witryny Azure Portal
W tej sekcji przedstawiono sposób użycia Azure Portal do utworzenia prywatnego punktu końcowego dla tematu lub domeny.
Uwaga
Kroki przedstawione w tej sekcji dotyczą głównie tematów niestandardowych. Możesz użyć podobnych kroków, aby utworzyć prywatne punkty końcowe dla domen.
Podczas tworzenia nowego tematu
W tej sekcji przedstawiono sposób włączania dostępu do sieci prywatnej dla tematu usługi Event Grid lub domeny. Aby uzyskać instrukcje krok po kroku dotyczące tworzenia nowego tematu, zobacz Tworzenie tematu niestandardowego.
Na stronie Podstawowe kreatora Tworzenie tematu wybierz pozycję Dalej: Sieć w dolnej części strony po wypełnieniu wymaganych pól.
Aby zezwolić na dostęp do tematu usługi Event Grid za pośrednictwem prywatnego punktu końcowego, wybierz opcję Dostęp prywatny .
Zobacz następną sekcję, aby uzyskać instrukcje dotyczące dodawania prywatnego punktu końcowego.
W przypadku istniejącego tematu
Zaloguj się do Azure Portal i przejdź do tematu lub domeny.
Przejdź do karty Sieć na stronie tematu. Na karcie Dostęp publiczny wybierz pozycję Tylko prywatne punkty końcowe.
Przejdź do karty Połączenia z prywatnym punktem końcowym , a następnie wybierz pozycję + Prywatny punkt końcowy na pasku narzędzi.
Na stronie Podstawy wykonaj następujące kroki:
Wybierz subskrypcję platformy Azure , w której chcesz utworzyć prywatny punkt końcowy.
Wybierz grupę zasobów platformy Azure dla prywatnego punktu końcowego.
Wprowadź nazwępunktu końcowego.
W razie potrzeby zaktualizuj nazwęinterfejsu sieciowego .
Wybierz region dla punktu końcowego. Prywatny punkt końcowy musi znajdować się w tym samym regionie co sieć wirtualna, ale może znajdować się w innym regionie niż zasób łącza prywatnego (w tym przykładzie temat usługi Event Grid).
Następnie wybierz przycisk Dalej: Zasób > w dolnej części strony.
Na stronie Zasób wykonaj następujące kroki, upewnij się, że temat jest wybrany dla podsób docelowy, a następnie wybierz przycisk Dalej: Virtual Network > w dolnej części strony.
Na stronie Virtual Network należy wybrać podsieć w sieci wirtualnej, w której chcesz wdrożyć prywatny punkt końcowy.
Wybierz sieć wirtualną. Na liście rozwijanej są wyświetlane tylko sieci wirtualne w aktualnie wybranej subskrypcji i lokalizacji.
Wybierz podsieć w wybranej sieci wirtualnej.
Określ, czy adres IP ma być przydzielany statycznie, czy dynamicznie.
Wybierz istniejącą grupę zabezpieczeń aplikacji lub utwórz grupę, a następnie skojarz z prywatnym punktem końcowym.
Wybierz przycisk Dalej: DNS > w dolnej części strony.
Na stronie DNS wybierz, czy prywatny punkt końcowy ma być zintegrowany z prywatną strefą DNS, a następnie wybierz pozycję Dalej: Tagi w dolnej części strony.
Na stronie Tagi utwórz wszystkie tagi (nazwy i wartości), które chcesz skojarzyć z zasobem prywatnego punktu końcowego. Następnie wybierz przycisk Przejrzyj i utwórz w dolnej części strony.
W obszarze Przeglądanie + tworzenie przejrzyj wszystkie ustawienia i wybierz pozycję Utwórz , aby utworzyć prywatny punkt końcowy.
Zarządzanie połączeniem usługi Private Link
Podczas tworzenia prywatnego punktu końcowego połączenie musi zostać zatwierdzone. Jeśli zasób, dla którego tworzysz prywatny punkt końcowy, znajduje się w katalogu, możesz zatwierdzić żądanie połączenia, pod warunkiem, że masz wystarczające uprawnienia. Jeśli łączysz się z zasobem platformy Azure w innym katalogu, musisz poczekać, aż właściciel tego zasobu zatwierdzi żądanie połączenia.
Istnieją cztery stany aprowizacji:
Akcja w usłudze | Stan prywatnego punktu końcowego odbiorcy usługi | Opis |
---|---|---|
Brak | Oczekiwanie | Połączenie jest tworzone ręcznie i oczekuje na zatwierdzenie od właściciela zasobu usługi Private Link. |
Zatwierdzenie | Approved (Zatwierdzono) | Połączenie zostało automatycznie lub ręcznie zatwierdzone i jest gotowe do użycia. |
Reject | Odrzucone | Połączenie zostało odrzucone przez właściciela zasobu łącza prywatnego. |
Usuń | Odłączony | Połączenie zostało usunięte przez właściciela zasobu łącza prywatnego, prywatny punkt końcowy staje się informacyjny i powinien zostać usunięty w celu oczyszczenia. |
Jak zarządzać połączeniem prywatnego punktu końcowego
W poniższych sekcjach pokazano, jak zatwierdzić lub odrzucić połączenie prywatnego punktu końcowego.
- Zaloguj się do Azure portal.
- Na pasku wyszukiwania wpisz tematy usługi Event Grid lub domeny usługi Event Grid.
- Wybierz temat lub domenę , którą chcesz zarządzać.
- Wybierz kartę Sieć.
- Jeśli istnieją oczekujące połączenia, zostanie wyświetlone połączenie z oczekującym stanem aprowizacji.
Aby zatwierdzić prywatny punkt końcowy
Możesz zatwierdzić prywatny punkt końcowy, który znajduje się w stanie oczekiwania. Aby zatwierdzić, wykonaj następujące kroki:
Uwaga
Kroki przedstawione w tej sekcji dotyczą głównie tematów. Możesz użyć podobnych kroków, aby zatwierdzić prywatne punkty końcowe dla domen.
Wybierz prywatny punkt końcowy , który chcesz zatwierdzić, a następnie wybierz pozycję Zatwierdź na pasku narzędzi.
W oknie dialogowym Zatwierdzanie połączenia wprowadź komentarz (opcjonalnie) i wybierz pozycję Tak.
Upewnij się, że stan punktu końcowego jest wyświetlany jako Zatwierdzony.
Aby odrzucić prywatny punkt końcowy
Możesz odrzucić prywatny punkt końcowy, który znajduje się w stanie oczekiwania lub zatwierdzonym. Aby odrzucić, wykonaj następujące kroki:
Uwaga
Kroki przedstawione w tej sekcji dotyczą tematów. Możesz użyć podobnych kroków, aby odrzucić prywatne punkty końcowe dla domen.
Wybierz prywatny punkt końcowy , który chcesz odrzucić, a następnie wybierz pozycję Odrzuć na pasku narzędzi.
W oknie dialogowym Odrzucanie połączenia wprowadź komentarz (opcjonalnie) i wybierz pozycję Tak.
Upewnij się, że stan punktu końcowego jest wyświetlany jako Odrzucono.
Uwaga
Nie można zatwierdzić prywatnego punktu końcowego w Azure Portal po jego odrzuceniu.
Interfejs wiersza polecenia platformy Azure
Aby utworzyć prywatny punkt końcowy, użyj metody az network private-endpoint create , jak pokazano w poniższym przykładzie:
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
Opisy parametrów używanych w przykładzie można znaleźć w dokumentacji polecenia az network private-endpoint create. Oto kilka kwestii, które należy zwrócić uwagę w tym przykładzie:
- W polu
private-connection-resource-id
określ identyfikator zasobu tematu lub domeny. W poprzednim przykładzie użyto typu: temat. - dla
group-ids
parametru określtopic
wartość lubdomain
. W poprzednim przykładzietopic
jest używany.
Aby usunąć prywatny punkt końcowy, użyj metody az network private-endpoint delete , jak pokazano w poniższym przykładzie:
az network private-endpoint delete --resource-group <RESOURCE GROUP NAME> --name <PRIVATE ENDPOINT NAME>
Uwaga
Kroki przedstawione w tej sekcji dotyczą tematów. Możesz użyć podobnych kroków, aby utworzyć prywatne punkty końcowe dla domen.
Wymagania wstępne
Zaktualizuj rozszerzenie Azure Event Grid dla interfejsu wiersza polecenia, uruchamiając następujące polecenie:
az extension update -n eventgrid
Jeśli rozszerzenie nie jest zainstalowane, uruchom następujące polecenie, aby go zainstalować:
az extension add -n eventgrid
Tworzenie prywatnego punktu końcowego
Aby utworzyć prywatny punkt końcowy, użyj metody az network private-endpoint create , jak pokazano w poniższym przykładzie:
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
Opisy parametrów używanych w przykładzie można znaleźć w dokumentacji polecenia az network private-endpoint create. Oto kilka kwestii, które należy zwrócić uwagę w tym przykładzie:
- W polu
private-connection-resource-id
określ identyfikator zasobu tematu lub domeny. W poprzednim przykładzie użyto typu: temat. - dla
group-ids
parametru określtopic
wartość lubdomain
. W poprzednim przykładzietopic
jest używany.
Aby usunąć prywatny punkt końcowy, użyj metody az network private-endpoint delete , jak pokazano w poniższym przykładzie:
az network private-endpoint delete --resource-group <RESOURCE GROUP NAME> --name <PRIVATE ENDPOINT NAME>
Uwaga
Kroki przedstawione w tej sekcji dotyczą tematów. Możesz użyć podobnych kroków, aby utworzyć prywatne punkty końcowe dla domen.
Przykładowy skrypt
Oto przykładowy skrypt, który tworzy następujące zasoby platformy Azure:
- Grupa zasobów
- Sieć wirtualna
- Podsieć w sieci wirtualnej
- temat Azure Event Grid
- Prywatny punkt końcowy dla tematu
Uwaga
Kroki przedstawione w tej sekcji dotyczą tematów. Możesz użyć podobnych kroków, aby utworzyć prywatne punkty końcowe dla domen.
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
Zatwierdzanie prywatnego punktu końcowego
Poniższy przykładowy fragment kodu interfejsu wiersza polecenia pokazuje, jak zatwierdzić połączenie prywatnego punktu końcowego.
az eventgrid topic private-endpoint-connection approve \
--resource-group $resourceGroupName \
--topic-name $topicName \
--name $endpointName \
--description "connection approved"
Odrzucanie prywatnego punktu końcowego
Poniższy przykładowy fragment kodu interfejsu wiersza polecenia pokazuje, jak odrzucić połączenie prywatnego punktu końcowego.
az eventgrid topic private-endpoint-connection reject \
--resource-group $resourceGroupName \
--topic-name $topicName \
--name $endpointName \
--description "Connection rejected"
Wyłączanie dostępu do sieci publicznej
Domyślnie dostęp do sieci publicznej jest włączony dla tematu lub domeny usługi Event Grid. Aby zezwolić na dostęp tylko za pośrednictwem prywatnych punktów końcowych, wyłącz dostęp do sieci publicznej, uruchamiając następujące polecenie:
az eventgrid topic update \
--resource-group $resourceGroupName \
--name $topicName \
--public-network-access disabled
Korzystanie z programu PowerShell
W tej sekcji przedstawiono sposób tworzenia prywatnego punktu końcowego dla tematu lub domeny przy użyciu programu PowerShell. Oto przykładowy skrypt z komentarzami.
# 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
Zatwierdzanie połączenia prywatnego punktu końcowego
Poniższy przykładowy fragment kodu programu PowerShell pokazuje, jak zatwierdzić prywatny punkt końcowy.
Uwaga
Kroki przedstawione w tej sekcji dotyczą tematów. Możesz użyć podobnych kroków, aby zatwierdzić prywatne punkty końcowe dla domen.
# 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
Odrzucanie połączenia prywatnego punktu końcowego
W poniższym przykładzie pokazano, jak odrzucić prywatny punkt końcowy przy użyciu programu PowerShell. Identyfikator GUID prywatnego punktu końcowego można pobrać z wyniku poprzedniego polecenia GET.
Uwaga
Kroki przedstawione w tej sekcji dotyczą tematów. Możesz użyć podobnych kroków, aby odrzucić prywatne punkty końcowe dla domen.
# 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
Połączenie można zatwierdzić nawet po jego odrzuceniu za pośrednictwem interfejsu API. Jeśli używasz Azure Portal, nie możesz zatwierdzić punktu końcowego, który został odrzucony.
Następne kroki
- Aby dowiedzieć się, jak skonfigurować ustawienia zapory adresów IP, zobacz Konfigurowanie zapory adresów IP dla Azure Event Grid tematów lub domen.
- Aby rozwiązać problemy z łącznością sieciową, zobacz Rozwiązywanie problemów z łącznością sieciową