Использование частных конечных точек для Службы Azure SignalR

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

Использование частных конечных точек для Службы Azure SignalR обладает следующими преимуществами:

  • Защита Службы Azure SignalR с помощью средств управления доступом к сети с целью блокировать для этой службы все подключения к общедоступной конечной точке.
  • Увеличьте безопасность виртуальной сети, позволяя блокировать кражу данных из виртуальной сети.
  • Безопасное подключение к ресурсам Службы Azure SignalR из локальных сетей, которые подключаются к виртуальной сети с использованием VPN или ExpressRoute с частным пирингом.

В этой статье показано, как использовать частные конечные точки для Служба Azure SignalR.

Общие сведения

Overview of private endpoints for Azure SignalR Service

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

Приложения в виртуальной сети могут легко подключаться к Службе Azure SignalR через частную конечную точку, используя те же строки подключения и механизмы авторизации, которые они использовали бы в иных случаях. Частные конечные точки можно использовать со всеми протоколами, поддерживаемыми Службой Azure SignalR, включая REST API.

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

Владельцы Службы Azure SignalR могут управлять запросами на согласие и частными конечными точками на вкладке Частные конечные точки для службы на портале Azure.

Совет

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

Подключение к частным конечным точкам

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

Важно!

Используйте ту же строку подключения для подключения к Службе Azure SignalR с помощью частных конечных точек, которую вы использовали бы в других ситуациях. Не подключайтесь к службе Azure SignalR по URL-адресу ее поддомена privatelink.

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

Изменения DNS для частных конечных точек

При создании частной конечной точки запись ресурса DNS CNAME для Службы Azure SignalR обновляется и получает псевдоним в поддомене с префиксом privatelink. По умолчанию также создается Частная зона DNS, соответствующая поддомену privatelink, с записями ресурсов DNS A для частных конечных точек.

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

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

Имя. Тип значение
foobar.service.signalr.net CNAME foobar.privatelink.service.signalr.net
foobar.privatelink.service.signalr.net а <общедоступный IP-адрес Служба Azure SignalR>

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

Записи ресурсов DNS для foobar, разрешенные клиентом в виртуальной сети, где размещается частная конечная точка, будут следующими:

Имя. Тип значение
foobar.service.signalr.net CNAME foobar.privatelink.service.signalr.net
foobar.privatelink.service.signalr.net а 10.1.1.5

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

Если вы используете пользовательский DNS-сервер в сети, клиенты должны иметь возможность разрешить полное доменное имя для конечной точки Служба Azure SignalR ip-адрес частной конечной точки. Необходимо настроить DNS-сервер для делегирования поддомена приватного канала в частную зону DNS для виртуальной сети или настроить записи A для foobar.privatelink.service.signalr.net с IP-адресом частной конечной точки.

Совет

При использовании пользовательского или локального DNS-сервера следует настроить DNS-сервер для разрешения имени Службы Azure SignalR в поддомене privatelink в IP-адрес частной конечной точки. Это можно сделать, делегировав поддомен privatelink частной зоне DNS виртуальной сети или настроив зону DNS на DNS-сервере и добавив записи DNS A.

Рекомендуемое имя зоны DNS для частных конечных точек Службы Azure SignalR — privatelink.service.signalr.net.

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

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

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

  1. При создании новой Службы Azure SignalR откройте вкладку Сеть и выберите вариант Частная конечная точка в качестве метода подключения.

    Create Azure SignalR Service - Networking tab

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

    Create Azure SignalR Service - Add private endpoint

  3. Выберите Review + create (Просмотреть и создать).

Создание частной конечной точки для существующей Службы Azure SignalR на портале Azure

  1. Перейдите к Службе Azure SignalR.

  2. Откройте меню параметров Подключения к частной конечной точке.

  3. В верхней части нажмите кнопку + Частная конечная точка.

    Private endpoint connections blade

  4. Введите подписку, группу ресурсов, имя ресурса и регион для новой частной конечной точки.

    Create private endpoint - Basics

  5. Выберите целевой ресурс Службы Azure SignalR.

    Create private endpoint - Resource

  6. Выберите целевую виртуальную сеть.

    Create private endpoint - Configuration

  7. Выберите Review + create (Просмотреть и создать).

