Konfigurace privátních koncových bodů pro vlastní témata nebo domény Azure Event Gridu
Pomocí privátních koncových bodů můžete povolit příchozí přenos událostí přímo z vaší virtuální sítě do vlastních témat a domén bezpečně přes privátní propojení bez průchodu veřejným internetem. Privátní koncový bod používá IP adresu z adresního prostoru virtuální sítě pro vaše vlastní téma nebo doménu. Další koncepční informace najdete v tématu Zabezpečení sítě.
Tento článek popisuje, jak nakonfigurovat privátní koncové body pro vlastní témata nebo domény.
Poznámka:
V současné době nejsou u systémových témat podporovány privátní koncové body.
Použití webu Azure Portal
V této části se dozvíte, jak pomocí webu Azure Portal vytvořit privátní koncový bod pro téma nebo doménu.
Poznámka:
Kroky uvedené v této části jsou většinou určené pro vlastní témata. Podobné kroky můžete použít k vytvoření privátních koncových bodů pro domény.
Při vytváření nového tématu
V této části se dozvíte, jak povolit přístup k privátní síti pro téma event Gridu nebo doménu. Podrobné pokyny k vytvoření nového tématu najdete v tématu Vytvoření vlastního tématu.
Na stránce Základy průvodce vytvořením tématu vyberte Další: Sítě v dolní části stránky po vyplnění požadovaných polí.
Pokud chcete povolit přístup k tématu Event Gridu prostřednictvím privátního koncového bodu, vyberte možnost privátního přístupu .
V části Připojení privátního koncového bodu vyberte tlačítko + privátní koncový bod.
Na stránce Vytvořit privátní koncový bod postupujte takto:
- Jako Název zadejte název privátního koncového bodu.
- Vyberte virtuální síť. V rozevíracím seznamu jsou uvedené jenom virtuální sítě v aktuálně vybraném předplatném a umístění.
- Vyberte podsíť ve virtuální síti, kterou jste vybrali.
- Vyberte, jestli má být privátní koncový bod integrovaný s privátní zónou DNS.
- Vyberte OK.
Teď na stránce Vytvořit téma vyberte zkontrolovat a vytvořit v dolní části stránky.
Na stránce Zkontrolovat a vytvořit vyberte Vytvořit.
Pro existující téma
Přihlaste se k webu Azure Portal a přejděte do svého tématu nebo domény.
Přejděte na kartu Sítě na stránce tématu. Na kartě Veřejný přístup vyberte pouze privátní koncové body.
Přepněte na kartu Připojení privátního koncového bodu a pak na panelu nástrojů vyberte + Privátní koncový bod.
Na stránce Základy postupujte takto:
Vyberte předplatné Azure, ve kterém chcete vytvořit privátní koncový bod.
Vyberte skupinu prostředků Azure pro privátní koncový bod.
Zadejte název koncového bodu.
V případě potřeby aktualizujte název síťového rozhraní.
Vyberte oblast koncového bodu. Váš privátní koncový bod musí být ve stejné oblasti jako vaše virtuální síť, ale může mít jinou oblast než prostředek privátního propojení (v tomto příkladu téma Event Gridu).
Pak vyberte tlačítko Další: Prostředek > v dolní části stránky.
Na stránce Prostředek postupujte podle těchto kroků, ověřte, že je vybrané téma pro cílový dílčí prostředek, a pak vyberte tlačítko Další: Virtuální síť > v dolní části stránky.
Na stránce Virtuální síť vyberete podsíť ve virtuální síti, do které chcete privátní koncový bod nasadit.
Vyberte virtuální síť. V rozevíracím seznamu jsou uvedené jenom virtuální sítě v aktuálně vybraném předplatném a umístění.
Vyberte podsíť ve virtuální síti, kterou jste vybrali.
Určete, jestli se má IP adresa přidělovat staticky nebo dynamicky.
Vyberte existující skupinu zabezpečení aplikace nebo ji vytvořte a pak přidružte k privátnímu koncovému bodu.
Vyberte Další: Tlačítko DNS > v dolní části stránky.
Na stránce DNS vyberte, jestli má být privátní koncový bod integrovaný s privátní zónou DNS, a pak vyberte Další: Značky v dolní části stránky.
Na stránce Značky vytvořte všechny značky (názvy a hodnoty), které chcete přidružit k prostředku privátního koncového bodu. Pak v dolní části stránky vyberte Tlačítko Zkontrolovat a vytvořit .
V části Zkontrolovat a vytvořit zkontrolujte všechna nastavení a výběrem možnosti Vytvořit vytvořte privátní koncový bod.
Správa připojení private link
Když vytvoříte privátní koncový bod, musí být připojení schváleno. Pokud prostředek, pro který vytváříte privátní koncový bod, je ve vašem adresáři, můžete schválit žádost o připojení za předpokladu, že máte dostatečná oprávnění. Pokud se připojujete k prostředku Azure v jiném adresáři, musíte počkat, až vlastník tohoto prostředku schválí vaši žádost o připojení.
Existují čtyři stavy zřizování:
Akce služby | Stav privátního koncového bodu příjemce služby | Popis |
---|---|---|
Nic | Nevyřízeno | Připojení se vytvoří ručně a čeká na schválení od vlastníka prostředku privátního propojení. |
Schválit | Schválený | Připojení bylo automaticky nebo ručně schváleno a je připravené k použití. |
Odmítnout | Zamítnuto | Vlastník prostředku privátního propojení odmítl připojení. |
Odebrat | Odpojeno | Vlastník prostředku privátního propojení odebral připojení, privátní koncový bod se stal informativním a měl by být odstraněn pro vyčištění. |
Správa připojení privátního koncového bodu
V následujících částech se dozvíte, jak schválit nebo odmítnout připojení privátního koncového bodu.
- Přihlaste se k portálu Azure.
- Na panelu hledání zadejte témata Event Gridu nebo domény Event Gridu.
- Vyberte téma nebo doménu, kterou chcete spravovat.
- Vyberte kartu Sítě.
- Pokud čekají nějaká připojení, zobrazí se ve stavu zřizování připojení čekající na vyřízení.
Schválení privátního koncového bodu
Můžete schválit privátní koncový bod, který je ve stavu čekání na vyřízení. Pokud chcete schválit, postupujte takto:
Poznámka:
Kroky uvedené v této části jsou většinou určené pro témata. Podobné kroky můžete použít ke schválení privátních koncových bodů pro domény.
Vyberte privátní koncový bod, který chcete schválit, a na panelu nástrojů vyberte Schválit.
V dialogovém okně Schválit připojení zadejte komentář (volitelné) a vyberte Ano.
Potvrďte, že se zobrazí stav koncového bodu jako Schváleno.
Odmítnutí privátního koncového bodu
Privátní koncový bod, který je ve stavu čekání nebo schváleném stavu, můžete odmítnout. Pokud chcete odmítnout, postupujte takto:
Poznámka:
Kroky uvedené v této části jsou určené pro témata. Podobné kroky můžete použít k odmítnutí privátních koncových bodů pro domény.
Vyberte privátní koncový bod, který chcete odmítnout, a na panelu nástrojů vyberte Odmítnout.
V dialogovém okně Odmítnout připojení zadejte komentář (volitelné) a vyberte Ano.
Potvrďte, že se zobrazí stav koncového bodu jako odmítnutý.
Poznámka:
Privátní koncový bod nemůžete schválit na webu Azure Portal, jakmile se odmítne.
Použití Azure CLI
Pokud chcete vytvořit privátní koncový bod, použijte metodu az network private-endpoint create , jak je znázorněno v následujícím příkladu:
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
Popis parametrů použitých v příkladu najdete v dokumentaci k příkazu az network private-endpoint create. V tomto příkladu je potřeba poznamenat několik bodů:
- Zadejte
private-connection-resource-id
ID prostředku tématu nebo domény. Předchozí příklad používá typ: téma. - pro
group-ids
, zadejtetopic
nebodomain
. V předchozím příkladutopic
se používá.
Pokud chcete odstranit privátní koncový bod, použijte metodu az network private-endpoint delete , jak je znázorněno v následujícím příkladu:
az network private-endpoint delete --resource-group <RESOURCE GROUP NAME> --name <PRIVATE ENDPOINT NAME>
Poznámka:
Kroky uvedené v této části jsou určené pro témata. Podobné kroky můžete použít k vytvoření privátních koncových bodů pro domény.
Požadavky
Spuštěním následujícího příkazu aktualizujte rozšíření Azure Event Gridu pro rozhraní příkazového řádku:
az extension update -n eventgrid
Pokud rozšíření není nainstalované, nainstalujte ho spuštěním následujícího příkazu:
az extension add -n eventgrid
Vytvoření privátního koncového bodu
Pokud chcete vytvořit privátní koncový bod, použijte metodu az network private-endpoint create , jak je znázorněno v následujícím příkladu:
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
Popis parametrů použitých v příkladu najdete v dokumentaci k příkazu az network private-endpoint create. V tomto příkladu je potřeba poznamenat několik bodů:
- Zadejte
private-connection-resource-id
ID prostředku tématu nebo domény. Předchozí příklad používá typ: téma. - pro
group-ids
, zadejtetopic
nebodomain
. V předchozím příkladutopic
se používá.
Pokud chcete odstranit privátní koncový bod, použijte metodu az network private-endpoint delete , jak je znázorněno v následujícím příkladu:
az network private-endpoint delete --resource-group <RESOURCE GROUP NAME> --name <PRIVATE ENDPOINT NAME>
Poznámka:
Kroky uvedené v této části jsou určené pro témata. Podobné kroky můžete použít k vytvoření privátních koncových bodů pro domény.
Ukázkový skript
Tady je ukázkový skript, který vytvoří následující prostředky Azure:
- Skupina prostředků
- Virtuální síť
- Podsíť ve virtuální síti
- Téma služby Azure Event Grid
- Privátní koncový bod pro téma
Poznámka:
Kroky uvedené v této části jsou určené pro témata. Podobné kroky můžete použít k vytvoření privátních koncových bodů pro domény.
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
Schválení privátního koncového bodu
Následující ukázkový fragment kódu rozhraní příkazového řádku ukazuje, jak schválit připojení privátního koncového bodu.
az eventgrid topic private-endpoint-connection approve \
--resource-group $resourceGroupName \
--topic-name $topicName \
--name $endpointName \
--description "connection approved"
Odmítnutí privátního koncového bodu
Následující ukázkový fragment kódu rozhraní příkazového řádku ukazuje, jak odmítnout připojení privátního koncového bodu.
az eventgrid topic private-endpoint-connection reject \
--resource-group $resourceGroupName \
--topic-name $topicName \
--name $endpointName \
--description "Connection rejected"
Zakázání přístupu k veřejné síti
Ve výchozím nastavení je pro téma nebo doménu event Gridu povolený přístup k veřejné síti. Pokud chcete povolit přístup jenom přes privátní koncové body, zakažte přístup k veřejné síti spuštěním následujícího příkazu:
az eventgrid topic update \
--resource-group $resourceGroupName \
--name $topicName \
--public-network-access disabled
Použití PowerShellu
V této části se dozvíte, jak vytvořit privátní koncový bod pro téma nebo doménu pomocí PowerShellu. Tady je ukázkový skript s komentáři.
# 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
Schválení připojení privátního koncového bodu
Následující ukázkový fragment kódu PowerShellu ukazuje, jak schválit privátní koncový bod.
Poznámka:
Kroky uvedené v této části jsou určené pro témata. Podobné kroky můžete použít ke schválení privátních koncových bodů pro domény.
# 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
Odmítnutí připojení privátního koncového bodu
Následující příklad ukazuje, jak odmítnout privátní koncový bod pomocí PowerShellu. Identifikátor GUID privátního koncového bodu můžete získat z výsledku předchozího příkazu GET.
Poznámka:
Kroky uvedené v této části jsou určené pro témata. Podobné kroky můžete použít k odmítnutí privátních koncových bodů pro domény.
# 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
Připojení můžete schválit i po odmítnutí prostřednictvím rozhraní API. Pokud používáte Azure Portal, nemůžete schválit koncový bod, který byl odmítnut.
Související obsah
- Informace o konfiguraci nastavení brány firewall protokolu IP najdete v tématu Konfigurace brány firewall protokolu IP pro témata nebo domény služby Azure Event Grid.
- Řešení potíží s připojením k síti najdete v tématu Řešení potíží s připojením k síti.