Поддержка DPS — Службы подготовки устройств к добавлению в Центр Интернета вещей Azure для виртуальных сетей

В этой статье представлен шаблон подключения к виртуальной сети для подготовки устройств Интернета вещей с помощью центров Интернета вещей, поддерживающих DPS. Этот шаблон обеспечивает частное подключение между устройствами, DPS и центром Интернета вещей в виртуальной сети Azure, принадлежащей заказчику.

В большинстве случаев, когда DPS настроена с виртуальной сетью, Центр Интернета вещей также настраивается в той же виртуальной сети. Подробнее о поддержке виртуальной сети и конфигурации для центров Интернета вещей см. в статье Поддержка виртуальных сетей центра Интернета вещей.

Введение

По умолчанию имена узлов DPS сопоставляются с общедоступной конечной точкой, которая использует публично маршрутизируемый IP-адрес, через Интернет. Эта общедоступная конечная точка видна всем клиентам. Устройства Интернета вещей по широкодоступным сетям и локальным сетям могут попытаться получить доступ к общедоступной конечной точке.

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

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

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

  • Предотвращение атак, связанных с кражей данных из конфиденциальных локальных сетей.

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

Для ограничения возможностей подключения используются такие распространенные подходы, как правила IP-фильтра DPS и виртуальные сети с частными конечными точками. Цель этой статьи — описать подход с использованием виртуальной сети для доступа к DPS через частные конечные точки.

Устройства, которые работают в локальных сетях, могут использовать виртуальную частную сеть (VPN) или частный пиринг ExpressRoute для подключения к виртуальной сети в Azure и доступа к ресурсам DPS через частные конечные точки.

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

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

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

Ограничения частной конечной точки

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

  • Частные конечные точки не работают, если ресурс DPS и связанный центр Интернета вещей находятся в разных облаках. Например, Azure для государственных организаций и глобальное облако Azure.

  • Частные конечные точки в DPS используют Приватный канал Azure, которые поддерживаются только в общедоступных регионах. Дополнительные сведения см. в разделе Приватный канал Azure доступности.

  • В настоящее время пользовательские политики выделения с Функции Azure для DPS не работают, если функция Azure заблокирована на виртуальную сеть и частные конечные точки.

  • Текущая поддержка виртуальной сети DPS предназначена только для данных, входящих в службу DPS. Исходящие данные, которые представляют собой трафик из DPS в центр Интернета вещей, используют внутренний механизм "служба — служба", а не выделенную виртуальную сеть. Поддержка полной блокировки исходящего трафика на основе виртуальной сети между DPS и Центр Интернета вещей в настоящее время недоступна.

  • Политика выделения по принципу минимальной задержки используется для назначения устройства центру Интернета вещей с наименьшей задержкой. Эта политика выделения ненадежна в среде виртуальной сети.

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

  • При использовании частных конечных точек рекомендуется развернуть DPS в одном из регионов, поддерживающих Зоны доступности. В противном случае экземпляры DPS с включенными частными конечными точками могут увидеть снижение доступности в случае сбоя.

Примечание.

Рекомендации по выбору места расположения данных

DPS предоставляет глобальную конечную точку устройства (global.azure-devices-provisioning.net). Однако при использовании глобальной конечной точки данные могут быть перенаправлены за пределы региона, в котором изначально был создан экземпляр DPS. Чтобы обеспечить расположение данных в исходном регионе DPS, используйте частные конечные точки.

Настройка частной конечной точки

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

  1. В портал Azure откройте ресурс DPS и выберите вкладку "Сеть". Выберите подключения к частной конечной точке и + Частную конечную точку.

    Screenshot that shows adding a new private endpoint for DPS.

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

    Screenshot that shows the private endpoints basics page.

    Поле значение
    Подписка Выберите нужную подписку Azure, к которой будет относиться частная конечная точка.
    Группа ресурсов Выберите или создайте группу ресурсов, к которой будет относиться частная конечная точка.
    Название Введите имя для частной конечной точки.
    Регион Выбранный регион должен совпадать с регионом, содержащим виртуальную сеть, но он не должен совпадать с ресурсом DPS.

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

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

    Screenshot that shows the private endpoint resource page.

    Поле значение
    Подписка Выберите подписку Azure, содержащую ресурс DPS, на который указывает частная конечная точка.
    Тип ресурса Выберите Microsoft.Devices/ProvisioningServices.
    Ресурс Выберите ресурс DPS, с которым сопоставляется частная конечная точка.
    Целевой вложенный ресурс Выберите iotDps.

    Совет

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

    Нажмите кнопку "Далее" — настройка виртуальной сети для частной конечной точки.

  4. В разделе “Конфигурация” на странице Создание частной конечной точки выберите виртуальную сеть и подсеть для создания частной конечной точки в.

    Нажмите кнопку "Далее" : теги и при необходимости предоставляют любые теги для ресурса.

    Screenshot that shows the private endpoint configuration page.

  5. Выберите "Проверить и создать ", а затем создайте ресурс частной конечной точки.

