Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
APLICA-SE A:
Extensão de ML da CLI do Azure v2 (atual)
SDK do Python azure-ai-ml v2 (atual)
O Azure Machine Learning dá suporte ao isolamento de rede virtual gerenciada. O isolamento de rede virtual gerenciada simplifica e automatiza a configuração do isolamento de rede com uma rede virtual gerenciada interna no nível do workspace do Azure Machine Learning. A rede virtual gerenciada protege os recursos gerenciados do Azure Machine Learning, como instâncias de computação, clusters de computação, computação sem servidor e pontos de extremidade online gerenciados.
Proteger seu workspace com uma rede gerenciada fornece isolamento de rede para acesso de saída do workspace e dos cálculos gerenciados. Um Rede Virtual do Azure que você cria e gerencia é usado para fornecer isolamento de rede acesso de entrada ao workspace. Por exemplo, um ponto de extremidade privado para o workspace é criado em sua Rede Virtual do Azure. Todos os clientes que se conectam à rede virtual podem acessar o workspace por meio do ponto de extremidade privado. Ao executar trabalhos em computação gerenciada, a rede gerenciada restringe o que a computação pode acessar.
Arquitetura de Rede Virtual gerenciada
Ao habilitar o isolamento da rede virtual gerenciada, é criada uma rede virtual gerenciada para o workspace. Os recursos de computação gerenciados criados para o workspace usam automaticamente essa rede virtual gerenciada. A rede virtual gerenciada pode usar pontos de extremidade privados para os recursos do Azure que são usados pelo workspace, como o Armazenamento do Azure, o Azure Key Vault e o Registro de Contêiner do Azure.
Existem dois modos de configuração diferentes para o tráfego de saída da rede virtual gerenciada:
Dica
Independentemente do modo de saída usado, o tráfego para recursos do Azure pode ser configurado para usar um ponto de extremidade privado. Por exemplo, você pode permitir todo o tráfego de saída para a Internet, mas restringir a comunicação com os recursos do Azure adicionando regras de saída para os recursos.
| Modo de saída | Descrição | Cenários |
|---|---|---|
| Permitir a saída da Internet | Permita todo o tráfego de saída da Internet da rede virtual gerenciada. | Você deseja acesso irrestrito aos recursos de machine learning na Internet, como pacotes Python ou modelos pré-treinados.1 |
| Permitir somente a saída aprovada | O tráfego de saída é permitido por meio da especificação de marcas de serviço. | * Você deseja minimizar o risco de exfiltração dos dados, mas precisa preparar todos os artefatos de machine learning necessários em seu ambiente privado. * Você deseja configurar o acesso de saída a uma lista aprovada de serviços, marcas de serviço ou FQDNs. |
| Desabilitado | O tráfego de entrada e saída não é restrito ou você está usando sua própria Rede Virtual do Azure para proteger os recursos. | Você deseja entrada e saída públicas do workspace ou está tratando o isolamento de rede com sua própria rede virtual do Azure. |
- Você pode usar regras de saída com o modo permitir apenas a saída aprovada para obter o mesmo resultado que o uso do modo permitir saída da Internet. As diferenças são:
- Você deve adicionar regras para cada conexão de saída que precisa permitir.
- A adição de regras de saída de FQDN aumenta seus custos, pois esse tipo de regra usa o Firewall do Azure. Para saber mais, confira os Preços
- As regras padrão para permitir apenas a saída aprovada são projetadas para minimizar o risco de exfiltração dos dados. Qualquer regra de saída adicionada poderá aumentar o risco.
A rede virtual gerenciada é pré-configurada com as regras padrão necessárias. Ela também é configurado para conexões de ponto de extremidade privado com seu workspace, o armazenamento padrão do workspace, o registro de contêiner e o cofre de chaves se eles estiverem configurados como privados ou o modo de isolamento do workspace estiver definido como permitir apenas a saída aprovada. Depois de escolher o modo de isolamento, você só precisa levar em consideração outros requisitos de saída que talvez precise adicionar.
O diagrama a seguir mostra uma rede virtual gerenciada configurada para permitir a saída da Internet:
O diagrama a seguir mostra uma rede virtual gerenciada configurada para permitir apenas a saída aprovada:
Observação
Nessa configuração, o armazenamento, o cofre de chaves e o registro de contêiner usados pelo workspace são sinalizados como privados. Como eles são sinalizados como privados, um ponto de extremidade privado é usado para se comunicar com eles.
Observação
Depois que um workspace de VNet gerenciado é configurado para permitir a saída da Internet, o workspace não pode ser reconfigurado para desabilitado. Da mesma forma, depois que um workspace de VNet gerenciado é configurado para permitir apenas a saída aprovada, o workspace não pode ser reconfigurado para permitir a saída da Internet.
Estúdio do Azure Machine Learning
Se você quiser usar o notebook integrado ou criar conjuntos de dados na conta de armazenamento padrão do estúdio, seu cliente precisará acessar a conta de armazenamento padrão. Crie um ponto de extremidade privado ou ponto de extremidade de serviço para a conta de armazenamento padrão na Rede Virtual do Azure que os clientes usam.
Parte do Estúdio do Azure Machine Learning é executada localmente no navegador da Web do cliente e se comunica diretamente com o armazenamento padrão para o espaço de trabalho. A criação de um ponto de extremidade privado ou ponto de extremidade de serviço (para a conta de armazenamento padrão) na rede virtual do cliente garante que ele possa se comunicar com a conta de armazenamento.
Se a conta de armazenamento do Azure associada ao workspace tiver o acesso à rede pública desabilitado, verifique se o ponto de extremidade privado criado na rede virtual do cliente recebeu a função Leitor para a identidade gerenciada do seu workspace. Isso se aplica a pontos de extremidade privados de armazenamento de arquivos e blog. A função não é necessária para o endpoint privado criado pela rede virtual gerenciada.
Para obter mais informações sobre como criar um ponto de extremidade privado ou ponto de extremidade de serviço, consulte os artigos Conectar-se de forma privada a uma conta de armazenamento e Pontos de extremidade de serviço.
Recursos associados protegidos
Se você adicionar os seguintes serviços à rede virtual usando um ponto de extremidade de serviço ou um ponto de extremidade privado (desabilitando o acesso público), permita que serviços confiáveis da Microsoft acessem esses serviços:
| Serviço | Informações do ponto de extremidade | Permitir informações confiáveis |
|---|---|---|
| Azure Key Vault |
Ponto de extremidade de serviço Ponto de extremidade privado |
Permitir que serviços confiáveis da Microsoft ignorem esse firewall |
| Conta de Armazenamento do Azure |
Ponto de extremidade de serviço e privado Ponto de extremidade privado |
Conceder acesso de instâncias de recursos do Azure ou Conceder acesso a serviços confiáveis do Azure |
| Registro de Contêiner do Azure | Endpoint privado | Permitir serviços confiáveis |
Pré-requisitos
Antes de seguir as etapas neste artigo, verifique se você tem os seguintes pré-requisitos:
Uma assinatura do Azure. Caso não tenha uma assinatura do Azure, crie uma conta gratuita antes de começar. Experimente a versão gratuita ou paga do Azure Machine Learning.
O provedor de recursos Microsoft.Network deve ser registrado para a sua assinatura do Azure. Esse provedor de recursos é usado pelo workspace ao criar pontos de extremidade privados para a rede virtual gerenciada.
Para obter informações sobre o registro de provedores de recursos, confira Resolver erros de registro de provedor de recursos.
A identidade do Azure que você usa ao implantar uma rede gerenciada requer as seguintes ações de RBAC do Azure (controle de acesso baseado em função do Azure) para criar pontos de extremidade privados:
Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/readMicrosoft.MachineLearningServices/workspaces/privateEndpointConnections/write
A CLI do Azure e a extensão
mlna CLI do Azure. Para obter mais informações, confira Instalar, configurar e usar a CLI (v2).Dica
A VNet gerenciada do Azure Machine Learning foi introduzida em 23 de maio de 2023. Se você tiver uma versão mais antiga da extensão de ML, talvez precise atualizá-la para que os exemplos neste artigo funcionem. Para atualizar a extensão, use o seguinte comando da CLI do Azure:
az extension update -n mlOs exemplos de CLI neste artigo pressupõem que você esteja usando o shell Bash (ou compatível). Por exemplo, de um sistema Linux ou Subsistema do Windows para Linux.
Os exemplos da CLI do Azure neste artigo usam
wspara representar o nome do workspace ergpara representar o nome do grupo de recursos. Altere esses valores conforme o necessário ao usar os comandos com sua assinatura do Azure.
Uma assinatura do Azure. Caso não tenha uma assinatura do Azure, crie uma conta gratuita antes de começar. Experimente a versão gratuita ou paga do Azure Machine Learning.
O provedor de recursos Microsoft.Network deve ser registrado para a sua assinatura do Azure. Esse provedor de recursos é usado pelo workspace ao criar pontos de extremidade privados para a rede virtual gerenciada.
Para obter informações sobre o registro de provedores de recursos, confira Resolver erros de registro de provedor de recursos.
A identidade do Azure que você usa ao implantar uma rede gerenciada requer as seguintes ações de RBAC do Azure (controle de acesso baseado em função do Azure) para criar pontos de extremidade privados:
Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/readMicrosoft.MachineLearningServices/workspaces/privateEndpointConnections/write
O SDK do Python do Azure Machine Learning v2. Para obter mais informações sobre o SDK, confira Instalar o SDK do Python v2 para Azure Machine Learning.
Dica
A VNet gerenciada do Azure Machine Learning foi introduzida em 23 de maio de 2023. Se você tiver uma versão mais antiga do SDK instalada, talvez precise atualizá-la para que os exemplos neste artigo funcionem. Para atualizar o SDK, use o seguinte comando:
pip install --upgrade azure-ai-ml azure-identityOs exemplos neste artigo pressupõem que o seu código começa com o Python a seguir. Esse código importa as classes necessárias ao criar um workspace com rede virtual gerenciada, define variáveis para sua assinatura do Azure e grupo de recursos e cria o
ml_client:from azure.ai.ml import MLClient from azure.ai.ml.entities import ( Workspace, ManagedNetwork, IsolationMode, ServiceTagDestination, PrivateEndpointDestination, FqdnDestination ) from azure.identity import DefaultAzureCredential # Replace with the values for your Azure subscription and resource group. subscription_id = "<SUBSCRIPTION_ID>" resource_group = "<RESOURCE_GROUP>" # get a handle to the subscription ml_client = MLClient(DefaultAzureCredential(), subscription_id=subscription_id, resource_group_name=resource_group)
Uma assinatura do Azure. Caso não tenha uma assinatura do Azure, crie uma conta gratuita antes de começar. Experimente a versão gratuita ou paga do Azure Machine Learning.
O provedor de recursos Microsoft.Network deve ser registrado para a sua assinatura do Azure. Esse provedor de recursos é usado pelo workspace ao criar pontos de extremidade privados para a rede virtual gerenciada.
Para obter informações sobre o registro de provedores de recursos, confira Resolver erros de registro de provedor de recursos.
A identidade do Azure que você usa ao implantar uma rede gerenciada requer as seguintes ações de RBAC do Azure (controle de acesso baseado em função do Azure) para criar pontos de extremidade privados:
Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/readMicrosoft.MachineLearningServices/workspaces/privateEndpointConnections/write
Para estabelecer conexões de ponto de extremidade privado em redes virtuais gerenciadas usando o Azure Machine Learning, a identidade gerenciada do workspace, seja ela atribuída pelo sistema ou pelo usuário, e a identidade do usuário que inicia a criação do ponto de extremidade privado, devem ter permissões para aprovar as conexões de ponto de extremidade privado nos recursos de destino. Após 30 de abril de 2025, as permissões não são concedidas automaticamente à identidade gerenciada e devem ser atribuídas manualmente.
A Microsoft recomenda atribuir a função aprovador de conexão de rede empresarial da IA do Azure à identidade gerenciada. A lista a seguir contém os tipos de recurso de destino do ponto de extremidade privado cobertos pela função Aprovador de Conexão de Rede Empresarial da IA do Azure:
- Gateway de Aplicativo do Azure
- Azure Monitor
- Pesquisa de IA do Azure
- Hubs de Eventos
- Banco de Dados SQL do Azure
- Armazenamento do Azure
- Espaço de Trabalho do Azure Machine Learning
- Registro do Azure Machine Learning
- Microsoft Foundry
- Azure Key Vault
- Azure Cosmos DB
- Banco de Dados do Azure para MySQL
- Banco de Dados do Azure para PostgreSQL
- Ferramentas de Fundição
- Cache do Azure para Redis
- Registro de Contêiner
- API Management
Se você quiser criar uma função personalizada em vez disso, consulte a função Aprovador de Conexão de Rede Empresarial da IA do Azure para adicionar as ações específicas para cada tipo de recurso.
Para criar regras de saída de ponto de extremidade privado para tipos de recursos de destino não cobertos pela função Aprovador de Conexão de Rede Empresarial da IA do Azure, é recomendável uma função de escopo para baixo personalizado. A função deve ser definida com as ações necessárias para aprovar conexões de ponto de extremidade privado nos tipos de recurso de destino. Exemplos desses tipos de recursos são o Azure Data Factory, o Azure Databricks e os Aplicativos de Funções do Azure.
Para criar regras de saída de ponto de extremidade privado para recursos de workspace padrão, as permissões necessárias são cobertas automaticamente pelas atribuições de função concedidas durante a criação do workspace, portanto, nenhuma outra ação é necessária.
Configurar uma rede virtual gerenciada para permitir a saída da Internet
Dica
A criação da VNet gerenciada é adiada até que um recurso de computação seja criado ou até que o provisionamento seja iniciado manualmente. Quando você permite a criação automática, pode levar cerca de 30 minutos para criar o primeiro recurso de computação, pois ele também está provisionando a rede. Para obter mais informações, consulte Provisionar manualmente a rede.
Importante
Se você planeja enviar trabalhos do Spark sem servidor, deve iniciar o provisionamento manualmente. Para obter mais informações, consulte a seção Configurar para trabalhos do Spark sem servidor.
Para configurar uma rede virtual gerenciada que permita comunicações de saída da Internet, você pode usar o parâmetro --managed-network allow_internet_outbound ou um arquivo de configuração YAML que contenha as seguintes entradas:
managed_network:
isolation_mode: allow_internet_outbound
Você também pode definir as regras de saída para outros serviços do Azure dos quais o workspace depende. Essas regras definem os pontos de extremidade privados que permitem que um recurso do Azure se comunique com segurança com a rede virtual gerenciada. A regra a seguir demonstra como adicionar um ponto de extremidade privado a um recurso de Blob do Azure.
managed_network:
isolation_mode: allow_internet_outbound
outbound_rules:
- name: added-perule
destination:
service_resource_id: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT_NAME>
spark_enabled: true
subresource_target: blob
type: private_endpoint
Você pode configurar uma rede virtual gerenciada usando os comandos az ml workspace create ou az ml workspace update:
O exemplo a seguir cria um novo workspace. O parâmetro --managed-network allow_internet_outbound configura uma rede virtual gerenciada para o workspace:
az ml workspace create --name ws --resource-group rg --managed-network allow_internet_outbound
Para criar um workspace usando um arquivo YAML, use o parâmetro --file e especifique o arquivo YAML que contém as definições de configuração:
az ml workspace create --file workspace.yaml --resource-group rg --name ws
O seguinte exemplo de YAML define um workspace com uma rede virtual gerenciada:
name: myworkspace
location: EastUS
managed_network:
isolation_mode: allow_internet_outbound
Para configurar uma rede virtual gerenciada que permite comunicações de saída da Internet, use a classe ManagedNetwork para definir uma rede com IsolationMode.ALLOW_INTERNET_OUTBOUND. Você pode usar o objeto ManagedNetwork para criar um novo workspace ou atualizar um existente. Para definir as regras de saída para os serviços do Azure dos quais o workspace depende, use a classe PrivateEndpointDestination para definir um novo ponto de extremidade privado para o serviço.
O exemplo a seguir cria um novo workspace chamado myworkspace, com uma regra de saída chamada myrule, que adiciona um ponto de extremidade privado para um armazenamento de Blobs do Azure:
# Basic managed VNet configuration
network = ManagedNetwork(IsolationMode.ALLOW_INTERNET_OUTBOUND)
# Workspace configuration
ws = Workspace(
name="myworkspace",
location="eastus",
managed_network=network
)
# Example private endpoint outbound to a blob
rule_name = "myrule"
service_resource_id = "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT_NAME>"
subresource_target = "blob"
spark_enabled = True
# Add the outbound
ws.managed_network.outbound_rules = [PrivateEndpointDestination(
name=rule_name,
service_resource_id=service_resource_id,
subresource_target=subresource_target,
spark_enabled=spark_enabled)]
# Create the workspace
ws = ml_client.workspaces.begin_create(ws).result()
Entre no portal do Azure e escolha Azure Machine Learning no menu Criar um recurso.
Preencha as informações necessárias na guia Noções básicas.
Na guia Rede, selecione Privado com Saída da Internet.
Para adicionar uma regra de saída, selecione Adicionar regras de saída definidas pelo usuário na guia Rede. Na barra lateral regras de saída do workspace, forneça as seguintes informações:
- Nome da regra: um nome para a regra. O nome deve ser exclusivo para este workspace.
- Tipo de destino: o Endpoint Privado é a única opção quando o isolamento de rede é privado com saída para a Internet. A rede virtual gerenciada do Azure Machine Learning não dá suporte à criação de um ponto de extremidade privado para todos os tipos de recursos do Azure. Para obter uma lista de recursos com suporte, consulte a seção Pontos de extremidade privados.
- Assinatura: a assinatura que contém o recurso do Azure para o qual você deseja adicionar um ponto de extremidade privado.
- Grupo de recursos: o grupo de recursos que contém o recurso do Azure para o qual você deseja adicionar um ponto de extremidade privado.
- Tipo de recurso: o tipo do recurso do Azure.
- Nome do recurso: o nome do recurso do Azure.
- Sub-recurso: o sub-recurso do tipo de recurso do Azure.
- Spark habilitado: selecione esta opção se quiser habilitar trabalhos do Spark sem servidor no workspace. Essa opção só estará disponível se o tipo de recurso for Armazenamento do Microsoft Azure.
Selecione Salvar para salvar a regra. Você pode continuar usando Adicionar regras de saída definidas pelo usuário para adicionar regras.
Continue a criar o workspace normalmente.
Configurar uma rede virtual gerenciada para permitir apenas conexões externas aprovadas
Dica
A VNet gerenciada é provisionada automaticamente quando você cria um recurso de computação. Quando você permite a criação automática, pode levar cerca de 30 minutos para criar o primeiro recurso de computação, pois ele também está provisionando a rede. Se você configurou regras de saída de FQDN, a primeira regra de FQDN adicionará cerca de 10 minutos ao tempo de provisionamento. Para obter mais informações, consulte Provisionar manualmente a rede.
Importante
Se você planeja enviar trabalhos do Spark sem servidor, deve iniciar o provisionamento manualmente. Para obter mais informações, consulte a seção Configurar para trabalhos do Spark sem servidor.
Para configurar uma rede virtual gerenciada que permita apenas comunicações de saída aprovadas, você pode usar o parâmetro --managed-network allow_only_approved_outbound ou um arquivo de configuração YAML que contenha as seguintes entradas:
managed_network:
isolation_mode: allow_only_approved_outbound
Você também pode definir as regras de saída para definir a comunicação de saída aprovada. Uma regra de saída pode ser criada para um tipo de service_tag, fqdn e private_endpoint. A regra a seguir demonstra a adição de um ponto de extremidade privado a um recurso de Blob do Azure, uma marca de serviço ao Azure Data Factory e um FQDN a pypi.org:
Importante
- A adição de uma saída para uma marca de serviço ou FQDN só é válida quando a VNet gerenciada é configurada para
allow_only_approved_outbound. - Se você adicionar regras de saída, a Microsoft não poderá garantir a exfiltração de dados.
Aviso
As regras de saída de FQDN são implementadas usando o Firewall do Azure. Caso use as regras de saída de FQDN, os encargos de Firewall do Azure serão adicionados à sua cobrança. Para saber mais, consulte Preços.
managed_network:
isolation_mode: allow_only_approved_outbound
outbound_rules:
- name: added-servicetagrule
destination:
port_ranges: 80, 8080
protocol: TCP
service_tag: DataFactory
type: service_tag
- name: add-fqdnrule
destination: 'pypi.org'
type: fqdn
- name: added-perule
destination:
service_resource_id: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT_NAME>
spark_enabled: true
subresource_target: blob
type: private_endpoint
Você pode configurar uma rede virtual gerenciada usando os comandos az ml workspace create ou az ml workspace update:
O exemplo a seguir usa o parâmetro --managed-network allow_only_approved_outbound para configurar a rede virtual gerenciada:
az ml workspace create --name ws --resource-group rg --managed-network allow_only_approved_outbound
O arquivo YAML a seguir define um workspace com uma rede virtual gerenciada:
name: myworkspace
location: EastUS
managed_network:
isolation_mode: allow_only_approved_outbound
Para criar um workspace usando o arquivo YAML, use o parâmetro --file:
az ml workspace create --file workspace.yaml --resource-group rg --name ws
Para configurar uma rede virtual gerenciada que permita apenas comunicações de saída aprovadas, use a classe ManagedNetwork para definir uma rede com IsolationMode.ALLOw_ONLY_APPROVED_OUTBOUND. Você pode usar o objeto ManagedNetwork para criar um novo workspace ou atualizar um existente. Para definir regras de saída, use as seguintes classes:
| Destino | Classe |
|---|---|
| Serviço do Azure do qual o workspace depende | PrivateEndpointDestination |
| Marca de serviço do Azure | ServiceTagDestination |
| FQDN (nome de domínio totalmente qualificado) | FqdnDestination |
O exemplo a seguir cria um novo workspace chamado myworkspace, com várias regras de saída:
-
myrule– Adiciona um ponto de extremidade privado para um repositório de Blobs do Azure. -
datafactory– Adiciona uma regra de tag de serviço para se comunicar com o Azure Data Factory.
Importante
- A adição de uma saída para uma marca de serviço ou FQDN só é válida quando a VNet gerenciada é configurada para
IsolationMode.ALLOW_ONLY_APPROVED_OUTBOUND. - Se você adicionar regras de saída, a Microsoft não poderá garantir a exfiltração de dados.
Aviso
As regras de saída de FQDN são implementadas usando o Firewall do Azure. Caso use as regras de saída de FQDN, os encargos de Firewall do Azure serão adicionados à sua cobrança. Para saber mais, consulte Preços.
# Basic managed VNet configuration
network = ManagedNetwork(IsolationMode.ALLOW_ONLY_APPROVED_OUTBOUND)
# Workspace configuration
ws = Workspace(
name="myworkspace",
location="eastus",
managed_network=network
)
# Append some rules
ws.managed_network.outbound_rules = []
# Example private endpoint outbound to a blob
rule_name = "myrule"
service_resource_id = "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT_NAME>"
subresource_target = "blob"
spark_enabled = True
ws.managed_network.outbound_rules.append(
PrivateEndpointDestination(
name=rule_name,
service_resource_id=service_resource_id,
subresource_target=subresource_target,
spark_enabled=spark_enabled
)
)
# Example service tag rule
rule_name = "datafactory"
service_tag = "DataFactory"
protocol = "TCP"
port_ranges = "80, 8080-8089"
ws.managed_network.outbound_rules.append(
ServiceTagDestination(
name=rule_name,
service_tag=service_tag,
protocol=protocol,
port_ranges=port_ranges
)
)
# Example FQDN rule
ws.managed_network.outbound_rules.append(
FqdnDestination(
name="fqdnrule",
destination="pypi.org"
)
)
# Create the workspace
ws = ml_client.workspaces.begin_create(ws).result()
Entre no portal do Azure e escolha Azure Machine Learning no menu Criar um recurso.
Preencha as informações necessárias na guia Noções básicas.
Na guia Rede, selecione Privada com Saída da Internet.
Para adicionar uma regra de saída, selecione Adicionar regras de saída definidas pelo usuário na guia Rede. Na barra lateral regras de saída do workspace, forneça as seguintes informações:
- Nome da regra: um nome para a regra. O nome deve ser exclusivo para este workspace.
- Tipo de destino: Endpoint Privado, Tag de Serviço ou FQDN. A Marca de Serviço e o FQDN só estão disponíveis quando o isolamento de rede é privado com saída aprovada.
Se o tipo de destino for ponto de extremidade privado, forneça as seguintes informações:
- Assinatura: a assinatura que contém o recurso do Azure para o qual você deseja adicionar um ponto de extremidade privado.
- Grupo de recursos: o grupo de recursos que contém o recurso do Azure para o qual você deseja adicionar um ponto de extremidade privado.
- Tipo de recurso: o tipo do recurso do Azure.
- Nome do recurso: o nome do recurso do Azure.
- Sub-recurso: o sub-recurso do tipo de recurso do Azure.
- Spark habilitado: selecione esta opção se quiser habilitar trabalhos do Spark sem servidor no workspace. Essa opção só estará disponível se o tipo de recurso for Armazenamento do Microsoft Azure.
Dica
A VNet gerenciada do Azure Machine Learning não dá suporte à criação de um ponto de extremidade privado para todos os tipos de recursos do Azure. Para obter uma lista de recursos com suporte, consulte a seção Pontos de extremidade privados.
Se o tipo de destino for marca de serviço, forneça as seguintes informações:
- Marca de serviço: a marca de serviço a ser adicionada às regras de saída aprovadas.
- Protocolo: o protocolo para permitir a etiqueta de serviço.
- Intervalos de portas: os intervalos de porta para permitir a marca de serviço.
Se o tipo de destino for FQDN, forneça as seguintes informações:
Aviso
As regras de saída de FQDN são implementadas usando o Firewall do Azure. Caso use as regras de saída de FQDN, os encargos de Firewall do Azure serão adicionados à sua cobrança. Para saber mais, consulte Preços.
- Destino FQDN: o nome de domínio totalmente qualificado a ser adicionado às regras de saída aprovadas.
Selecione Salvar para salvar a regra. Você pode continuar usando Adicionar regras de saída definidas pelo usuário para adicionar regras.
Continue a criar o workspace normalmente.
Configurar para trabalhos do Spark sem servidor
Dica
As etapas nesta seção só serão necessárias se você planeja enviar trabalhos do Spark sem servidor. Se você não estiver enviando trabalhos do Spark sem servidor, ignore esta seção.
Para habilitar os trabalhos do Spark sem servidor para a rede virtual gerenciada, você deve realizar as seguintes ações:
- Configure uma rede virtual gerenciada para o workspace e adicione um endpoint privado de saída para a conta de armazenamento do Azure.
- Depois de configurar a rede virtual gerenciada, provisione-a e sinalize-a para permitir trabalhos do Spark.
Configure um ponto de extremidade privado de saída.
Use um arquivo YAML para definir a configuração da rede virtual gerenciada e adicionar um ponto de extremidade privado para a Conta de Armazenamento do Azure. Além disso, defina
spark_enabled: true:Dica
Este exemplo é para uma VNet gerenciada configurada usando
isolation_mode: allow_internet_outboundpara permitir o tráfego de internet. Se você quiser permitir apenas o tráfego de saída aprovado, useisolation_mode: allow_only_approved_outbound.name: myworkspace managed_network: isolation_mode: allow_internet_outbound outbound_rules: - name: added-perule destination: service_resource_id: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT_NAME> spark_enabled: true subresource_target: blob type: private_endpointVocê pode usar um arquivo de configuração YAML com o comando
az ml workspace updateespecificando o parâmetro--filee o nome do arquivo YAML. Por exemplo, o comando a seguir atualiza um workspace existente usando um arquivo YAML chamadoworkspace_pe.yml:az ml workspace update --file workspace_pe.yml --resource_group rg --name wsObservação
Quando Permitir Somente Saída Aprovada estiver habilitada (
isolation_mode: allow_only_approved_outbound), as dependências do pacote conda definidas na configuração de sessão do Spark não serão instaladas. Para resolver esse problema, carregue um pacote wheel do Python sem dependências externas em uma conta de armazenamento do Azure e crie um ponto de extremidade privado para essa conta de armazenamento. Use o caminho para o pacote wheel do Python como parâmetropy_filesem seu trabalho do Spark. Configurar uma regra de saída do FQDN não resolverá esse problema, pois a propagação de regras FQDN não é compatível com o Spark.O exemplo a seguir demonstra como criar uma rede virtual gerenciada para um workspace do Azure Machine Learning existente chamado
myworkspace. Ele também adiciona um ponto de extremidade privado para a Conta de Armazenamento do Azure e definespark_enabled=true:Dica
O exemplo a seguir é para uma VNet gerenciada configurada usando
IsolationMode.ALLOW_INTERNET_OUTBOUNDpara permitir o tráfego da Internet. Se você quiser permitir apenas o tráfego de saída aprovado, useIsolationMode.ALLOW_ONLY_APPROVED_OUTBOUND.# Get the existing workspace ml_client = MLClient(DefaultAzureCredential(), subscription_id, resource_group, "myworkspace") ws = ml_client.workspaces.get() # Basic managed VNet configuration ws.managed_network = ManagedNetwork(IsolationMode.ALLOW_INTERNET_OUTBOUND) # Example private endpoint outbound to a blob rule_name = "myrule" service_resource_id = "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT_NAME>" subresource_target = "blob" spark_enabled = True # Add the outbound ws.managed_network.outbound_rules = [PrivateEndpointDestination( name=rule_name, service_resource_id=service_resource_id, subresource_target=subresource_target, spark_enabled=spark_enabled)] # Create the workspace ml_client.workspaces.begin_update(ws)Observação
- Quando Permitir Somente Saída Aprovada estiver habilitada (
isolation_mode: allow_only_approved_outbound), as dependências do pacote conda definidas na configuração de sessão do Spark não serão instaladas. Para resolver esse problema, carregue um pacote wheel do Python sem dependências externas em uma conta de armazenamento do Azure e crie um ponto de extremidade privado para essa conta de armazenamento. Use o caminho para o pacote wheel do Python como parâmetropy_filesno trabalho do Spark. - Se o workspace foi criado com
IsolationMode.ALLOW_INTERNET_OUTBOUND, ele não pode ser atualizado posteriormente para usoIsolationMode.ALLOW_ONLY_APPROVED_OUTBOUND.
Entre no portal do Azure e selecione o workspace do Azure Machine Learning.
Selecione Rede e, em seguida, selecione Adicionar regras de saída definidas pelo usuário. Adicione uma regra para a Conta de Armazenamento do Azure e certifique-se de que Habilitado para Spark esteja selecionado.
Selecione Salvar para salvar a regra e, em seguida, selecione Salvar na parte superior da Rede para salvar as alterações na rede virtual gerenciada.
- Quando Permitir Somente Saída Aprovada estiver habilitada (
Provisione a rede virtual gerenciada.
Observação
Se o workspace tiver acesso à rede pública habilitado, desabilite-o antes de provisionar a VNet gerenciada. Se você não desabilitar o acesso à rede pública durante o provisionamento da VNet gerenciada, os pontos de extremidade privados para o espaço de trabalho podem não ser criados automaticamente na VNet gerenciada. Caso contrário, você teria que configurar manualmente a regra de saída do ponto de extremidade privado para o workspace após o provisionamento.
O exemplo a seguir mostra como provisionar uma rede virtual gerenciada para trabalhos do Spark sem servidor usando o parâmetro
--include-spark.az ml workspace provision-network -g my_resource_group -n my_workspace_name --include-sparkO exemplo a seguir mostra como provisionar uma rede virtual gerenciada para trabalhos do Spark sem servidor:
# Connect to a workspace named "myworkspace" ml_client = MLClient(DefaultAzureCredential(), subscription_id=subscription_id, resource_group_name=resource_group, workspace_name="myworkspace") # whether to provision Spark vnet as well include_spark = True provision_network_result = ml_client.workspaces.begin_provision_network(workspace_name=ws_name, include_spark=include_spark).result()No portal do Azure, você só pode selecionar para provisionar a rede gerenciada durante a criação do workspace. Para fazer isso, selecione Provisionar rede virtual gerenciada na guia Acesso de Saída . Para provisionar a rede gerenciada para trabalhos spark sem servidor para um workspace existente, você deve usar a CLI do Azure ou o SDK do Python.
Provisionar manualmente uma VNet gerenciada
A rede virtual gerenciada é provisionada automaticamente ao criar uma instância de computação. Quando você depende do provisionamento automático, pode levar cerca de 30 minutos para criar a primeira instância de computação, pois ele também está provisionando a rede. Se você configurou regras de saída de FQDN (disponível somente com o modo permitir somente aprovado), a primeira regra do FQDN adicionará cerca de 10 minutos ao tempo de provisionamento. Se você tiver um conjunto grande de regras de saída a ser provisionado na rede gerenciada, poderá levar mais tempo para que o provisionamento seja concluído. O aumento do tempo de provisionamento pode fazer com que a criação da primeira instância de computação atinja o tempo limite.
Para reduzir o tempo de espera e evitar possíveis erros de tempo limite, recomendamos provisionar a rede gerenciada manualmente. Em seguida, aguarde até que o provisionamento seja concluído antes de criar uma instância de computação.
Como alternativa, você pode usar o sinalizador provision_network_now para provisionar a rede gerenciada como parte da criação do workspace.
Observação
Para criar uma implantação online, você deve provisionar manualmente a rede gerenciada ou criar primeiro uma instância de computação que a provisionará automaticamente.
O exemplo a seguir mostra como provisionar uma rede virtual gerenciada durante a criação do workspace.
az ml workspace create -n myworkspace -g my_resource_group --managed-network AllowInternetOutbound --provision-network-now
O exemplo a seguir mostra como provisionar manualmente uma rede virtual gerenciada.
Dica
Se você planeja enviar trabalhos spark sem servidor, adicione o parâmetro --include-spark.
az ml workspace provision-network -g my_resource_group -n my_workspace_name
Para verificar se o provisionamento foi concluído, use o seguinte comando:
az ml workspace show -n my_workspace_name -g my_resource_group --query managed_network
Para provisionar a rede gerenciada durante a criação do workspace, defina o sinalizador provision_network_now como True.
provision_network_now: True
O seguinte exemplo mostra como provisionar uma rede virtual gerenciada:
# Connect to a workspace named "myworkspace"
ml_client = MLClient(DefaultAzureCredential(), subscription_id=subscription_id, resource_group_name=resource_group, workspace_name="myworkspace")
# whether to provision Spark vnet as well
include_spark = True
provision_network_result = ml_client.workspaces.begin_provision_network(workspace_name=ws_name, include_spark=include_spark).result()
Para verificar se o espaço de trabalho foi provisionado, use ml_client.workspaces.get() para obter as informações do espaço de trabalho. A propriedade managed_network contém o status da rede gerenciada.
ws = ml_client.workspaces.get()
print(ws.managed_network.status)
Durante a criação do workspace, selecione Provisionar rede gerenciada proativamente na criação para provisionar a rede gerenciada. Os encargos são incorridos de recursos de rede, como pontos de extremidade privados, depois que a rede virtual é provisionada. Essa opção de configuração só está disponível durante a criação do workspace.
Configurar builds de imagem
Quando o Registro de Contêiner do Azure para seu workspace está em uma rede virtual, ele não pode ser usado para criar diretamente imagens do Docker. Nesse caso, configure seu workspace para usar um cluster de computação ou uma instância de computação para criar imagens.
Importante
O recurso de computação usado para criar imagens do Docker precisa conseguir acessar os repositórios de pacote que são usados para treinar e implantar seus modelos. Se você estiver usando uma rede configurada para permitir apenas saída aprovada, talvez seja necessário adicionar regras que permitam o acesso a repositórios públicos ou usar pacotes privados do Python.
Para atualizar um workspace para usar um cluster de computação ou uma instância de computação para criar imagens do Docker, use o comando az ml workspace update com o parâmetro --image-build-compute:
az ml workspace update --name ws --resource-group rg --image-build-compute mycompute
O exemplo a seguir demonstra como atualizar um workspace para usar um cluster de computação para criar imagens:
# import required libraries
from azure.ai.ml import MLClient
from azure.identity import DefaultAzureCredential
subscription_id = "<your subscription ID>"
resource_group = "<your resource group name>"
workspace = "<your workspace name>"
ml_client = MLClient(
DefaultAzureCredential(), subscription_id=subscription_id, resource_group_name=resource_group, workspace_name=workspace
)
# Get workspace info
ws=ml_client.workspaces.get(name=workspace)
# Update to use cpu-cluster for image builds
ws.image_build_compute="mycompute"
ml_client.workspaces.begin_update(ws)
# To switch back to using ACR to build (if ACR is not in the virtual network):
# ws.image_build_compute = ''
# ml_client.workspaces.begin_update(ws)
Não há uma maneira de definir a computação de build de imagem do portal do Azure. Em vez disso, use a CLI do Azure ou o SDK do Python.
Gerenciar regras de saída
Para listar as regras de saída da rede virtual gerenciada para um workspace, use o seguinte comando:
az ml workspace outbound-rule list --workspace-name ws --resource-group rg
Para exibir os detalhes de uma regra de saída da rede virtual gerenciada, use o seguinte comando:
az ml workspace outbound-rule show --rule rule-name --workspace-name ws --resource-group rg
Para remover uma regra de saída da rede virtual gerenciada, use o seguinte comando:
az ml workspace outbound-rule remove --rule rule-name --workspace-name ws --resource-group rg
O exemplo a seguir demonstra como gerenciar regras de saída para um workspace chamado myworkspace:
# Connect to the workspace
ml_client = MLClient(DefaultAzureCredential(), subscription_id=subscription_id, resource_group_name=resource_group, workspace_name="myworkspace")
# Specify the rule name
rule_name = "<some-rule-name>"
# Get a rule by name
rule = ml_client._workspace_outbound_rules.get(resource_group, ws_name, rule_name)
# List rules for a workspace
rule_list = ml_client._workspace_outbound_rules.list(resource_group, ws_name)
# Delete a rule from a workspace
ml_client._workspace_outbound_rules.begin_remove(resource_group, ws_name, rule_name).result()
Entre no portal do Azure e selecione o workspace do Azure Machine Learning para o qual você deseja habilitar o isolamento de rede virtual gerenciada.
Selecione Rede. A seção Acesso de saída do workspace permite que você gerencie regras de saída.
Para adicionar uma regra de saída, selecione Adicionar regras de saída definidas pelo usuário na guia Rede. Na barra lateral regras de saída do workspace, forneça as seguintes informações:
Para habilitar ou desabilitar uma regra, use a alternância na coluna Ativo.
Para excluir uma regra de saída, selecione excluir para a regra.
Lista de regras necessárias
Pontos de extremidade privados:
- Quando o modo de isolamento para a rede virtual gerenciada for
Allow internet outbound, as regras de saída do ponto de extremidade privado serão criadas automaticamente como regras necessárias da rede virtual gerenciada para o workspace e recursos associados com o acesso à rede pública desabilitado (Key Vault, conta do Armazenamento do Azure, Registro de Contêiner, workspace do Azure Machine Learning). - Quando o modo de isolamento da rede virtual gerenciada for
Allow only approved outbound, as regras de saída para os pontos de extremidade privados são criadas automaticamente como regras necessárias da rede virtual gerenciada para o espaço de trabalho e os recursos associados, independentemente do modo de acesso à rede pública desses recursos (Key Vault, Conta de Armazenamento, Registro de Contêiner, Espaço de Trabalho do Azure Machine Learning). - Essas regras são adicionadas automaticamente à rede virtual gerenciada.
Para que o Azure Machine Learning seja executado normalmente, há um conjunto de marcas de serviço necessárias, necessárias em uma configuração de rede virtual gerenciada ou personalizada. Não há alternativas para substituir determinadas marcas de serviço necessárias. A tabela a seguir descreve cada marca de serviço necessária e sua finalidade no Azure Machine Learning.
| Regra de marca de serviço | Entrada ou Saída | Finalidade |
|---|---|---|
AzureMachineLearning |
Entrada | Crie, atualize e exclua a instância/cluster de computação do Azure Machine Learning. |
AzureMachineLearning |
Saída | Uso dos serviços do Azure Machine Learning. O IntelliSense do Python nos notebooks usa a porta 18881. Criar, atualizar e excluir uma instância de computação do Azure Machine Learning usa a porta 5831. |
AzureActiveDirectory |
Saída | Autenticação usando o Microsoft Entra ID. |
BatchNodeManagement.region |
Saída | Comunicação com o back-end do Azure Batch para instâncias/clusters de computação do Azure Machine Learning. |
AzureResourceManager |
Saída | Criação de recursos do Azure com o Azure Machine Learning, a CLI do Azure e o SDK do Azure Machine Learning. |
AzureFrontDoor.FirstParty |
Saída | Acesse as imagens do Docker fornecidas pela Microsoft. |
MicrosoftContainerRegistry |
Saída | Acesse as imagens do Docker fornecidas pela Microsoft. Instalação do roteador do Azure Machine Learning para o Serviço de Kubernetes do Azure. |
AzureMonitor |
Saída | Usado para registrar em log o monitoramento e as métricas no Azure Monitor. Necessário somente se o Azure Monitor para o workspace não estiver protegido. Essa saída também é usada para registrar informações para incidentes de suporte. |
VirtualNetwork |
Saída | Obrigatório quando pontos de extremidade privados estão presentes na rede virtual ou nas redes virtuais emparelhadas. |
Observação
Marcas de serviço como o limite de segurança ONLY não são suficientes. Para isolamento no nível do locatário, use pontos de extremidade privados quando possível.
Lista de regras de saída específicas do cenário
Cenário: Acessar pacotes públicos de aprendizado de máquina
Para permitir a instalação de pacotes do Python para treinamento e implantação, adicione regras de FQDN de saída para permitir o tráfego aos seguintes nomes de host:
Aviso
As regras de saída de FQDN são implementadas usando o Firewall do Azure. Caso use as regras de saída de FQDN, os encargos de Firewall do Azure serão adicionados à sua cobrança. Para saber mais, consulte Preços.
Observação
A lista a seguir não contém todos os hosts necessários para todos os recursos Python na internet, apenas os mais usados. Por exemplo, caso você precise de acesso a um repositório GitHub ou outro host, identifique e adicione os hosts necessários para esse cenário.
| Nome do host | Finalidade |
|---|---|
anaconda.com*.anaconda.com |
Usado para instalar pacotes padrão. |
*.anaconda.org |
Usado para obter dados do repositório. |
pypi.org |
Usado para listar dependências do índice padrão, caso existam, e o índice não é sobrescrito pelas configurações do usuário. Se o índice for substituído, você também deverá permitir *.pythonhosted.org. |
pytorch.org*.pytorch.org |
Usado por alguns exemplos com base em PyTorch. |
*.tensorflow.org |
Usado por alguns exemplos baseados em TensorFlow. |
Cenário: Usar o Visual Studio Code para desktop ou web com a instância de computação
Se você planeja usar o Visual Studio Code com o Azure Machine Learning, adicione regras de FQDN de saída para permitir o tráfego aos seguintes hosts:
Observação
A lista a seguir não é uma lista completa dos hosts necessários para todos os recursos do Visual Studio Code na Internet, apenas os mais usados. Por exemplo, caso você precise de acesso a um repositório GitHub ou outro host, identifique e adicione os hosts necessários para esse cenário. Para obter uma lista completa de nomes de host, confira Conexões de rede no Visual Studio Code.
| Nome do host | Finalidade |
|---|---|
*.vscode.dev*.vscode-unpkg.net*.vscode-cdn.net*.vscodeexperiments.azureedge.netdefault.exp-tas.com |
Necessário para acessar vscode.dev (Visual Studio Code para a Web) |
code.visualstudio.com |
Necessário para baixar e instalar a área de trabalho do VS Code. Esse host não é necessário para o VS Code Web. |
update.code.visualstudio.com*.vo.msecnd.net |
Usado para recuperar bits do servidor do VS Code que estão instalados na instância de computação por meio de um script de instalação. |
marketplace.visualstudio.comvscode.blob.core.windows.net*.gallerycdn.vsassets.io |
Necessário para baixar e instalar extensões do VS Code. Esses hosts habilitam a conexão remota com instâncias de computação. Para obter mais informações, veja Gerenciar recursos do Azure Machine Learning no VS Code. |
vscode.download.prss.microsoft.com |
Usado para a CDN de download do Visual Studio Code |
Cenário: usar pontos de extremidade do lote ou ParallelRunStep
Se você planeja usar pontos de extremidade em lote do Azure Machine Learning para implantação ou ParallelRunStep, adicione regras de ponto de extremidade privado de saída para permitir o tráfego para os seguintes sub-recursos para a conta de armazenamento padrão:
queuetable
Cenário: usar o prompt flow com o OpenAI do Azure, a segurança de conteúdo e a Pesquisa de IA do Azure
- Ponto de extremidade privado no Foundry Tools
- Ponto de extremidade privado para a Pesquisa de IA do Azure
Cenário: usar modelos do HuggingFace
Se você planeja usar os modelos do HuggingFace com o Azure Machine Learning, adicione regras de FQDN de saída para permitir o tráfego aos seguintes hosts:
Aviso
As regras de saída de FQDN são implementadas usando o Firewall do Azure. Caso use as regras de saída de FQDN, os encargos de Firewall do Azure serão adicionados à sua cobrança. Para saber mais, consulte Preços.
docker.io*.docker.io*.docker.comproduction.cloudflare.docker.comcdn.auth0.comcdn-lfs.huggingface.co
Cenário: habilitar o acesso de endereços IP selecionados
Se quiser habilitar o acesso a partir de endereços IP específicos, execute as seguintes ações:
Adicione uma regra de saída de ponto de extremidade privado para permitir tráfego para o workspace do Azure Machine Learning. Essa regra permite que instâncias de computação criadas na rede virtual gerenciada acessem o workspace.
Dica
Você não pode adicionar essa regra durante a criação do workspace, já que o workspace ainda não existe.
Habilite o acesso da rede pública ao workspace. Para obter mais informações, confira acesso à rede pública habilitado.
Adicione seus endereços IP ao firewall do Azure Machine Learning. Para obter mais informações, confira habilitar o acesso somente a partir de intervalos de IP.
Observação
Há suporte somente para endereços IPv4.
Para saber mais, confira Configurar links privados.
Pontos de extremidade privados
Atualmente, há suporte para pontos de extremidade privados para os seguintes serviços do Azure:
- Azure Machine Learning
- Registros do Azure Machine Learning
- Armazenamento do Microsoft Azure (todos os tipos de sub-recursos)
- Registro de Contêiner do Azure
- Azure Key Vault
- Ferramentas de Fundição
- Azure AI Search (anteriormente Cognitive Search)
- Azure SQL Server
- Azure Data Factory
- Azure Cosmos DB (todos os sub-tipos de recursos)
- Hubs de Eventos do Azure
- Cache Redis do Azure
- Azure Databricks
- Banco de Dados do Azure para MariaDB
- Banco de Dados do Azure para PostgreSQL - Servidor Único
- Servidor Flexível do Banco de Dados do Azure para PostgreSQL
- Banco de Dados do Azure para MySQL
- Gerenciamento de API do Azure
- Suporte apenas à camada Clássica sem injeção de VNET e camada Standard V2 com integração de rede virtual. Para obter mais informações sobre redes virtuais de Gerenciamento de API, consulte Conceitos de Rede Virtual
- Application Insights (por meio de PrivateLinkScopes)
Ao criar um ponto de extremidade privado, você fornece o tipo de recurso e o sub-recurso ao qual o ponto de extremidade se conecta. Alguns recursos têm vários tipos e sub-recursos. Para obter mais informações, confira o que é um ponto de extremidade privado.
Quando você cria um ponto de extremidade privado para recursos dependentes do Azure Machine Learning, como Azure Storage, Azure Container Registry e Azure Key Vault, o recurso pode estar em uma assinatura diferente do Azure. No entanto, o recurso deve estar no mesmo locatário que o workspace do Azure Machine Learning.
Os pontos de extremidade privados para o workspace não são criados automaticamente. Eles só são criados quando a primeira computação é criada ou quando o provisionamento de rede virtual gerenciado é forçado. Para obter mais informações sobre como forçar o provisionamento de rede virtual gerenciado, consulte Provisionar manualmente a rede.
Aprovação de pontos de extremidade privados
Para estabelecer conexões de ponto de extremidade privado em redes virtuais gerenciadas usando o Azure Machine Learning, a identidade gerenciada do workspace, seja atribuída pelo sistema ou atribuída pelo usuário, deve ter permissões para aprovar as conexões de ponto de extremidade privado nos recursos de destino. Anteriormente, essa atribuição era feita por meio de atribuições automáticas de função pelo serviço do Azure Machine Learning. No entanto, há preocupações de segurança sobre a atribuição automática de função. Para melhorar a segurança, a partir de 30 de abril de 2025, essa atribuição de função não é automática.
É recomendável atribuir a função Aprovador de Conexão de Rede Empresarial da IA do Azure ou uma função personalizada com as permissões de conexão de ponto de extremidade privado necessárias nos tipos de recurso de destino. Para permitir que os serviços do Azure Machine Learning aprovem conexões de ponto de extremidade privado para os recursos de destino do Azure, conceda essa função à identidade gerenciada da área de trabalho do Azure Machine Learning.
Aqui está a lista de tipos de recursos de destino de ponto de extremidade privado cobertos pela função Aprovador de Conexão de Rede Empresarial da IA do Azure:
- Gateway de Aplicativo do Azure
- Azure Monitor
- Pesquisa de IA do Azure
- Hubs de Eventos
- Banco de Dados SQL do Azure
- Armazenamento do Azure
- Espaço de Trabalho do Azure Machine Learning
- Registro do Azure Machine Learning
- Fundição
- Azure Key Vault
- Azure Cosmos DB
- Banco de Dados do Azure para MySQL
- Banco de Dados do Azure para PostgreSQL
- Ferramentas de Fundição
- Cache do Azure para Redis
- Registro de Contêiner
- API Management
Para criar regras de saída de ponto de extremidade privado para tipos de recursos de destino não cobertos pela função Aprovador de Conexão de Rede Empresarial da IA do Azure, é recomendável uma função de escopo para baixo personalizado. A regra deve definir as ações necessárias para aprovar conexões de ponto de extremidade privado nos tipos de recurso de destino. Exemplos desses tipos de recursos são o Azure Data Factory, o Azure Databricks e os Aplicativos de Funções do Azure.
Para criar regras de saída de ponto de extremidade privado para recursos de workspace padrão, as permissões necessárias são cobertas automaticamente pelas atribuições de função concedidas durante a criação do workspace, portanto, nenhuma outra ação é necessária.
Selecione uma versão do Firewall do Azure para permitir somente saídas aprovadas.
Um Firewall do Azure será implantado se uma regra de saída do FQDN for criada enquanto estiver no modo permitir apenas a saída aprovada. Os encargos do Firewall do Azure são incluídos na sua cobrança. Por padrão, uma versão Standard do Firewall do Azure é criada. Opcionalmente, você pode selecionar para usar uma versão Básica. Você pode alterar a versão do firewall usada conforme necessário. Para descobrir qual versão é melhor para você, visite Escolher a versão certa do Firewall do Azure.
Importante
O firewall não é criado até que você adicione uma regra de FQDN de saída. Para obter mais informações sobre preços, consulte Preços do Firewall do Azure e veja os preços da versão Standard. A filtragem baseada em URL só tem suporte com o Firewall do Azure de SKU Premium, não com o Firewall do Azure de SKU Básico ou Standard. A rede virtual gerenciada não oferece suporte ao Firewall do Azure SKU Premium.
Depois de selecionar o modo permitir apenas saídas aprovadas, será exibida uma opção para selecionar a versão do Firewall do Azure (SKU). Selecione Standard para usar a versão padrão ou Básico para usar a versão básica. Selecione Salvar para salvar a configuração.
Para configurar a versão de firewall da CLI, use um arquivo YAML e especifique o firewall_sku. O seguinte exemplo demonstra um arquivo YAML que define o SKU de firewall como basic:
name: test-ws
resource_group: test-rg
location: eastus2
managed_network:
isolation_mode: allow_only_approved_outbound
outbound_rules:
- category: required
destination: 'contoso.com'
name: contosofqdn
type: fqdn
firewall_sku: basic
tags: {}
Para configurar a versão de firewall do SDK do Python, defina a propriedade firewall_sku do objeto ManagedNetwork. O seguinte exemplo demonstra como definir o SKU de firewall como basic:
network = ManagedNetwork(isolation_mode=IsolationMode.ALLOW_INTERNET_OUTBOUND,
firewall_sku='basic')
Preços
O recurso de rede virtual gerenciada do Azure Machine Learning é gratuito. No entanto, você é cobrado pelos seguintes recursos que são usados pela rede virtual gerenciada:
Link Privado do Azure: os pontos de extremidade privados usados para proteger as comunicações entre a rede virtual gerenciada e os recursos do Azure dependem do Link Privado do Azure. Para obter mais informações sobre preços, confira preços do Link Privado do Azure.
Regras de saída do FQDN – as regras de saída do FQDN são implementadas usando o Firewall do Azure. Caso use as regras de saída de FQDN, os encargos de Firewall do Azure serão adicionados à sua cobrança. Uma versão padrão do Firewall do Azure é usada por padrão. Para obter informações sobre como selecionar a versão básica, consulte Selecionar uma versão do Firewall do Azure.
Importante
O firewall não é criado até que você adicione uma regra de FQDN de saída. Para obter mais informações sobre preços, consulte Preços do Firewall do Azure e veja os preços da versão Standard.
Limitações
- Depois de habilitar o isolamento de rede virtual gerenciada do seu workspace (permitir a saída da Internet ou permitir apenas a saída aprovada), você não poderá desabilitá-lo.
- A rede virtual gerenciada utiliza uma conexão com endpoint privado para acessar seus recursos privados. Você não pode ter um ponto de extremidade privado e um ponto de extremidade de serviço ao mesmo tempo para seus recursos do Azure, como uma conta de armazenamento. Recomendamos o uso de pontos de extremidade privados em todos os cenários.
- A rede virtual gerenciada é excluída quando o workspace é excluído.
- Verifique se não há bloqueios de escopo nos recursos e no grupo de recursos do Azure Machine Learning. As operações internas relacionadas à rede virtual gerenciada podem ser bloqueadas.
- A proteção contra exfiltração de dados é habilitada automaticamente para o único modo de saída aprovado. Se você adicionar outras regras de saída, como a FQDNs, a Microsoft não poderá garantir que você esteja protegido contra exfiltração de dados para esses destinos de saída.
- Não há suporte para a criação de um cluster de computação em uma região diferente do workspace ao usar uma rede virtual gerenciada.
- Não há suporte para Kubernetes e VMs anexadas em uma rede virtual gerenciada do Azure Machine Learning.
- O uso de regras de saída de FQDN aumenta o custo da rede virtual gerenciada porque as regras do FQDN usam o Firewall do Azure. Para saber mais, consulte Preços.
- As regras de saída do FQDN só dão suporte às portas 80 e 443.
- Se a instância de computação estiver em uma rede gerenciada e não estiver configurada para um IP público, use o comando
az ml compute connect-sshpara se conectar a ela usando SSH. - Ao utilizar a rede virtual gerenciada, não é possível implementar recursos de computação dentro da sua rede virtual personalizada. Os recursos de computação só podem ser criados dentro da rede virtual gerenciada.
- Se sua rede gerenciada estiver configurada para permitir apenas a saída aprovada, você não poderá usar uma regra FQDN para acessar Contas de Armazenamento do Microsoft Azure. Em vez disso, você deve usar um endpoint privado.
- Certifique-se de permitir pontos de extremidade privados gerenciados pela Microsoft criados para a rede virtual gerenciada em sua política personalizada.
Migração de recursos de computação
Se você tiver um workspace existente e quiser habilitar a rede virtual gerenciada para ele, atualmente não há nenhum caminho de migração com suporte para recursos de computação gerenciados existentes. Você precisará excluir todos os recursos de computação gerenciados existentes e recriá-los depois de habilitar a rede virtual gerenciada. A lista a seguir contém os recursos de computação que devem ser excluídos e recriados:
- Cluster de computação
- Instância de computação
- Pontos de extremidade online gerenciados