Разрешение доступа к пространствам имен Центров событий Azure через частные конечные точки

Приватный канал Azure обеспечивает доступ к службам Azure (например, к Центрам событий Azure, службе хранилища Azure и Azure Cosmos DB), а также к размещенным в Azure службам клиентов или партнеров через частную конечную точку виртуальной сети.

Частная конечная точка — это сетевой интерфейс, который защищенно и надежно подключается к службе через Приватный канал Azure. Частная конечная точка использует частный IP-адрес из виртуальной сети, эффективно предоставляя доступ к службе из виртуальной сети. Весь трафик к службе может маршрутизироваться через частную конечную точку, поэтому шлюзы, устройства преобразования сетевых адресов (NAT), подключения ExpressRoute и VPN, а также общедоступные IP-адреса не требуются. Трафик между виртуальной сетью и службой проходит через магистральную сеть Майкрософт, что позволяет избежать рисков общедоступного Интернета. Вы можете подключиться к экземпляру ресурса Azure, обеспечивая наивысшую степень детализации в управлении доступом.

Дополнительные сведения см. в статье Что такое Приватный канал Azure.

Важные моменты

  • Эта функция не поддерживается на уровне "Базовый" .
  • Включение частных конечных точек может препятствовать взаимодействию других служб Azure с Центрами событий. Запросы от других служб Azure, в том числе портала Azure, служб метрики и ведения журналов, блокируются. В качестве исключения можно разрешить доступ к ресурсам Центров событий из определенных доверенных служб, даже если включены частные конечные точки. Список доверенных служб см. в разделе Доверенные службы.
  • Укажите как минимум одно правило IP-адреса или правило виртуальной сети для пространства имен, разрешающее трафик только с указанных IP-адресов или подсети виртуальной сети. Если правил IP-адресов и виртуальных сетей нет, доступ к пространству имен можно получить через общедоступный Интернет (используя ключ доступа).

Добавление частной конечной точки с помощью портала Azure

Предварительные требования

Чтобы интегрировать пространство имен Центров событий с Приватный канал Azure, вам потребуются следующие сущности или разрешения:

  • Пространство имен Центров событий.
  • Виртуальная сеть Azure.
  • Подсеть в виртуальной сети. Можно использовать подсеть, заданную по умолчанию.
  • Разрешения владельца или участника для пространства имен и виртуальной сети.

Частная конечная точка и виртуальная сеть должны находиться в одном регионе. При выборе региона для частной конечной точки с помощью портала будут автоматически фильтроваться только виртуальные сети в этом регионе. Пространство имен может находиться в другом регионе.

Частная конечная точка использует частный IP-адрес в виртуальной сети.

Настройка частного доступа при создании пространства имен

При создании пространства имен можно разрешить доступ к пространству имен только общедоступный (из всех сетей) или только частный (только через частные конечные точки).

Если выбрать параметр Частный доступ на странице Сеть мастера создания пространства имен, можно добавить частную конечную точку на страницу, нажав кнопку + Частная конечная точка . Подробные инструкции по добавлению частной конечной точки см. в следующем разделе.

Снимок экрана: страница

Настройка частного доступа для существующего пространства имен

