Настройте частную конечную точку для рабочей области Машинного обучения Azure с помощью пакета SDK и CLI версии 1
ОБЛАСТЬ ПРИМЕНЕНИЯ:Расширение Машинного обучения для Azure CLI версии 1
пакет SDK для Python azureml версии 1
Внимание
Для использования некоторых команд Azure CLI, приведенных в этой статье, используйте расширение azure-cli-ml
(версия 1) для Машинного обучения Azure. Поддержка расширения версии 1 будет прекращена 30 сентября 2025 г. Вы можете установить и использовать расширение версии 1 до этой даты.
Рекомендуется перейти на расширение ml
(версия 2) до 30 сентября 2025 г. Дополнительные сведения о расширении версии 2 см. в разделе Машинное обучение Azure расширение CLI и пакет SDK для Python версии 2.
В этом документе вы узнаете, как использовать частную конечную точку с рабочей областью Машинного обучения Azure. Сведения о создании виртуальной сети для Машинного обучение Azure см. в статье Общие сведения о изоляции и конфиденциальности виртуальной сети.
Приватный канал Azure позволяет подключиться рабочей области с использованием частной конечной точки. Частная конечная точка — это набор частных IP-адресов в виртуальной сети. Затем можно ограничить доступ к рабочей области, чтобы он выполнялся только по частным IP-адресам. Частная конечная точка помогает снизить риск утечки данных. Дополнительные сведения о частных конечных точках см. в статье Приватный канал Azure.
Предупреждение
Защита рабочей области с помощью частных конечных точек сама по себе не гарантирует комплексную безопасность. Необходимо обеспечить защиту для всех компонентов решения. Например, если для рабочей области используется частная конечная точка, но учетная запись хранения Azure находится вне виртуальной сети, трафик между рабочей областью и этим хранилищем не будет защищен виртуальной сетью.
Дополнительные сведения о защите ресурсов, используемых службой "Машинное обучение Azure", см. в следующих статьях:
Необходимые компоненты
- Для создания частной конечной точки в необходимо наличие существующей виртуальной сети.
- Отключить сетевые политики для частных конечных точек перед добавлением частной конечной точки.
Ограничения
Если вы включили общий доступ для рабочей области, защищенной с помощью частной конечной точки, и используете Студию машинного обучения Azure через общедоступный Интернет, некоторые функции, такие как конструктор, могут не получить доступ к данным. Эта проблема возникает, если данные хранятся в службе, защищенной за границей виртуальной сети. Например, учетной запись службы хранилища Azure.
При использовании Mozilla Firefox могут возникнуть проблемы при попытке доступа к частной конечной точке рабочей области. Эта проблема может быть связана с работой DNS по протоколу HTTPS в Mozilla Firefox. Для ее избежания рекомендуется использовать Microsoft Edge или Google Chrome.
Использование частной конечной точки не влияет на уровень управления Azure (операции управления), такие как удаление рабочей области или управление ресурсами вычислений. Например, создание, обновление или удаление целевого объекта вычислений. Эти операции выполняются через общедоступный Интернет в нормальном режиме. Операции с плоскостью данных, такие как использование Машинного обучения Azure Studio, API (включая опубликованные конвейеры) или пакетов SDK, используют частную конечную точку.
При создании вычислительного экземпляра или вычислительного кластера в рабочей области с частной конечной точкой вычислительный экземпляр и вычислительный кластер должны находиться в том же регионе Azure, что и рабочая область.
При создании или подключении кластера Службы Azure Kubernetes к рабочей области с частной конечной точкой кластер должен находиться в том же регионе, что и рабочая область.
При использовании рабочей области с несколькими частными конечными точками одна из частных конечных точек должна находиться в той же виртуальной сети, что и следующие службы зависимостей:
- Учетная запись службы хранилища Azure, которая используется в качестве хранилища данных по умолчанию для рабочей области
- Хранилище Azure Key Vault для рабочей области
- Реестр контейнеров Azure для рабочей области.
Например, одна виртуальная сеть ("службы") будет содержать частную конечную точку для служб зависимостей и рабочей области. Эта конфигурация позволяет рабочей области взаимодействовать со службами. Другая виртуальная сеть ("клиенты") может содержать только частную конечную точку для рабочей области и может использоваться только для обмена данными между компьютерами разработки клиента и рабочей областью.
Создание рабочей области, использующей частную конечную точку
Используйте один из следующих методов, чтобы создать рабочую область с частной конечной точкой. Для каждого из этих методов требуется существующая виртуальная сеть:
Совет
Если вы хотите одновременно создать рабочую область, частную конечную точку и виртуальную сеть, см. Использование шаблона Azure Resource Manager с целью создания рабочей области для Машинного обучение Azure.
Пакет SDK для Python для службы Машинного обучения Azure предоставляет класс PrivateEndpointConfig, который можно использовать с Workspace.create() для создания рабочей области с частной конечной точкой. Для этого класса требуется существующая виртуальная сеть.
ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python версии 1
from azureml.core import Workspace
from azureml.core import PrivateEndPointConfig
pe = PrivateEndPointConfig(name='myprivateendpoint', vnet_name='myvnet', vnet_subnet_name='default')
ws = Workspace.create(name='myworkspace',
subscription_id='<my-subscription-id>',
resource_group='myresourcegroup',
location='eastus2',
private_endpoint_config=pe,
private_endpoint_auto_approval=True,
show_output=True)
Добавление частной конечной точки в рабочую область
Чтобы добавить частную конечную точку в существующую рабочую область, используйте один из следующих методов.
Предупреждение
Если у вас есть существующие целевые объекты вычислений, связанные с этой рабочей областью, и они не находятся за той же виртуальной сетью, в которой создана частная конечная точка, они не будут работать.
ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python версии 1
from azureml.core import Workspace
from azureml.core import PrivateEndPointConfig
pe = PrivateEndPointConfig(name='myprivateendpoint', vnet_name='myvnet', vnet_subnet_name='default')
ws = Workspace.from_config()
ws.add_private_endpoint(private_endpoint_config=pe, private_endpoint_auto_approval=True, show_output=True)
Дополнительные сведения о классах и методах, используемых в этом примере, см. в PrivateEndpointConfig и Workspace.add_private_endpoint.
Удаление частной конечной точки
Вы можете удалить одну или все частные конечные точки для рабочей области. При удалении частной конечной точки рабочая область удаляется из виртуальной сети, с которой связана эта конечная точка. Удаление частной конечной точки может воспрепятствовать доступу рабочей области к ресурсам в этой виртуальной сети или доступу ресурсов виртуальной сети к рабочей области. Например, такая ситуация может возникнуть, если виртуальная сеть не разрешает доступ к общедоступному Интернету или из него.
Предупреждение
Удаление частных конечных точек для рабочей области не делает ее общедоступной. Чтобы сделать рабочую область общедоступной, выполните действия, описанные в разделе Включение открытого доступа.
Чтобы удалить частную конечную точку, используйте следующую информацию:
Чтобы удалить частную конечную точку, используйте Workspace.delete_private_endpoint_connection. В следующем примере показано, как удалить частную конечную точку.
ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python версии 1
from azureml.core import Workspace
ws = Workspace.from_config()
# get the connection name
_, _, connection_name = ws.get_details()['privateEndpointConnections'][0]['id'].rpartition('/')
ws.delete_private_endpoint_connection(private_endpoint_connection_name=connection_name)
Включение открытого доступа
В некоторых ситуациях может потребоваться разрешить пользователю подключаться к защищенной рабочей области через общедоступную конечную точку, а не через виртуальную сеть. Или вы можете удалить рабочую область из виртуальной сети и повторно включить общедоступный доступ.
Внимание
При включении общего доступа существующие частные конечные точки не удаляются. Все связи между компонентами за виртуальной сетью, к которой подключаются частные конечные точки, остаются защищенными. Это обеспечивает общий доступ только к рабочей области, в дополнение к частному доступу через частные конечные точки.
Предупреждение
При подключении через общедоступную конечную точку, когда рабочая область использует частную конечную точку для взаимодействия с другими ресурсами:
- Некоторые функции студии не смогут получить доступ к данным. Эта проблема возникает, если данные хранятся в службе, защищенной с помощью виртуальной сети. Например, учетной запись службы хранилища Azure.
- Использование Jupyter, JupyterLab, RStudio или Posit Workbench (ранее RStudio Workbench) в вычислительном экземпляре, включая выполнение записных книжек, не поддерживается.
Вот как можно включить общий доступ:
Совет
Можно настроить два возможных свойства:
-
allow_public_access_when_behind_vnet
— используется пакетом SDK для Python и CLI версии 2 -
public_network_access
— используется пакетом SDK для Python и CLI версии 2. Каждое свойство переопределяет другое. Например, параметрpublic_network_access
переопределит любой предыдущий параметр наallow_public_access_when_behind_vnet
.
Корпорация Майкрософт рекомендует использовать для public_network_access
включения и отключения общедоступного доступа к рабочей области.
Чтобы включить общий доступ, используйте Workspace.update и установите allow_public_access_when_behind_vnet=True
.
ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python версии 1
from azureml.core import Workspace
ws = Workspace.from_config()
ws.update(allow_public_access_when_behind_vnet=True)
Безопасное подключение к рабочей области
Чтобы подключиться к рабочей области, защищенной виртуальной сетью, используйте один из перечисленных ниже методов.
VPN-шлюз Azure подключает локальные сети к виртуальной сети через частное подключение. Подключение осуществляется через общедоступный Интернет. Доступно два типа VPN-шлюзов.
- "точка — сеть": каждый клиентский компьютер использует VPN-клиент для подключения к виртуальной сети;
- "сеть — сеть": VPN-устройство подключает виртуальную сеть к локальной сети.
ExpressRoute. Подключает локальные сети к облаку через частное подключение. Подключение устанавливается с помощью поставщика услуг подключения.
Бастион Azure. В этом сценарии вы создаете виртуальную машину Azure (иногда называемую блоком перехода) в виртуальной сети. Затем вы подключаетесь к виртуальной машине с помощью Бастиона Azure. Бастион позволяет подключаться к виртуальной машине с помощью сеанса RDP или SSH из локального веб-браузера. Затем вы используете блок перехода в качестве среды разработки. Так как он находится внутри виртуальной сети, он имеет прямой доступ к рабочей области. Пример использования инсталляционного сервера приведен в разделе Создание защищенной рабочей области.
Внимание
При использовании VPN-шлюза или шлюза ExpressRoute необходимо спланировать разрешение имен в локальных ресурсах и в виртуальной сети. Дополнительные сведения см. в статье Использование настраиваемого DNS-сервера.
Если у вас возникли проблемы с подключением к рабочей области, см. статью Устранение неполадок с безопасным подключением к рабочей области.
Несколько частных конечных точек
Машинное обучение Azure поддерживает несколько частных конечных точек для рабочей области. Несколько частных конечных точек часто используются, если необходимо различать отдельные среды. Ниже описаны некоторые сценарии, которые реализуются путем использования нескольких частных конечных точек.
Клиентские среды разработки в отдельной виртуальной сети.
Кластер Azure Kubernetes Service (AKS) в отдельной виртуальной сети.
Другие службы Azure в отдельной виртуальной сети. Например, Azure Synapse и Фабрика данных Azure могут использовать управляемую виртуальную сеть Майкрософт. В каждом из случаев закрытая конечная точка для рабочей области может быть добавлена в управляемую виртуальную сеть, используемую этими службами. Дополнительные сведения об использовании управляемой виртуальной сети с этими службами см. в следующих статьях:
Внимание
Защита от кражи данных Synapse с Машинным обучением Azure не поддерживается.
Внимание
Каждая виртуальная сеть, содержащая частную конечную точку для рабочей области, также должна иметь доступ к учетной записи службы хранилища Azure, хранилищу ключей Azure Key Vault и реестру контейнеров Azure, используемым рабочей областью. Например, вы можете создать частную конечную точку для служб в каждой виртуальной сети.
Для добавления нескольких частных конечных точек используются те же действия, что описаны в разделе Добавление частной конечной точки в рабочую область.
Сценарий: изолированные клиенты
Если вы хотите изолировать клиентов разработки, чтобы у них не было прямого доступа к вычислительным ресурсам, используемым Машинным обучением Azure, выполните описанные ниже действия.
Примечание.
В этой процедуре предполагается наличие существующей рабочей области, учетной записи службы хранилища Azure, хранилища ключей Azure Key Vault и реестра контейнеров Azure. У каждой из этих служб есть частные конечные точки в существующей виртуальной сети.
- Создайте для клиентов другую виртуальную сеть. Эта виртуальная сеть может содержать виртуальные машины Azure, которые выступают в роли клиентов, или VPN-шлюз, используемый локальными клиентами для подключения к виртуальной сети.
- Добавьте новую частную конечную точку для учетной записи службы хранилища Azure, хранилища ключей Azure Key Vault и реестра контейнеров Azure, используемых рабочей областью. Эти частные конечные точки должны существовать в клиентской виртуальной сети.
- При наличии другого хранилища, используемого рабочей областью, добавьте новую частную конечную точку для этого хранилища. Частная конечная точка должна существовать в клиентской виртуальной сети, и для нее должна быть включена интеграция с частной зоной DNS.
- Добавьте новую частную конечную точку в рабочую область. Эта частная конечная точка должна существовать в клиентской виртуальной сети, и для нее должна быть включена интеграция с частной зоной DNS.
- Выполните действия, описанные в статье Использование Studio в виртуальной сети, чтобы разрешить студии доступ к учетным записям хранения.
Эта конфигурация представлена на следующей схеме: Виртуальная сеть рабочей нагрузки содержит вычислительные ресурсы, созданные рабочей областью для обучения и развертывания. Клиентская виртуальная сеть содержит клиентов либо клиентские подключения EXPRESSROUTE/VPN. Обе виртуальные сети содержат частные конечные точки для рабочей области, учетную запись службы хранилища Azure, хранилище ключей Azure Key Vault и реестр контейнеров Azure.
Сценарий: изолированная служба Kubernetes Azure
Если вы хотите создать изолированную службу Azure Kubernetes, которая используется рабочей областью, выполните указанные ниже действия.
Примечание.
В этой процедуре предполагается наличие существующей рабочей области, учетной записи службы хранилища Azure, хранилища ключей Azure Key Vault и реестра контейнеров Azure. У каждой из этих служб есть частные конечные точки в существующей виртуальной сети.
- Создайте экземпляр Службы Azure Kubernetes (AKS). Во время создания AKS создает виртуальную сеть, содержащую кластер AKS.
- Добавьте новую частную конечную точку для учетной записи службы хранилища Azure, хранилища ключей Azure Key Vault и реестра контейнеров Azure, используемых рабочей областью. Эти частные конечные точки должны существовать в клиентской виртуальной сети.
- При наличии другого хранилища, используемого рабочей областью, добавьте новую частную конечную точку для этого хранилища. Частная конечная точка должна существовать в клиентской виртуальной сети, и для нее должна быть включена интеграция с частной зоной DNS.
- Добавьте новую частную конечную точку в рабочую область. Эта частная конечная точка должна существовать в клиентской виртуальной сети, и для нее должна быть включена интеграция с частной зоной DNS.
- Подключите кластер AKS к рабочей области Машинного обучения Azure. Дополнительные сведения см. в разделе Создание и подключение кластера Службы Azure Kubernetes.
Следующие шаги
Дополнительные сведения о защите рабочей области Машинного обучения Azure см. в статье Общие сведения об изоляции и конфиденциальности виртуальной сети.
Если вы планируете использовать пользовательское решение DNS в виртуальной сети, см. Использование рабочей области с пользовательским DNS-сервером.