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

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

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

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

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

  • Эта функция поддерживается для Служебной шины Azure категории Премиум. Дополнительные сведения о категории "Премиум" см. в статье Категории обмена сообщениями через служебную шину "Премиум" и "Стандартный".

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

    В виртуальной сети должны присутствовать следующие службы Майкрософт:

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

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

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

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

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

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

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

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

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

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

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

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

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

  2. В строке поиска введите Служебная шина.

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

  4. В левом меню выберите опцию Сеть в разделе Параметры.

    Примечание

    Вкладка Сеть отображается только для пространств имен Премиум.

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

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

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

  7. Чтобы разрешить доступ к пространству имен через частные конечные точки, выберите вкладку подключения к частной конечной точке в верхней части страницы.

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

    Кнопка

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

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

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

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

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

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

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

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

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

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

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

    1. Выберите виртуальную сеть. В раскрывающемся списке отображаются только виртуальные сети в выбранных сейчас подписке и расположении.
    2. Выберите подсеть в выбранной виртуальной сети.
    3. Обратите внимание, что политика сети для частных конечных точек отключена. Если вы хотите включить ее, выберите Редактировать, измените параметр и нажмите Сохранить.
    4. Для параметра Конфигурация частного IP-адреса по умолчанию выбран параметр Динамическое выделение IP-адреса. Если вы хотите назначить статический IP-адрес, выберите Статическое выделение IP-адреса*.
    5. Для группы безопасности приложений выберите существующую группу безопасности приложений или создайте группу, которая будет связана с частной конечной точкой.
    6. Нажмите кнопку Далее: DNS> в нижней части страницы.

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

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

    Снимок экрана: страница DNS в Мастере создания частной конечной точки.

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

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

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

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

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

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

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

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

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

Azure Stream Analytics Позволяет заданию Azure Stream Analytics выводить данные в очереди служебной шины в разделы.

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

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

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

Azure IoT Central

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

  • Включите назначаемое системой удостоверение для приложения IoT Central.
  • Добавьте удостоверения в роль Отправитель данных служебной шины Azure в пространстве имен "Служебная шина".
  • Затем настройте для Служебной шины место назначения для экспорта в приложении IoT Central, чтобы использовать проверку подлинности на основе удостоверений.
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 Monitor (параметры диагностики и группы действий) Позволяет Azure Monitor отправлять диагностические сведения и уведомления об оповещениях в служебную шину в пространстве имен служебной шины. Azure Monitor может считывать данные из пространства имен служебной шины и записывать их в нее.
Azure Synapse Позволяет Azure Synapse подключаться к служебной шине с помощью управляемого удостоверения рабочей области Synapse. Добавьте роль отправителя, получателя или владельца данных Служебная шина Azure в удостоверение в пространстве имен служебной шины.

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

  • Azure Data Explorer
  • Службы Azure для работы с медицинскими данными
  • Azure Arc
  • Azure Kubernetes
  • Машинное обучение Azure
  • Microsoft Purview

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

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

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

Частная конечная точка и виртуальная сеть должны находиться в одном регионе. Пространство имен Служебной шины может находиться в другом регионе. Частная конечная точка использует частный IP-адрес в виртуальной сети.


$rgName = "<RESOURCE GROUP NAME>"
$vnetlocation = "<VNET 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 premium service bus namespace
$namespaceResource = New-AzResource -Location $namespaceLocation -ResourceName $namespaceName -ResourceGroupName $rgName -Sku @{name = "Premium"; capacity = 1} -Properties @{} -ResourceType "Microsoft.ServiceBus/namespaces" -

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

# get subnet object that you will use in the next step                                
$virtualNetwork = Get-AzVirtualNetwork -ResourceGroupName  $rgName -Name $vnetName
$subnet = $virtualNetwork | Select -ExpandProperty subnets `
                                | Where-Object  {$_.Name -eq $subnetName}  
   
# now, create private endpoint   
$privateEndpoint = New-AzPrivateEndpoint -ResourceGroupName $rgName  `
                                -Name $vnetName   `
                                -Location $vnetlocation `
                                -Subnet  $subnet   `
                                -PrivateLinkServiceConnection $privateEndpointConnection

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


Управление частными конечными точками с помощью портала 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 <service-bus-namespace-name>.servicebus.windows.net

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

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

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

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

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

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