Если у вас уже есть пространство имен Центров событий, можно создать подключение Приватного канала к нему, выполнив следующие действия.

  1. Войдите на портал Azure.

  2. В строке поиска введите центры событий.

  3. Выберите пространство имен в списке, для которого необходимо добавить частную конечную точку.

  4. На странице Сеть для параметра Доступ к общедоступной сети выберите Отключено , если требуется, чтобы доступ к пространству имен предоставлялся только через частные конечные точки.

  5. Для параметра Разрешить доверенным службам Майкрософт обходить этот брандмауэр выберите Да , если вы хотите разрешить доверенным службам Майкрософт обходить этот брандмауэр.

    Снимок экрана: страница

  6. Выберите вкладку Подключения частной конечной точки.

  7. Нажмите кнопку + Частная конечная точка в верхней части страницы.

    Страница

  8. На странице Базовые выполните следующие действия.

    1. Выберите подписку Azure, в которой нужно создать частную конечную точку.

    2. Выберите группу ресурсов для ресурса частной конечной точки.

    3. Укажите имя частной конечной точки.

    4. Введите имя сетевого интерфейса.

    5. Выберите регион частной конечной точки. Частная конечная точка должна находиться в том же регионе, что и виртуальная сеть, но может находиться в другом регионе, отличном от ресурса приватного канала, к которому вы подключаетесь.

    6. Нажмите кнопку Далее: ресурс> в нижней части страницы.

      Снимок экрана: страница

  9. На странице Ресурс просмотрите параметры и нажмите Далее: виртуальная сеть.

    Снимок экрана: страница

  10. На странице Виртуальная сеть выберите подсеть в виртуальной сети, в которой требуется развернуть частную конечную точку.

    1. Выберите виртуальную сеть. В раскрывающемся списке отображаются только виртуальные сети в выбранных сейчас подписке и расположении.

    2. Выберите подсеть в выбранной виртуальной сети.

    3. Обратите внимание, что политика сети для частных конечных точек отключена. Если вы хотите включить ее, выберите Редактировать, измените параметр и нажмите Сохранить.

    4. Для параметра Конфигурация частного IP-адреса по умолчанию выбран параметр Динамическое выделение IP-адреса. Если вы хотите назначить статический IP-адрес, выберите Статическое выделение IP-адреса*.

    5. Для группы безопасности приложений выберите существующую группу безопасности приложений или создайте группу, которая будет связана с частной конечной точкой.

    6. Нажмите кнопку Далее: DNS> в нижней части страницы.

      Снимок экрана: страница

  11. На странице DNS выберите, следует ли интегрировать частную конечную точку с частной зоной DNS, а затем нажмите Далее: теги.

  12. На странице Теги создайте теги (имена и значения), которые нужно связать с ресурсом частной конечной точки. В нижней части страницы нажмите на кнопку Просмотреть и создать.

  13. На странице Проверка и создание проверьте все параметры и нажмите Создать, чтобы создать частную конечную точку.

    Создание частной конечной точки — страница

  14. Убедитесь, что созданное подключение к частной конечной точке отображается в списке конечных точек. В этом примере частная конечная точка утверждается автоматически, так как вы подключились к ресурсу Azure в своем каталоге и имеете достаточные разрешения.

    Частная конечная точка создана

Доверенные службы Майкрософт

При включении параметра Разрешить доверенным службам Майкрософт обходить этот параметр брандмауэра доступ к ресурсам Центров событий предоставляется следующим службам в пределах одного арендатора.

Доверенная служба Поддерживаемые сценарии использования
Сетка событий Azure Разрешает службе "Сетка событий Azure" отправку событий в концентраторы событий в пространстве имен концентраторов событий. Вам также необходимо выполнить следующие шаги:
  • Включить назначенное системой удостоверение для раздела или домена.
  • Добавить удостоверение в роль отправителя данных концентраторов событий Azure в пространстве имен концентраторов событий.
  • Затем настроить подписку на события, использующую концентратор событий в качестве конечной точки для назначаемого системой удостоверения.

Дополнительные сведения см. в разделе Доставка событий с помощью управляемого удостоверения.

Azure Stream Analytics Позволяет заданию Azure Stream Analytic считывать данные из (входных данных) или записывать их в (выходные данные) концентраторов событий в пространстве имен концентраторов событий.

Важно! Задание Stream Analytics должно быть настроено для использования управляемого удостоверения для доступа к концентратору событий. Дополнительные сведения см. в статье Использование управляемых удостоверений для доступа к концентратору событий из задания Azure Stream Analytics (предварительная версия).