Создание частной конечной точки с помощью Azure CLI

  1. Вход в Azure CLI
    az login
    
  2. Настройка подписки Azure
    az account set --subscription {AZURE SUBSCRIPTION ID}
    
  3. Создание группы ресурсов
    az group create -n {RG} -l {AZURE REGION}
    
  4. Регистрация Microsoft.SignalRService в качестве поставщика
    az provider register -n Microsoft.SignalRService
    
  5. Создание нового Служба Azure SignalR
    az signalr create --name {NAME} --resource-group {RG} --location {AZURE REGION} --sku Standard_S1
    
  6. Создание виртуальная сеть
    az network vnet create --resource-group {RG} --name {vNet NAME} --location {AZURE REGION}
    
  7. Добавление подсети
    az network vnet subnet create --resource-group {RG} --vnet-name {vNet NAME} --name {subnet NAME} --address-prefixes {addressPrefix}
    
  8. Отключение политик виртуальная сеть
    az network vnet subnet update --name {subnet NAME} --resource-group {RG} --vnet-name {vNet NAME} --disable-private-endpoint-network-policies true
    
  9. Добавление зоны Частная зона DNS
    az network private-dns zone create --resource-group {RG} --name privatelink.service.signalr.net
    
  10. Связывание зоны Частная зона DNS с виртуальная сеть
    az network private-dns link vnet create --resource-group {RG} --virtual-network {vNet NAME} --zone-name privatelink.service.signalr.net --name {dnsZoneLinkName} --registration-enabled true
    
  11. Создание частной конечной точки (автоматическое утверждение)
    az network private-endpoint create --resource-group {RG} --vnet-name {vNet NAME} --subnet {subnet NAME} --name {Private Endpoint Name}  --private-connection-resource-id "/subscriptions/{AZURE SUBSCRIPTION ID}/resourceGroups/{RG}/providers/Microsoft.SignalRService/SignalR/{NAME}" --group-ids signalr --connection-name {Private Link Connection Name} --location {AZURE REGION}
    
  12. Создание частной конечной точки (утверждение вручную)
    az network private-endpoint create --resource-group {RG} --vnet-name {vNet NAME} --subnet {subnet NAME} --name {Private Endpoint Name}  --private-connection-resource-id "/subscriptions/{AZURE SUBSCRIPTION ID}/resourceGroups/{RG}/providers/Microsoft.SignalRService/SignalR/{NAME}" --group-ids signalr --connection-name {Private Link Connection Name} --location {AZURE REGION} --manual-request
    
  13. Отображение состояния Подключение
    az network private-endpoint show --resource-group {RG} --name {Private Endpoint Name}
    

Ценообразование

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

Известные проблемы

Учитывайте перечисленные ниже известные проблемы, связанные с частными конечными точками для Службы Azure SignalR.

Уровень служб "Бесплатный"

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

Ограничения доступа для клиентов в виртуальных сетях с частными конечными точками

При доступе к другим экземплярам Службы Azure SignalR, имеющим частные конечные точки, клиенты в виртуальных сетях с существующими частными конечными точками сталкиваются с ограничениями. Например:

  • Если виртуальная сеть N1 имеет частную конечную точку для экземпляра Служба Azure SignalR S1
    • Если Служба Azure SignalR S2 имеет частную конечную точку в виртуальной сети N2, клиенты в виртуальной сети N1 также должны получить доступ к Служба Azure SignalR S2 с помощью частной конечной точки.
    • Если у Служба Azure SignalR S2 нет частных конечных точек, клиенты в виртуальной сети N1 могут получить доступ к Служба Azure SignalR в этой учетной записи без частной конечной точки.

Это ограничение является результатом изменений DNS, внесенных при создании частной конечной точки Службы Azure SignalR S2.

Следующие шаги