Compartilhar via


Isolamento de Rede Virtual gerenciado por workspace

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.
  1. 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:

Diagrama do isolamento de rede virtual gerenciada configurada para 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.

Diagrama de isolamento de rede virtual gerenciada configurado para permitir apenas saída aprovada.

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/read
    • Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/write
  • A CLI do Azure e a extensão ml na 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 ml
    
  • Os 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 ws para representar o nome do workspace e rg para 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/read
    • Microsoft.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-identity
    
  • Os 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/read
    • Microsoft.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()
  1. Entre no portal do Azure e escolha Azure Machine Learning no menu Criar um recurso.

  2. Preencha as informações necessárias na guia Noções básicas.

  3. Na guia Rede, selecione Privado com Saída da Internet.

    Captura de tela da criação de um workspace com uma rede virtual gerenciada de saída da Internet.

  4. 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.

    Captura de tela da adição de uma regra de saída para um ponto de extremidade privado.

    Selecione Salvar para salvar a regra. Você pode continuar usando Adicionar regras de saída definidas pelo usuário para adicionar regras.

  5. 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()
  1. Entre no portal do Azure e escolha Azure Machine Learning no menu Criar um recurso.

  2. Preencha as informações necessárias na guia Noções básicas.

  3. Na guia Rede, selecione Privada com Saída da Internet.

    Captura de tela da criação de um workspace com uma rede virtual gerenciada de saída aprovada.

  4. 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.

    Captura de tela da atualização de uma rede de saída aprovada por meio da adição de um ponto de extremidade privado.

    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.

    Captura de tela da atualização de uma rede de saída aprovada por meio da adição de uma etiqueta 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.

    Captura de tela da atualização de uma rede de saída aprovada adicionando uma regra de FQDN para uma rede virtual gerenciada de saída aprovada.

    Selecione Salvar para salvar a regra. Você pode continuar usando Adicionar regras de saída definidas pelo usuário para adicionar regras.

  5. 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.
  1. 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_outbound para permitir o tráfego de internet. Se você quiser permitir apenas o tráfego de saída aprovado, use isolation_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_endpoint
    

    Você pode usar um arquivo de configuração YAML com o comando az ml workspace update especificando o parâmetro --file e o nome do arquivo YAML. Por exemplo, o comando a seguir atualiza um workspace existente usando um arquivo YAML chamado workspace_pe.yml:

    az ml workspace update --file workspace_pe.yml --resource_group rg --name 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âmetro py_files em 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 define spark_enabled=true:

    Dica

    O exemplo a seguir é para uma VNet gerenciada configurada usando IsolationMode.ALLOW_INTERNET_OUTBOUND para permitir o tráfego da Internet. Se você quiser permitir apenas o tráfego de saída aprovado, use IsolationMode.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âmetro py_files no trabalho do Spark.
    • Se o workspace foi criado com IsolationMode.ALLOW_INTERNET_OUTBOUND, ele não pode ser atualizado posteriormente para uso IsolationMode.ALLOW_ONLY_APPROVED_OUTBOUND.
    1. Entre no portal do Azure e selecione o workspace do Azure Machine Learning.

    2. 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.

      Captura de tela de uma regra de ponto de extremidade com o Spark habilitado selecionado.

    3. 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.

  2. 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-spark
    

    O 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()
  1. 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.

  2. Selecione Rede. A seção Acesso de saída do workspace permite que você gerencie regras de saída.

    Captura de tela da seção 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.net
default.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.com
vscode.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:

  • queue
  • table
  • 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.com
  • production.cloudflare.docker.com
  • cdn.auth0.com
  • cdn-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:

  1. 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.

  2. Habilite o acesso da rede pública ao workspace. Para obter mais informações, confira acesso à rede pública habilitado.

  3. 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-ssh para 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

Próximas etapas