Поделиться через


Интеграция Azure Relay со службой "Приватный канал Azure"

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

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

Примечание.

Если вы используете прослушиватель ретранслятора через приватный канал, откройте порты 9400-9599 для исходящего взаимодействия вместе со стандартными портами ретрансляции. Обратите внимание, что это необходимо сделать только для прослушивателя ретранслятора.

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

Необходимые компоненты

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

  • Пространство имен Azure Relay.
  • Виртуальная сеть Azure.
  • Подсеть в виртуальной сети.
  • Разрешения владельца или участника для виртуальной сети.

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

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

Настройка закрытого доступа для пространства имен Ретранслятора

Следующая процедура содержит пошаговые инструкции по отключению общедоступного доступа к пространству имен Ретранслятора и добавлению частной конечной точки в пространство имен.

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

  2. В строке поиска введите Ретрансляторы.

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

  4. В меню слева выберите вкладку "Сеть" в разделе Параметры.

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

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

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

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

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

    Снимок экрана: выбор кнопки

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

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

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

    3. Введите имя частной конечной точки.

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

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

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

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

  10. Просмотрите параметры на странице ресурсов и нажмите кнопку "Далее" виртуальная сеть.

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

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

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

    Вы можете настроить, следует ли динамически выделять IP-адрес или статически выделять IP-адрес частной конечной точке.

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

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

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

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

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

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

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

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

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

  17. Вернитесь на страницу Сетьпространства имен и перейдите на вкладку Подключения к частным конечным точкам. Здесь вы увидите созданную частную конечную точку.

    Снимок экрана: вкладка

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

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

Частная конечная точка и виртуальная сеть должны находиться в одном регионе. Пространство имен Azure Relay может находиться в другом регионе. Частная конечная точка использует частный 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 a relay namespace
$namespaceResource = New-AzResource -Location $namespaceLocation -ResourceName $namespaceName -ResourceGroupName $rgName -Properties @{} -ResourceType "Microsoft.Relay/namespaces" 

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

# get subnet object that you'll 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

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

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

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

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

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

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

  1. Если в состоянии подготовки есть какие-либо подключения, вы увидите подключение, указанное в состоянии подготовки.

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

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

    Снимок экрана: кнопка

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

    Снимок экрана: страница утверждения подключения с запросом подтверждения.

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

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

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

    Снимок экрана: кнопка

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

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

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

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

  1. Чтобы удалить подключение к частной конечной точке, выберите ее в списке и нажмите Удалить на панели инструментов.

    Снимок экрана: кнопка

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

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

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

Нужно проверить, что ресурсы в виртуальной сети, где расположена частная конечная точка, подключаются к пространству имен Azure Relay по частному IP-адресу.

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

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

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

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

nslookup <your-relay-namespace-name>.servicebus.windows.net

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

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

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

Рекомендации по проектированию

  • Сведения о ценах на службу "Приватный канал Azure" см. здесь.

Ограничения

  • Максимальное количество частных конечных точек на пространство имен Azure Relay: 64.
  • Максимальное количество пространств имен Azure Relay с частными конечными точками на подписку: 64.
  • Правила группы безопасности сети (NSG) и определяемые пользователем маршруты не применяются к частной конечной точке. Дополнительные сведения см. в разделе Приватный канал Azure служба: ограничения

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

Если включить доверенный службы Майкрософт разрешить обход этого параметра брандмауэра, следующие службы получают доступ к ресурсам Azure Relay:

Доверенная служба Поддерживаемые сценарии использования
Машинное обучение Azure AML Kubernetes использует Azure Relay для упрощения взаимодействия между службами AML и кластером Kubernetes. Azure Relay — это полностью управляемая служба, которая обеспечивает безопасное двунаправленное взаимодействие между приложениями, размещенными в разных сетях. Это делает его идеальным для использования в средах приватного канала, где обмен данными между ресурсами Azure и локальными ресурсами ограничен.
Azure Arc Службы с поддержкой Azure Arc, связанные с поставщиками ресурсов выше, смогут подключаться к гибридным подключениям в пространстве имен Azure Relay в качестве отправителя, не блокировав правила брандмауэра IP-адресов, заданные в пространстве имен Ретранслятора Azure. Microsoft.Hybridconnectivity служба создает гибридные подключения в пространстве имен Azure Relay и предоставляет сведения о подключении к соответствующей службе Arc на основе сценария. Эти службы взаимодействуют только с пространством имен Azure Relay, если вы используете Azure Arc со следующими службами Azure:

— Azure Kubernetes
- Машинное обучение Azure
— Microsoft Purview

Ниже приведены другие доверенные службы для Azure Relay:

  • Сетку событий Azure
  • Центр Интернета вещей Azure
  • Azure Stream Analytics
  • Azure Monitor
  • Управление API Azure
  • Azure Synapse
  • Azure Data Explorer
  • Azure IoT Central
  • Службы данных здравоохранения Azure
  • Azure Digital Twins

Примечание.

В версии 2021-11-01 или более поздней версии пакета SDK для Ретранслятора Майкрософт свойство "trustedServiceAccessEnabled" доступно в свойствах Microsoft.Relay/namespaces/networkRuleSets для включения доступа к доверенным службам.

Чтобы разрешить доверенные службы в шаблонах Azure Resource Manager, включите это свойство в шаблон:

"trustedServiceAccessEnabled": "True"

Например, на основе шаблона ARM, предоставленного выше, мы можем изменить его, чтобы включить это свойство набора правил сети для включения доверенных служб:

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "namespaces_name": {
            "defaultValue": "contosorelay0215",
            "type": "String"
        }
    },
    "variables": {},
    "resources": [
        {
            "type": "Microsoft.Relay/namespaces",
            "apiVersion": "2021-11-01",
            "name": "[parameters('namespaces_name')]",
            "location": "East US",
            "sku": {
                "name": "Standard",
                "tier": "Standard"
            },
            "properties": {}
        },
        {
            "type": "Microsoft.Relay/namespaces/authorizationrules",
            "apiVersion": "2021-11-01",
            "name": "[concat(parameters('namespaces_sprelayns0215_name'), '/RootManageSharedAccessKey')]",
            "location": "eastus",
            "dependsOn": [
                "[resourceId('Microsoft.Relay/namespaces', parameters('namespaces_sprelayns0215_name'))]"
            ],
            "properties": {
                "rights": [
                    "Listen",
                    "Manage",
                    "Send"
                ]
            }
        },
        {
            "type": "Microsoft.Relay/namespaces/networkRuleSets",
            "apiVersion": "2021-11-01",
            "name": "[concat(parameters('namespaces_sprelayns0215_name'), '/default')]",
            "location": "East US",
            "dependsOn": [
                "[resourceId('Microsoft.Relay/namespaces', parameters('namespaces_sprelayns0215_name'))]"
            ],
            "properties": {
                "trustedServiceAccessEnabled": "True",
                "publicNetworkAccess": "Enabled",
                "defaultAction": "Deny",
                "ipRules": [
                    {
                        "ipMask": "172.72.157.204",
                        "action": "Allow"
                    },
                    {
                        "ipMask": "10.1.1.1",
                        "action": "Allow"
                    },
                    {
                        "ipMask": "11.0.0.0/24",
                        "action": "Allow"
                    }
                ]
            }
        }
    ]
}

Next Steps