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.
Desabilitadas 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 do isolamento da rede virtual gerenciada configurada para permitir somente a saída aprovada.

Observação

Uma vez que um workspace de VNet gerenciado é configurado para permitir acesso de saída da internet, ele não pode ser reconfigurado para desabilitado. Da mesma forma, uma vez que um workspace de VNet gerenciado é configurado para permitir apenas saída aprovada, o workspace não pode ser reconfigurado para permitir saída da internet. Tenha isso em mente ao selecionar o modo de isolamento para a VNet gerenciada no workspace.

Azure Machine Learning Studio

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 acesso à rede pública desabilitada, verifique se o ponto de extremidade privado criado na rede virtual do cliente receberá a função Leitor à identidade gerenciada do workspace. Isso se aplica a pontos de extremidade privados de armazenamento de arquivos e blog. A função não é necessária para o ponto de extremidade 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 privado
ponto de extremidade de serviço
Permitir que serviços confiáveis da Microsoft ignorem esse firewall
Conta de Armazenamento do Azure Ponto de extremidade privado
de serviço
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 Ponto de extremidade 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 ml extensão 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 aprendizado de máquina, talvez seja necessário 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.

Observação

Se você estiver usando o workspace UAI, adicione a função Aprovador de Conexão de Rede Enterprise da IA do Azure à sua identidade. Para obter mais informações, consulte Identidade gerenciada atribuída pelo usuário.

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. Ao permitir 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:

  • Criar um novo workspace:

    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
    
  • Habilitar um workspace existente:

    Aviso

    Antes de atualizar um workspace existente para usar uma rede virtual gerenciada, você deve excluir todos os recursos de computação do workspace. Isso inclui a instância de computação, o cluster de computação e pontos de extremidade online gerenciados.

    O exemplo a seguir atualiza um workspace existente. O parâmetro --managed-network allow_internet_outbound configura uma rede virtual gerenciada para o workspace:

    az ml workspace update --name ws --resource-group rg --managed-network allow_internet_outbound
    

    Para atualizar um workspace existente usando o arquivo YAML, use o parâmetro --file e especifique o arquivo YAML que contém as definições de configuração:

    az ml workspace update --file workspace.yaml --name ws --resource-group MyGroup
    

    O exemplo de YAML a seguir define uma rede virtual gerenciada para o workspace. Ele também demonstra como adicionar uma conexão de ponto de extremidade privado a um recurso usado pelo workspace; neste exemplo, é um ponto de extremidade privado para um repositório de blobs:

    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
    

Configurar uma rede virtual gerenciada para permitir apenas saídas aprovadas

Dica

A VNet gerenciada é provisionada automaticamente quando você cria um recurso de computação. Ao permitir 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 como adicionar um ponto de extremidade privado a um recurso de Blob do Azure, uma marca de serviço para o 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 estiver 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:

  • Criar um novo workspace:

    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
    
  • Atualizar um workspace existente

    Aviso

    Antes de atualizar um workspace existente para usar uma rede virtual gerenciada, você deve excluir todos os recursos de computação do workspace. Isso inclui a instância de computação, o cluster de computação e pontos de extremidade online gerenciados.

    O seguinte exemplo usa o parâmetro --managed-network allow_only_approved_outbound para configurar a rede virtual gerenciada para um workspace existente:

    az ml workspace update --name ws --resource-group rg --managed-network allow_only_approved_outbound
    

    O arquivo YAML a seguir define uma rede virtual gerenciada para o workspace. Ele também demonstra como adicionar uma saída aprovada à rede virtual gerenciada. Neste exemplo, uma regra de saída é adicionada para ambas as marcas de serviço:

    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 para o Firewall do Azure serão adicionados à sua cobrança. Para obter mais informações, consulte Preço.

    name: myworkspace_dep
    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
    

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 ponto de extremidade 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 que usa isolation_mode: allow_internet_outbound para permitir o tráfego da 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 a saída aprovada estiver habilitada (isolation_mode: allow_only_approved_outbound), as dependências do pacote do 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. Definir uma regra de saída do FQDN não irá ignorar esse problema, já que o Spark não é compatível com a propagação de regras de FQDN.

  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 ao provisionar a VNet gerenciada, pode ser que os pontos de extremidade privados para o espaço de trabalho não sejam 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
    

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. Esse sinalizador está em versão prévia.

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. O sinalizador --provision-network-now está em versão prévia.

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

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 a 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

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

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 de Armazenamento, 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 do ponto de extremidade privado serão criadas automaticamente como regras necessárias da rede virtual gerenciada para o workspace e os recursos associados, independentemente do modo de acesso à rede pública para esses recursos (Key Vault, Conta de Armazenamento, Registro de Contêiner, workspace 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. Abaixo está uma tabela de 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 em 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 Lote do Azure 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. Somente necessário se você não tiver protegido o Azure Monitor para o workspace. 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 redes virtuais emparelhadas.

Observação

As 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

Esta não é uma lista completa dos hosts necessários para todos os recursos do Python na Internet. Ela inclui somente 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 com base no índice padrão, se houver, quando o índice não foi substituído pelas configurações do usuário. Se o índice tiver sido substituído, você deverá permitir também *.pythonhosted.org.
pytorch.org
*.pytorch.org
Usado por alguns exemplos com base em PyTorch.
*.tensorflow.org Usado por alguns exemplos com base 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:

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.

  • *.vscode.dev
  • vscode.blob.core.windows.net
  • *.gallerycdn.vsassets.io
  • raw.githubusercontent.com
  • *.vscode-unpkg.net
  • *.vscode-cdn.net
  • *.vscodeexperiments.azureedge.net
  • default.exp-tas.com
  • code.visualstudio.com
  • update.code.visualstudio.com
  • *.vo.msecnd.net
  • marketplace.visualstudio.com
  • vscode.download.prss.microsoft.com

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 para os Serviços de IA do Azure
  • Ponto de extremidade privado para o Azure AI Search

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
  • Cofre de Chave do Azure
  • Serviços de IA do Azure
  • 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
  • Servidor Único do Banco de Dados do Azure para PostgreSQL
  • Banco de Dados do Azure para PostgreSQL Servidor Flexível
  • Banco de Dados do Azure para MySQL
  • Gerenciamento de API do Azure

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 de dependência do Azure Machine Learning, como Armazenamento do Microsoft Azure, Registro de Contêiner do Azure 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.

Importante

Ao configurar pontos de extremidade privados para uma VNet gerenciada do Azure Machine Learning, os pontos de extremidade privados só são criados quando a primeira computação é criada ou quando o provisionamento de VNet gerenciada é forçado. Para obter mais informações sobre como forçar o provisionamento da VNet gerenciada, veja Configurar para trabalhos do Spark sem servidor.

Selecione uma versão do Firewall do Azure para apenas saída aprovada permitida (versão prévia)

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.

Use as guias a seguir para saber como selecionar a versão do firewall para sua rede virtual gerenciada.

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: {}

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 de 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 usa a conexão de ponto de extremidade 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 em todos os cenários.
  • A rede virtual gerenciada é excluída quando o workspace é excluído. Ao excluir recursos do Azure Machine Learning em sua assinatura do Azure, desabilite quaisquer bloqueios ou bloqueios de recursos que impeçam a exclusão dos recursos criados ou que foram criados pela Microsoft para a rede virtual gerenciada.
  • 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.
  • O isolamento de rede gerenciada não pode estabelecer uma ligação privada da rede virtual gerenciada aos recursos locais de um utilizador. Para obter a lista de conexões privadas suportadas, veja Pontos de extremidade privados.
  • 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 ponto de extremidade 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