Центр Интернета вещей Azure Позволяет Центр Интернета вещей отправлять сообщения в центры событий в пространстве имен Центров событий. Вам также необходимо выполнить следующие шаги:
  • Включить назначаемое системой удостоверение для центра Интернета вещей
  • Добавить удостоверение в роль отправителя данных концентраторов событий Azure в пространстве имен концентраторов событий.
  • Затем настроить центр Интернета вещей, который использует концентратор событий в качестве пользовательской конечной точки, для использования проверки подлинности на основе удостоверений.
Служба "Управление API Azure"

Служба API Management позволяет отсылать события в концентратор событий в пространстве имен концентраторов событий.

Azure Monitor (параметры диагностики и группы действий) Позволяет Azure Monitor отправлять диагностические сведения и оповещения концентраторам событий в пространстве имен Центров событий. Azure Monitor может выполнять чтение из концентратора событий, а также записывать данные в концентратор событий.
Azure Synapse Позволяет Azure Synapse подключаться к концентратору событий с помощью управляемого удостоверения рабочей области Synapse. Добавьте роль отправителя, получателя или владельца данных Центры событий Azure в удостоверение в пространстве имен Центров событий.
Azure Data Explorer Позволяет Data Explorer Azure получать события из концентратора событий с помощью управляемого удостоверения кластера. Сделайте следующее.
  • Настройка управляемого удостоверения в Azure Data Explorer
  • Предоставьте удостоверению роль Центры событий Azure Data Receiver в концентраторе событий.
 
Azure IoT Central

Позволяет IoT Central экспортировать данные в центры событий в пространстве имен Центров событий. Вам также необходимо выполнить следующие шаги:

  • Включите назначаемое системой удостоверение для приложения IoT Central.
  • Добавьте удостоверение в роль отправителя данных Центров событий Azure в пространстве имен Центров событий.
  • Затем настройте для Центров событий место назначения для экспорта в приложении IoT Central, чтобы использовать проверку подлинности на основе удостоверений.
Службы Azure для работы с медицинскими данными Позволяет соединителю Интернета вещей API для здравоохранения принимать данные медицинских устройств из пространства имен Центров событий и сохранять данные в настроенной службе ресурсов быстрого взаимодействия в сфере здравоохранения (FHIR®). Соединитель Интернета вещей должен быть настроен для использования управляемого удостоверения для доступа к концентратору событий. Дополнительные сведения см. в статье Начало работы с соединителем Интернета вещей — API-интерфейсы Azure для здравоохранения.
Azure Digital Twins Позволяет Azure Digital Twins отправлять данные в концентраторы событий в пространстве имен Центров событий. Вам также необходимо сделать следующие шаги:

  • Включите назначаемое системой удостоверение для экземпляра Azure Digital Twins.
  • Добавьте удостоверение в роль отправителя данных Центров событий Azure в пространстве имен Центров событий.
  • Затем настройте конечную точку Azure Digital Twins или подключение к журналу данных Azure Digital Twins, которое использует назначенное системой удостоверение для проверки подлинности. Дополнительные сведения о настройке конечных точек и маршрутов событий к ресурсам Центров событий из Azure Digital Twins см. в разделах Маршрутизация событий Azure Digital Twins и Создание конечных точек в Azure Digital Twins.

Другие доверенные службы для Центры событий Azure можно найти ниже:

  • Azure Arc
  • Azure Kubernetes
  • Машинное обучение Azure
  • Microsoft Purview

Чтобы разрешить доверенным службам доступ к пространству имен, перейдите на вкладку Общий доступ на странице Сеть и выберите Да для параметра Разрешить доверенным службам Майкрософт обходить этот брандмауэр?.

Добавление частной конечной точки с помощью PowerShell

В следующем примере показано, как использовать Azure PowerShell для создания подключения частной конечной точки. Он не создает выделенный кластер. Чтобы создать выделенный кластер Центров событий, выполните действия, описанные в этой статье.

