Настройка частных конечных точек для Сетка событий Azure пользовательских разделов или доменов
Частные конечные точки можно использовать для безопасного входящего трафика событий непосредственно из виртуальной сети в пользовательские разделы и домены по приватному каналу без доступа к общедоступному Интернету. Частная конечная точка использует IP-адрес из адресного пространства виртуальной сети для пользовательского раздела или домена. Дополнительные сведения о принципах работы см. в разделе Безопасность сети.
В этой статье описывается настройка частных конечных точек для пользовательских разделов или доменов.
Примечание
В настоящее время частные конечные точки не поддерживаются для системных разделов.
Использование портала Azure
В этом разделе показано, как с помощью портала Azure создать частную конечную точку для раздела или домена.
Примечание
Действия, описанные в этом разделе, в основном предназначены для пользовательских разделов. Аналогичные действия можно выполнить для создания частных конечных точек для доменов.
Создание нового раздела
В этом разделе показано, как настроить доступ к частной сети для раздела или домена Сетки событий. Пошаговые инструкции по созданию нового раздела см. в статье Создание пользовательского раздела.
На странице Основные сведения мастера создания раздела нажмите кнопку Далее: Сетевые подключения в нижней части страницы после заполнения обязательных полей.
Чтобы разрешить доступ к разделу "Сетка событий" через частную конечную точку, выберите режим Частный доступ.
Инструкции по добавлению частной конечной точки см. в следующем разделе.
Для существующего раздела
Войдите на портал Azure и перейдите к своему разделу или домену.
Перейдите на вкладку Сеть на странице раздела. На вкладке Общий доступ выберите Только частные конечные точки.
Перейдите на вкладку Подключения к частной конечной точке и выберите + Частная конечная точка на панели инструментов.
На странице Базовые выполните следующие действия.
Выберите подписку Azure, в которой нужно создать частную конечную точку.
Выберите группу ресурсов Azure для частной конечной точки.
Введите имяконечной точки.
При необходимости обновите имясетевого интерфейса .
Выберите регион для конечной точки. Частная конечная точка должна находиться в том же регионе, что и виртуальная сеть, но может находиться в другом регионе, отличном от региона ресурса приватного канала (в этом примере — раздел Сетки событий).
Нажмите кнопку Далее: ресурс> в нижней части страницы.
На странице Ресурс выполните следующие действия, убедитесь, что выбран раздел для целевого подресурса, а затем нажмите кнопку Далее: виртуальная сеть > в нижней части страницы.
На странице Виртуальная сеть выберите подсеть в виртуальной сети, в которой требуется развернуть частную конечную точку.
Выберите виртуальную сеть. В раскрывающемся списке отображаются только виртуальные сети в выбранных сейчас подписке и расположении.
Выберите подсеть в выбранной виртуальной сети.
Укажите, должен ли ip-адрес выделяться статически или динамически.
Выберите существующую группу безопасности приложений или создайте ее, а затем свяжите ее с частной конечной точкой.
Нажмите кнопку Далее: DNS> в нижней части страницы.
На странице DNS выберите, должна ли частная конечная точка быть интегрирована с частной зоной DNS, а затем выберите Далее: теги в нижней части страницы.
На странице Теги создайте теги (имена и значения), которые нужно связать с ресурсом частной конечной точки. В нижней части страницы нажмите на кнопку Просмотреть и создать.
На странице Проверка и создание проверьте все параметры и нажмите Создать, чтобы создать частную конечную точку.
Управление подключением Приватного канала
При создании частной конечной точки подключение должно быть утверждено. Если ресурс, для которого создается частная конечная точка, находится в вашем каталоге, вы можете утвердить запрос на подключение, если у вас есть необходимые разрешения. При подключении к ресурсу Azure в другом каталоге необходимо дождаться, пока владелец этого ресурса утвердит запрос на подключение.
Существует четыре состояния подготовки:
Действие в службе | Состояние частной конечной точки объекта-получателя службы | Описание |
---|---|---|
None | Ожидает | Подключение создается вручную и ожидает утверждения от владельца ресурса приватного канала. |
Утверждение | Approved | Подключение утверждено автоматически или вручную и готово к использованию. |
Reject | Отклонено | Подключение отклонил владелец ресурса Приватного канала. |
Удалить | Отключено | Подключение удалил владелец ресурса Приватного канала. Частная конечная точка станет информативной и подлежит удалению для очистки. |
Как управлять подключением к частной конечной точке
В следующих разделах показано, как утвердить или отклонить подключение к частной конечной точке.
- Войдите на портал Azure.
- В строке поиска введите Event Grid topics или Event Grid domains.
- Выберите раздел или домен, которым требуется управлять.
- Перейдите на вкладку Сеть.
- Если есть подключения в состоянии ожидания, вы увидите такое подключение в списке с состоянием В ожидании.
Утверждение частной конечной точки
Вы можете утвердить частную конечную точку, которая находится в состоянии ожидания. Для этого выполните следующие действия.
Примечание
Действия, приведенные в этом разделе, в основном предназначены для разделов. Аналогичные действия можно выполнить для утверждения частных конечных точек для доменов.
Выберите частную конечную точку, которую вы хотите утвердить, и на панели инструментов выберите Утвердить.
В диалоговом окне Утверждение подключения добавьте комментарий (необязательно) и нажмите кнопку Да.
Убедитесь, что конечная точка находится в состоянии Утверждено.
Отклонение частной конечной точки
Вы можете отклонить частную конечную точку, находящиеся в состоянии ожидания или утвержденном состоянии. Для этого выполните приведенные ниже действия.
Примечание
Действия, приведенные в этом разделе, предназначены для разделов. Аналогичные действия можно выполнить для отклонения частных конечных точек для доменов.
Выберите частную конечную точку, которую вы хотите отклонить, и на панели инструментов выберите Отклонить.
В диалоговом окне Отклонить подключение введите комментарий (необязательно) и нажмите кнопку Да.
Убедитесь, что конечная точка находится в состоянии Отклонено.
Примечание
Невозможно утвердить частную конечную точку на портале Azure после ее отклонения.
Использование Azure CLI
Чтобы создать частную конечную точку, используйте команду az network private-endpoint create, как показано в следующем примере.
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
Описание параметров, используемых в примере, доступно в документации по команде az network private-endpoint create. В этом примере необходимо отметить несколько моментов.
- Для
private-connection-resource-id
укажите идентификатор ресурса раздела или домена. В предшествующем примере используется type: topic. - Для
group-ids
следует задать значениеtopic
илиdomain
. В предшествующем примере используетсяtopic
.
Чтобы удалить частную конечную точку, используйте команду az network private-endpoint delete, как показано в следующем примере.
az network private-endpoint delete --resource-group <RESOURCE GROUP NAME> --name <PRIVATE ENDPOINT NAME>
Примечание
Действия, приведенные в этом разделе, предназначены для разделов. Аналогичные действия можно выполнить для создания частных конечных точек для доменов.
Предварительные требования
Обновите расширение Сетки событий Azure для интерфейса командной строки, выполнив следующую команду:
az extension update -n eventgrid
Если расширение еще не установлено, выполните следующую команду, чтобы установить его:
az extension add -n eventgrid
Создание частной конечной точки
Чтобы создать частную конечную точку, используйте команду az network private-endpoint create, как показано в следующем примере.
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
Описание параметров, используемых в примере, доступно в документации по команде az network private-endpoint create. В этом примере необходимо отметить несколько моментов.
- Для
private-connection-resource-id
укажите идентификатор ресурса раздела или домена. В предшествующем примере используется type: topic. - Для
group-ids
следует задать значениеtopic
илиdomain
. В предшествующем примере используетсяtopic
.
Чтобы удалить частную конечную точку, используйте команду az network private-endpoint delete, как показано в следующем примере.
az network private-endpoint delete --resource-group <RESOURCE GROUP NAME> --name <PRIVATE ENDPOINT NAME>
Примечание
Действия, приведенные в этом разделе, предназначены для разделов. Аналогичные действия можно выполнить для создания частных конечных точек для доменов.
Пример скрипта
Ниже приведен пример сценария, который создает следующие ресурсы Azure:
- Группа ресурсов
- Виртуальная сеть
- подсеть в виртуальной сети;
- раздел Сетки событий Azure;
- частная конечная точка для раздела.
Примечание
Действия, приведенные в этом разделе, предназначены для разделов. Аналогичные действия можно выполнить для создания частных конечных точек для доменов.
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
Утверждение частной конечной точки
В следующем фрагменте кода для интерфейса командной строки показано, как утвердить подключение к частной конечной точке.
az eventgrid topic private-endpoint-connection approve \
--resource-group $resourceGroupName \
--topic-name $topicName \
--name $endpointName \
--description "connection approved"
Отклонение частной конечной точки
В следующем фрагменте кода для интерфейса командной строки показано, как отклонить подключение к частной конечной точке.
az eventgrid topic private-endpoint-connection reject \
--resource-group $resourceGroupName \
--topic-name $topicName \
--name $endpointName \
--description "Connection rejected"
Отключение доступа из общедоступной сети
По умолчанию для раздела или домена Сетки событий включен доступ через общедоступную сеть. Чтобы разрешить доступ только через частные конечные точки, отключите доступ через общедоступную сеть, выполнив следующую команду:
az eventgrid topic update \
--resource-group $resourceGroupName \
--name $topicName \
--public-network-access disabled
Использование PowerShell
В этом разделе показано, как создать частную конечную точку для раздела или домена с помощью PowerShell. Ниже приведен пример скрипта с комментариями.
# 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
Утверждение подключения частной конечной точки
В следующем фрагменте кода для PowerShell показано, как утвердить частную конечную точку.
Примечание
Действия, приведенные в этом разделе, предназначены для разделов. Аналогичные действия можно выполнить для утверждения частных конечных точек для доменов.
# 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
Отклонение подключения к частной конечной точке
В следующем примере показано, как отклонить частную конечную точку с помощью PowerShell. Идентификатор GUID для частной конечной точки можно получить из результата предыдущей команды GET.
Примечание
Действия, приведенные в этом разделе, предназначены для разделов. Аналогичные действия можно выполнить для отклонения частных конечных точек для доменов.
# 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
Вы можете утвердить подключение с помощью API даже после его отклонения. На портале Azure невозможно утвердить конечную точку, которая была отклонена.
Дальнейшие действия
- Чтобы узнать о настройке параметров IP-конфигурации брандмауэра, ознакомьтесь с разделом Настройка брандмауэра IP для разделов или доменов службы "Сетка событий Azure".
- Сведения об устранении неполадок с сетевым подключением см. в разделе Устранение неполадок с сетевым подключением.