Использование частных конечных точек с устройствами

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

<Your DPS Tenant Name>.azure-devices-provisioning.net

В большинстве примеров кода, показанного в нашей документации и пакетах SDK, используйте глобальную конечную точку устройства (global.azure-devices-provisioning.net) и область идентификатора для разрешения конкретного экземпляра DPS. Используйте конечную точку службы вместо глобальной конечной точки устройства при подключении к экземпляру DPS с помощью частных конечных точек для подготовки устройств.

Например, образец клиента подготовки устройств (pro_dev_client_sample) в пакете SDK для Azure IoT C использует глобальную конечную точку устройств в качестве глобального URI подготовки (global_prov_uri) в prov_dev_client_sample.c

MU_DEFINE_ENUM_STRINGS_WITHOUT_INVALID(PROV_DEVICE_RESULT, PROV_DEVICE_RESULT_VALUE);
MU_DEFINE_ENUM_STRINGS_WITHOUT_INVALID(PROV_DEVICE_REG_STATUS, PROV_DEVICE_REG_STATUS_VALUES);

static const char* global_prov_uri = "global.azure-devices-provisioning.net";
static const char* id_scope = "[ID Scope]";
}

PROV_DEVICE_RESULT prov_device_result = PROV_DEVICE_RESULT_ERROR;
PROV_DEVICE_HANDLE prov_device_handle;
if ((prov_device_handle = Prov_Device_Create(global_prov_uri, id_scope, prov_transport)) == NULL)
{
    (void)printf("failed calling Prov_Device_Create\r\n");

Чтобы использовать пример с частной конечной точкой, выделенный выше код будет изменен, чтобы использовать конечную точку службы для ресурса DPS. Например, если конечная точка службы была mydps.azure-devices-provisioning.net, код будет выглядеть следующим образом.

static const char* global_prov_uri = "global.azure-devices-provisioning.net";
static const char* service_uri = "mydps.azure-devices-provisioning.net";
static const char* id_scope = "[ID Scope]";
    PROV_DEVICE_RESULT prov_device_result = PROV_DEVICE_RESULT_ERROR;
    PROV_DEVICE_HANDLE prov_device_handle;
    if ((prov_device_handle = Prov_Device_Create(service_uri, id_scope, prov_transport)) == NULL)
    {
        (void)printf("failed calling Prov_Device_Create\r\n");
    }

Запрос частной конечной точки

Вы можете запросить частную конечную точку экземпляру DPS по идентификатору ресурса. Чтобы сделать этот запрос, необходимо, чтобы владелец ресурса предоставил вам идентификатор ресурса.

  1. Идентификатор ресурса указывается на вкладке “Свойства” для ресурса DPS, как показано ниже.

    Screenshot that shows the DPS Properties tab.

    Внимание

    Имейте в виду, что идентификатор ресурса содержит идентификатор подписки.

  2. Получив идентификатор ресурса, выполните действия, описанные выше в разделе Настройка частной конечной точки в шаге 3 на странице Создание ресурса частной конечной точки. Выберите Подключение в ресурс Azure по идентификатору ресурса или псевдониму и введите сведения в следующей таблице.

    Поле значение
    Идентификатор или псевдоним ресурса Введите идентификатор ресурса DPS.
    Целевой вложенный ресурс Введите iotDps
    Сообщение запроса Введите сообщение запроса для владельца ресурса DPS.
    Например .
    Please approve this new private endpoint
    for IoT devices in site 23 to access this DPS instance

    Нажмите кнопку "Далее" — настройка виртуальной сети для частной конечной точки.

  3. В разделе “Конфигурация” на странице Создание частной конечной точки выберите виртуальную сеть и подсеть для создания частной конечной точки в.

    Нажмите кнопку "Далее" : теги и при необходимости предоставляют любые теги для ресурса.

  4. Выберите "Проверить и создать ", а затем создайте запрос частной конечной точки.

  5. Владелец DPS видит запрос частной конечной точки в списке подключений к частной конечной точке на вкладке "Сеть DPS". На этой странице владелец может утвердить или отклонить запрос частной конечной точки.

    Screenshot that shows the private endpoint request approval.

Цены на частные конечные точки

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

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

Используйте приведенные ниже ссылки, чтобы узнать больше о функциях безопасности DPS.