$rgName = "<RESOURCE GROUP NAME>"
$vnetlocation = "<VIRTUAL NETWORK LOCATION>"
$vnetName = "<VIRTUAL NETWORK NAME>"
$subnetName = "<SUBNET NAME>"
$namespaceLocation = "<NAMESPACE LOCATION>"
$namespaceName = "<NAMESPACE NAME>"
$peConnectionName = "<PRIVATE ENDPOINT CONNECTION NAME>"

# create resource group
New-AzResourceGroup -Name $rgName -Location $vnetLocation 

# create virtual network
$virtualNetwork = New-AzVirtualNetwork `
                    -ResourceGroupName $rgName `
                    -Location $vnetlocation `
                    -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

# create an event hubs namespace in a dedicated cluster
$namespaceResource = New-AzResource -Location $namespaceLocation `
                                    -ResourceName $namespaceName `
                                    -ResourceGroupName $rgName `
                                    -Sku @{name = "Standard"; capacity = 1} `
                                    -Properties @{clusterArmId = "/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.EventHub/clusters/<EVENT HUBS CLUSTER NAME>"} `
                                    -ResourceType "Microsoft.EventHub/namespaces" -ApiVersion "2018-01-01-preview"

# create private endpoint connection
$privateEndpointConnection = New-AzPrivateLinkServiceConnection `
                                -Name $peConnectionName `
                                -PrivateLinkServiceId $namespaceResource.ResourceId `
                                -GroupId "namespace"

# get subnet object that you'll use later
$virtualNetwork = Get-AzVirtualNetwork -ResourceGroupName  $rgName -Name $vnetName
$subnet = $virtualNetwork | Select -ExpandProperty subnets `
                                | Where-Object  {$_.Name -eq $subnetName}  
   
# create a private endpoint   
$privateEndpoint = New-AzPrivateEndpoint -ResourceGroupName $rgName  `
                                -Name $vnetName   `
                                -Location $vnetlocation `
                                -Subnet  $subnet   `
                                -PrivateLinkServiceConnection $privateEndpointConnection

(Get-AzResource -ResourceId $namespaceResource.ResourceId -ExpandProperties).Properties


Настройка частной зоны DNS

Создайте частную зону DNS для домена Центров событий, а затем ссылку на связь с виртуальной сетью.

$zone = New-AzPrivateDnsZone -ResourceGroupName $rgName `
                            -Name "privatelink.servicebus.windows.net" 
 
$link  = New-AzPrivateDnsVirtualNetworkLink -ResourceGroupName $rgName `
                                            -ZoneName "privatelink.servicebus.windows.net" `
                                            -Name "mylink" `
                                            -VirtualNetworkId $virtualNetwork.Id  
 
$networkInterface = Get-AzResource -ResourceId $privateEndpoint.NetworkInterfaces[0].Id -ApiVersion "2019-04-01" 
 
foreach ($ipconfig in $networkInterface.properties.ipConfigurations) { 
    foreach ($fqdn in $ipconfig.properties.privateLinkConnectionProperties.fqdns) { 
        Write-Host "$($ipconfig.properties.privateIPAddress) $($fqdn)"  
        $recordName = $fqdn.split('.',2)[0] 
        $dnsZone = $fqdn.split('.',2)[1] 
        New-AzPrivateDnsRecordSet -Name $recordName -RecordType A -ZoneName "privatelink.servicebus.windows.net"  `
                                -ResourceGroupName $rgName -Ttl 600 `
                                -PrivateDnsRecords (New-AzPrivateDnsRecordConfig -IPv4Address $ipconfig.properties.privateIPAddress)  
    } 
}

Управление частными конечными точками с помощью портала Azure

При создании частной конечной точки подключение должно быть утверждено. Если ресурс, для которого создается частная конечная точка, находится в вашем каталоге, вы можете утвердить запрос на подключение, если у вас есть необходимые разрешения. При подключении к ресурсу Azure в другом каталоге необходимо дождаться, пока владелец этого ресурса утвердит запрос на подключение.

Существует четыре состояния подготовки:

Действие в службе Состояние частной конечной точки объекта-получателя службы Описание
None Ожидает Подключение создается вручную и ожидает утверждения от владельца ресурса Приватного канала.
Утверждение Approved Подключение утверждено автоматически или вручную и готово к использованию.
Reject Отклонено Подключение отклонил владелец ресурса Приватного канала.
Удалить Отключено Подключение удалил владелец ресурса Приватного канала. Частная конечная точка станет информативной и подлежит удалению для очистки.

Утверждение, отклонение или удаление подключения к частной конечной точке

  1. Войдите на портал Azure.
  2. В строке поиска введите центры событий.
  3. Выберите пространство имен для управления.
  4. Перейдите на вкладку Сеть.
  5. Перейдите к соответствующему разделу в зависимости от операции, которую вы хотите: утвердить, отклонить или удалить.

Утверждение подключения частной конечной точки

  1. При наличии ожидающих подключений вы увидите подключение с состоянием Ожидания в состоянии подготовки.

  2. Выберите частную конечную точку, которую вы хотите утвердить.

  3. Нажмите кнопку Утвердить.

    Утверждение частной конечной точки

  4. На странице Утверждение подключения добавьте комментарий (по желанию) и нажмите кнопку Да. Если выбрать Нет, ничего не произойдет.

  5. Вы увидите, что состояние подключения к частной конечной точке в списке изменилось на Утверждено.

Отклонение подключения к частной конечной точке

  1. Если вы хотите отклонить какие-либо подключения к частной конечной точке, будь то ожидающий запрос или существующее подключение, выберите подключение и нажмите кнопку Отклонить .

    Отклонение частной конечной точки

  2. На странице Отклонение подключения введите комментарий (по желанию) и нажмите кнопку Да. Если выбрать Нет, ничего не произойдет.

  3. Вы увидите, что состояние подключения к частной конечной точке в списке изменилось на Отклонено.

Удаление подключения к частной конечной точке

  1. Чтобы удалить подключение к частной конечной точке, выберите ее в списке и нажмите Удалить на панели инструментов.
  2. На странице Удаление подключения нажмите Да, чтобы подтвердить удаление частной конечной точки. Если выбрать Нет, ничего не произойдет.
  3. Вы увидите, что состояние изменилось на Отключено. Затем конечная точка исчезнет из списка.

Убедитесь, что ресурсы в виртуальной сети частной конечной точки подключаются к пространству имен Центров событий по частному IP-адресу и что они корректно интегрируются с частной зоной DNS.

Сначала создайте виртуальную машину, выполнив действия, описанные в статье Краткое руководство. Создание виртуальной машины Windows на портале Azure.

На вкладке Сеть выполните следующее.

  1. Укажите виртуальную сеть и подсеть. Необходимо выбрать виртуальную сеть, в которой развернута частная конечная точка.
  2. Укажите ресурс общедоступного IP-адреса.
  3. В списке Группа безопасности сети сетевого адаптера выберите Нет.
  4. В поле Балансировка нагрузки выберите Нет.

Подключитесь к виртуальной машине, откройте командную строку и выполните следующую команду:

nslookup <event-hubs-namespace-name>.servicebus.windows.net

Должен появиться следующий результат.

Non-authoritative answer:
Name:    <event-hubs-namespace-name>.privatelink.servicebus.windows.net
Address:  10.0.0.4 (private IP address associated with the private endpoint)
Aliases:  <event-hubs-namespace-name>.servicebus.windows.net

Проблемы и ограничения разработки

  • Сведения о ценах на службу "Приватный канал Azure" см. здесь.
  • Эта возможность есть во всех общедоступных регионах Azure.
  • Максимальное число частных конечных точек на пространство имен Центров событий. 120.
  • Трафик блокируется на уровне приложений, а не на уровне TCP. Таким образом, вы увидите, что TCP-подключения или nslookup операции успешно выполняются в общедоступной конечной точке, даже если общий доступ отключен.

Дополнительные сведения см. в разделе Azure Private Link service: Limitations (Служба "Приватный канал Azure". Ограничения)

Дальнейшие действия