Сетевая изоляция с помощью реестров Машинное обучение Azure
В этой статье описано, как защитить реестр Машинное обучение Azure с помощью виртуальная сеть Azure и частных конечных точек.
Частные конечные точки в Azure обеспечивают сетевую изоляцию, позволяя службам Azure получать доступ через частный IP-адрес в виртуальной сети (виртуальная сеть). Виртуальная сеть защищает подключения между ресурсами Azure и предотвращает воздействие конфиденциальных данных в общедоступный Интернет.
Использование сетевой изоляции с частными конечными точками предотвращает передачу сетевого трафика через общедоступный Интернет и предоставляет Машинное обучение Azure службе реестра в виртуальную сеть. Весь сетевой трафик происходит по Приватный канал Azure при использовании частных конечных точек.
Необходимые компоненты
- Реестр Машинное обучение Azure. Чтобы создать его, выполните действия, описанные в статье "Создание реестров и управление ими".
- Знакомство со следующими статьями:
Защита реестра Машинное обучение Azure
Примечание.
Для простоты мы будем ссылаться на рабочую область, она связана с ресурсами и виртуальной сетью, в которую они входят в качестве защищенной конфигурации рабочей области. Мы рассмотрим, как добавить реестры машинного обучения Azure в рамках существующей конфигурации.
На следующей схеме показана базовая конфигурация сети и способ Машинное обучение Azure реестра. Если вы уже используете Машинное обучение Azure рабочую область и имеете безопасную конфигурацию рабочей области, где все ресурсы являются частью виртуальной сети, можно создать частную конечную точку из существующей виртуальной сети для Машинное обучение Azure реестра и связанных ресурсов (хранилища и ACR).
Если у вас нет защищенной конфигурации рабочей области, ее можно создать с помощью шаблона Bicep или Terraform создать безопасную рабочую область в портал Azure статье.
Ограничения
Если вы используете реестр Машинное обучение Azure с сетевой изоляцией, вы можете просмотреть ресурсы модели в Студия машинного обучения Azure. Вы не сможете просматривать другие типы ресурсов. Вы не сможете выполнять какие-либо операции с реестром или ресурсами Машинное обучение Azure в нем с помощью студии. Вместо этого используйте Машинное обучение Azure CLI или ПАКЕТ SDK.
Сценарий: конфигурация рабочей области безопасна, а реестр Машинное обучение Azure является общедоступным.
В этом разделе описываются сценарии и необходимая сетевая конфигурация, если у вас есть безопасная конфигурация рабочей области, но использование общедоступного реестра.
Создание ресурсов в реестре из локальных файлов
Удостоверение (например, удостоверение пользователя Microsoft Entra Специалист по обработке и анализу данных), используемое для создания ресурсов в реестре, должно быть назначено роль пользователя реестра AzureML, владельца или участника в управлении доступом на основе ролей Azure. Дополнительные сведения см. в статье "Управление доступом к Машинное обучение Azure".
Предоставление общего доступа к ресурсам из рабочей области в реестр
Примечание.
Общий доступ к компоненту из рабочей области Машинное обучение Azure в реестр Машинное обучение Azure сейчас не поддерживается.
Из-за защиты от кражи данных невозможно предоставить общий доступ к ресурсу из защищенной рабочей области в общедоступный реестр, если учетная запись хранения, содержащая ресурс, отключен общедоступный доступ. Чтобы включить общий доступ к ресурсам из рабочей области в реестр:
- Перейдите в раздел "Сеть" учетной записи хранения, подключенной к рабочей области (откуда вы хотите разрешить общий доступ к ресурсам в реестр)
- Настройка доступа к общедоступной сети включено из выбранных виртуальных сетей и IP-адресов
- Прокрутите вниз и перейдите к разделу "Экземпляры ресурсов". Выберите тип ресурса в Microsoft.MachineLearningServices/registryies и задайте имя экземпляра именем ресурса реестра Машинное обучение Azure, если вы хотите включить общий доступ из рабочей области.
- Не забудьте проверить остальные параметры в конфигурации сети.
Использование ресурсов из реестра в рабочей области
Примеры операций:
- Отправьте задание, использующее ресурс из реестра.
- Используйте компонент из реестра в конвейере.
- Используйте среду из реестра в компоненте.
Использование ресурсов из реестра в безопасную рабочую область требует настройки исходящего доступа к реестру.
Развертывание модели из реестра в рабочую область
Чтобы развернуть модель из реестра в безопасную управляемую конечную точку в сети, развертывание должно быть egress_public_network_access=disabled
установлено. Машинное обучение Azure создает необходимые частные конечные точки в реестре во время развертывания конечной точки. Дополнительные сведения см. в статье "Создание защищенных управляемых сетевых конечных точек".
Конфигурация исходящей сети для доступа к любому реестру Машинное обучение Azure
Тег службы | Протокол и порты | Характер использования |
---|---|---|
AzureMachineLearning |
TCP: 443, 877, 18881 UDP: 5831 |
Использование служб Машинного обучения Azure. |
Storage.<region> |
TCP: 443 | Доступ к данным, хранящимся в учетной записи служба хранилища Azure для вычислительных кластеров и вычислительных экземпляров. Эти исходящие данные могут быть использованы для хищения данных. Дополнительные сведения см. в разделе о защите от кражи данных. |
MicrosoftContainerRegistry.<region> |
TCP: 443 | Доступ к образам Docker, предоставляемым корпорацией Майкрософт. |
AzureContainerRegistry.<region> |
TCP: 443 | Доступ к образам Docker для сред. |
Сценарий: конфигурация рабочей области безопасна, а реестр Машинное обучение Azure подключен к виртуальным сетям с помощью частных конечных точек
В этом разделе описаны сценарии и необходимая конфигурация сети, если у вас есть безопасная конфигурация рабочей области с Машинное обучение Azure реестрами, подключенными с помощью частной конечной точки к виртуальной сети.
Машинное обучение Azure реестр имеет связанные экземпляры службы хранилища и ACR. Эти экземпляры служб также можно подключить к виртуальной сети с помощью частных конечных точек для защиты конфигурации. Дополнительные сведения см. в разделе "Создание частной конечной точки ".
Поиск учетной записи служба хранилища Azure и Реестр контейнеров Azure, используемых реестром
Учетная запись хранения и ACR, используемые реестром Машинное обучение Azure, создаются в управляемой группе ресурсов в подписке Azure. Имя управляемой группы ресурсов соответствует шаблону azureml-rg-<name-of-your-registry>_<GUID>
. GUID — это случайно созданная строка. Например, если имя реестра — contosoreg, имя управляемой группы ресурсов будет иметь значение azureml-rg-contosoreg_<GUID>
.
В портал Azure эту группу ресурсов можно найти, выполнив поискazureml_rg-<name-of-your-registry>
. Все ресурсы хранилища и ACR для реестра доступны в этой группе ресурсов.
Создание ресурсов в реестре из локальных файлов
Примечание.
Создание ресурса среды не поддерживается в частном реестре, где связанный ACR имеет общедоступный доступ отключен. В качестве обходного решения можно создать среду в рабочей области Машинное обучение Azure и предоставить ей общий доступ для Машинное обучение Azure реестра.
Клиенты должны быть подключены к виртуальной сети, к которой подключен реестр с частной конечной точкой.
Безопасное подключение к реестру
Чтобы подключиться к реестру, защищенному виртуальной сетью, используйте один из следующих методов:
VPN-шлюз Azure подключает локальные сети к виртуальной сети через частное подключение. Подключение осуществляется через общедоступный Интернет. Доступно два типа VPN-шлюзов.
"точка — сеть": каждый клиентский компьютер использует VPN-клиент для подключения к виртуальной сети;
"сеть — сеть": VPN-устройство подключает виртуальную сеть к локальной сети.
ExpressRoute. Подключает локальные сети к облаку через частное подключение. Подключение устанавливается с помощью поставщика услуг подключения.
Бастион Azure. В этом сценарии вы создаете виртуальную машину Azure (иногда называемую блоком перехода) в виртуальной сети. Затем вы подключаетесь к виртуальной машине с помощью Бастиона Azure. Бастион позволяет подключаться к виртуальной машине с помощью сеанса RDP или SSH из локального веб-браузера. Затем вы используете блок перехода в качестве среды разработки. Так как он находится в виртуальной сети, он может напрямую получить доступ к реестру.
Предоставление общего доступа к ресурсам из рабочей области в реестр
Примечание.
Общий доступ к компоненту из рабочей области Машинное обучение Azure в реестр Машинное обучение Azure сейчас не поддерживается.
Из-за защиты от кражи данных невозможно предоставить общий доступ к ресурсу из защищенной рабочей области в частный реестр, если учетная запись хранения, содержащая ресурс, отключен общедоступный доступ. Чтобы включить общий доступ к ресурсам из рабочей области в реестр:
- Перейдите в раздел "Сеть" учетной записи хранения, подключенной к рабочей области (откуда вы хотите разрешить общий доступ к ресурсам в реестр)
- Настройка доступа к общедоступной сети включено из выбранных виртуальных сетей и IP-адресов
- Прокрутите вниз и перейдите к разделу "Экземпляры ресурсов". Выберите тип ресурса в Microsoft.MachineLearningServices/registryies и задайте имя экземпляра именем ресурса реестра Машинное обучение Azure, если вы хотите включить общий доступ из рабочей области.
- Не забудьте проверить остальные параметры в конфигурации сети.
Использование ресурсов из реестра в рабочей области
Примеры операций:
- Отправьте задание, использующее ресурс из реестра.
- Используйте компонент из реестра в конвейере.
- Используйте среду из реестра в компоненте.
Создайте частную конечную точку в реестре, хранилище и ACR из виртуальной сети рабочей области. Если вы пытаетесь подключиться к нескольким реестрам, создайте частную конечную точку для каждого реестра и связанного хранилища и acR. Дополнительные сведения см. в разделе "Создание частной конечной точки ".
Развертывание модели из реестра в рабочую область
Чтобы развернуть модель из реестра в безопасную управляемую конечную точку в сети, развертывание должно быть egress_public_network_access=disabled
установлено. Машинное обучение Azure создает необходимые частные конечные точки в реестре во время развертывания конечной точки. Дополнительные сведения см. в статье "Создание защищенных управляемых сетевых конечных точек".
Создание частной конечной точки
Используйте вкладки для просмотра инструкций по добавлению частной конечной точки в существующий реестр или созданию нового реестра с частной конечной точкой:
В портал Azure найдите частную конечную точку и выберите запись "Частные конечные точки", чтобы перейти в центр приватного канала.
На странице обзора центра приватного канала нажмите кнопку +Создать.
Укажите запрошенные сведения. В поле "Регион" выберите тот же регион, что и виртуальная сеть Azure. Выберите Далее.
На вкладке "Ресурс" при выборе типа ресурса выберите
Microsoft.MachineLearningServices/registries
. Задайте для поля "Ресурс" имя Машинное обучение Azure реестра, а затем нажмите кнопку "Далее".На вкладке "Виртуальная сеть" выберите виртуальную сеть и подсеть для Машинное обучение Azure ресурсов. Выберите Далее для продолжения.
На вкладке DNS оставьте значения по умолчанию, если у вас нет конкретных требований к частной интеграции DNS. Выберите Далее для продолжения.
На вкладке "Просмотр и создание" выберите "Создать ", чтобы создать частную конечную точку.
Если вы хотите задать доступ к общедоступной сети отключенным, используйте следующую команду. Убедитесь, что хранилище и ACR отключены доступ к общедоступной сети.
az ml registry update --set publicNetworkAccess=Disabled --name <name-of-registry>
Поиск учетной записи служба хранилища Azure и Реестр контейнеров Azure, используемых реестром
Учетная запись хранения и ACR, используемые реестром Машинное обучение Azure, создаются в управляемой группе ресурсов в подписке Azure. Имя управляемой группы ресурсов соответствует шаблону azureml-rg-<name-of-your-registry>_<GUID>
. GUID — это случайно созданная строка. Например, если имя реестра — contosoreg, имя управляемой группы ресурсов будет иметь значение azureml-rg-contosoreg_<GUID>
.
В портал Azure эту группу ресурсов можно найти, выполнив поискazureml_rg-<name-of-your-registry>
. Все ресурсы хранилища и ACR для реестра доступны в этой группе ресурсов.
Создание частной конечной точки для учетной записи служба хранилища Azure
Чтобы создать частную конечную точку для учетной записи хранения, используемой реестром, выполните следующие действия.
- В портал Azure найдите частную конечную точку и выберите запись "Частные конечные точки", чтобы перейти в центр приватного канала.
- На странице обзора центра приватного канала нажмите кнопку +Создать.
- Укажите запрошенные сведения. В поле "Регион" выберите тот же регион, что и виртуальная сеть Azure. Выберите Далее.
- На вкладке "Ресурс" при выборе типа ресурса выберите
Microsoft.Storage/storageAccounts
. Задайте для поля "Ресурс" имя учетной записи хранения. Задайте для вложенных ресурсов большой двоичный объект, а затем нажмите кнопку "Далее". - На вкладке "Виртуальная сеть" выберите виртуальную сеть и подсеть для Машинное обучение Azure ресурсов. Выберите Далее для продолжения.
- На вкладке DNS оставьте значения по умолчанию, если у вас нет конкретных требований к частной интеграции DNS. Выберите Далее для продолжения.
- На вкладке "Просмотр и создание" выберите "Создать ", чтобы создать частную конечную точку.
Защита от кражи данных
Для пользователя, созданного Машинное обучение Azure реестра, рекомендуется использовать частную конечную точку для реестра, управляемой учетной записи хранения и управляемого ACR.
Для системного реестра рекомендуется создать политику конечной точки службы для учетной записи хранения с помощью псевдонима /services/Azure/MachineLearning
. Дополнительные сведения см. в разделе "Настройка защиты от кражи данных".
Как найти полное доменное имя реестра
Примечание.
Убедитесь, что DNS может разрешать частное полное доменное имя реестра, которое находится в этом формате: <registry-guid>.registry.<region>.privatelink.api.azureml.ms
так как нет общего ресурса, определенного полного доменного имени, которое рекурсивно разрешено Azure DNS.
В следующих примерах показано, как использовать URL-адрес обнаружения для получения полного доменного имени (FQDN) реестра. При вызове URL-адреса обнаружения необходимо предоставить маркер доступа Azure в заголовке запроса. В следующих примерах показано, как получить маркер доступа и вызвать URL-адрес обнаружения:
Совет
Формат URL-адреса https://<region>.api.azureml.ms/registrymanagement/v1.0/registries/<registry_name>/discovery
<region>
обнаружения — регион, в котором находится реестр и <registry_name>
имя реестра. Чтобы вызвать URL-адрес, выполните запрос GET:
GET https://<region>.api.azureml.ms/registrymanagement/v1.0/registries/<registry_name>/discovery
$region = "<region>"
$registryName = "<registry_name>"
$accessToken = (az account get-access-token | ConvertFrom-Json).accessToken
(Invoke-RestMethod -Method Get `
-Uri "https://$region.api.azureml.ms/registrymanagement/v1.0/registries/$registryName/discovery" `
-Headers @{ Authorization="Bearer $accessToken" }).registryFqdns
- REST API
Примечание.
Дополнительные сведения об использовании REST API Azure см. в справочнике по REST API Azure.
Получите маркер доступа Azure. Для получения маркера можно использовать следующую команду Azure CLI :
az account get-access-token --query accessToken
Используйте клиент REST, например Curl, чтобы отправить запрос GET к URL-адресу обнаружения. Используйте маркер доступа, полученный на предыдущем шаге для авторизации. В следующем примере замените
<region>
регионом, в котором находится реестр, и<registry_name>
именем реестра. Замените<token>
маркер доступа, полученный на предыдущем шаге:curl -X GET "https://<region>.api.azureml.ms/registrymanagement/v1.0/registries/<registry_name>/discovery" -H "Authorization: Bearer <token>" -H "Content-Type: application/json"
Следующий шаг
Узнайте, как совместно использовать модели, компоненты и среды в рабочих областях с помощью реестров.