Proteger recursos do workspace do Azure Machine Learning usando redes virtuais (VNets)

Dica

Você pode usar as redes virtuais gerenciadas do Azure Machine Learning em vez das etapas neste artigo. Com uma rede virtual gerenciada, o Azure Machine Learning lida com o trabalho de isolamento da rede para seu workspace e computação gerenciada. Você também pode adicionar pontos de extremidade privados para os recursos necessários para o workspace, como uma Conta de Armazenamento do Azure. Para obter mais informações, confira Isolamento de rede gerenciada no workspace.

Saiba como proteger recursos de workspace do Azure Machine Learning e ambientes de computação usando Redes Virtuais (VNets) do Azure. Este artigo usa um cenário de exemplo para mostrar como configurar uma rede virtual completa.

Este artigo faz parte de uma série sobre como proteger um fluxo de trabalho do Azure Machine Learning. Confira os outros artigos desta série:

Para obter um tutorial sobre como criar um workspace seguro, visite o Tutorial: Criar um workspace seguro, um modelo Bicep ou um modelo Terraform.

Pré-requisitos

Esse artigo pressupõe que você tenha familiaridade com os seguintes artigos:

Cenário de exemplo

Nesta seção, você aprenderá como um cenário de rede comum é configurado para proteger a comunicação do Azure Machine Learning com endereços IP privados.

A seguinte tabela compara como os serviços acessam diferentes partes de uma rede do Azure Machine Learning com e sem uma VNet:

Cenário Workspace Recursos associados Ambiente de computação de treinamento Ambiente de computação de inferência
Sem rede virtual IP público IP público IP público IP público
Espaço de trabalho público, todos os outros recursos em uma rede virtual IP público IP público (ponto de extremidade de serviço)
- ou -
IP privado (ponto de extremidade privado)
IP público IP Privado
Proteger recursos em uma rede virtual IP privado (ponto de extremidade privado) IP público (ponto de extremidade de serviço)
- ou -
IP privado (ponto de extremidade privado)
IP Privado IP Privado
  • Workspace: crie um ponto de extremidade privado para seu workspace. O ponto de extremidade privado conecta o espaço de trabalho à VNet por meio de vários endereços IP privados.
    • Acesso público – de forma opcional, você pode habilitar o acesso público para um espaço de trabalho protegido.
  • Recurso associado – Use pontos de extremidade de serviço ou pontos de extremidade privados para se conectar com os recursos do workspace, como o Armazenamento do Azure e o Azure Key Vault. Para os Serviços de Contêiner do Azure, use um ponto de extremidade privado.
    • Os pontos de extremidade de serviço fornecem a identidade de sua rede virtual para o serviço do Azure. Depois de habilitar os pontos de extremidade de serviço em sua rede virtual, você pode adicionar uma regra da rede virtual para proteger os recursos de serviço do Azure nessa rede. Os pontos de extremidade de serviço usam endereços IP públicos.
    • Pontos de extremidade privados são interfaces de rede que conectam com segurança a um serviço da plataforma de Link Privado do Azure. O ponto de extremidade privado usa um endereço IP privado da sua VNet, colocando efetivamente o serviço nela.
  • Acesso à computação de treinamento - acesse destinos de computação de treinamento, como a Instância de Computação do Azure Machine Learning e os Clusters de Computação do Azure Machine Learning, com segurança usando endereços IP públicos ou privados.
  • Acesso à computação de inferência – acesse os clusters de computação dos Serviços Kubernetes do Azure (AKS) usando endereços IP privados.

As próximas seções mostram como proteger o cenário de rede descrito anteriormente. Para proteger sua rede, você deve:

  1. Proteger o espaço de trabalho e os recursos associados.
  2. Proteger o ambiente de treinamento.
  3. Proteger o ambiente de inferência.
  4. Opcional: habilitar a função do estúdio.
  5. Definir as configurações de firewall.
  6. Configurar a resolução de nomes DNS.

Espaço de trabalho público e recursos protegidos

Importante

Embora essa configuração seja compatível com o Azure Machine Learning, a Microsoft não a recomenda. Os dados na Conta de Armazenamento do Azure por trás da rede virtual podem ser expostos no espaço de trabalho público. Você deve verificar essa configuração com sua equipe de segurança antes de usá-la na produção.

Se você quiser acessar o espaço de trabalho pela Internet pública enquanto mantém todos os recursos associados protegidos em uma rede virtual, use as seguintes etapas:

  1. Crie uma Rede Virtual do Azure. Essa rede protege os recursos usados pelo workspace.

  2. Use uma das opções a seguir para criar um espaço de trabalho publicamente acessível:

    OU

  3. Adicione os serviços a seguir à rede virtual usando um ponto de extremidade de serviçoou umponto de extremidade privado. Permita também que os serviços confiáveis da Microsoft acessem estes serviços:

  4. Nas propriedades da Conta de Armazenamento do Microsoft Azure para o seu workspace, adicione o endereço IP do cliente à lista de permissões nas configurações de firewall. Para obter mais informações, confira Configurar redes virtuais e firewalls.

Proteger o espaço de trabalho e os recursos associados

Use as etapas a seguir para proteger seu espaço de trabalho e os recursos associados. Essas etapas permitem que seus serviços se comuniquem na rede virtual.

  1. Criar uma Rede virtual do Azure. Essa rede protege o workspace e outros recursos. Depois, crie um workspace habilitado para Link Privado para habilitar a comunicação entre ele e a VNet.

  2. Adicione os serviços a seguir à rede virtual usando um ponto de extremidade de serviçoou umponto de extremidade privado. Permita também que os serviços confiáveis da Microsoft acessem estes 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
  1. Criar uma Rede virtual do Azure. Essa rede virtual protege o workspace e outros recursos. Depois, crie um workspace habilitado para Link Privado para habilitar a comunicação entre ele e a VNet.

  2. Adicione os serviços a seguir à rede virtual usando um ponto de extremidade de serviçoou umponto de extremidade privado. Permita também que os serviços confiáveis da Microsoft acessem estes 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

Diagrama que mostra como o workspace e os recursos associados se comunicam dentro de uma VNet.

Para obter instruções detalhadas sobre como concluir essas etapas, confira Proteger um espaço de trabalho do Azure Machine Learning.

Para obter instruções detalhadas sobre como concluir essas etapas, confira Proteger um espaço de trabalho do Azure Machine Learning.

Limitações

Proteger seu espaço de trabalho e os recursos associados em uma rede virtual tem as seguintes limitações:

  • O workspace e a conta de armazenamento padrão devem estar na mesma VNet. No entanto, são permitidas sub-redes dentro da mesma VNet. Por exemplo, o workspace em uma sub-rede e o armazenamento em outra.

    Recomendamos que o Azure Key Vault e o Registro de Contêiner do Azure para o workspace também estejam na mesma VNet. No entanto, esses dois recursos também podem estar em uma VNet emparelhada.

Proteger o ambiente de treinamento

Nesta seção, você saberá como proteger o ambiente de treinamento no Azure Machine Learning. Você também aprenderá como o Azure Machine Learning conclui um trabalho de treinamento para entender como as configurações de rede funcionam em conjunto.

Para proteger o ambiente de treinamento, use as seguintes etapas:

  1. Crie uma instância de computação e cluster de computação na rede virtual do Azure Machine Learning. Treinando a execução dos trabalhos nessas computações.

  2. Se o cluster ou a instância de computação usar um endereço IP público, você deverá Permitir a comunicação de entrada para que os serviços de gerenciamento possam enviar trabalhos aos recursos de computação.

    Dica

    O cluster e a instância de computação podem ser criados com ou sem um endereço IP público. Se criado com um endereço IP público, você obtém um balanceador de carga com um IP público para aceitar o acesso de entrada do serviço de lote do Azure e do serviço do Azure Machine Learning. Você precisará configurar o UDR (Roteamento Definido pelo Usuário) se usar um firewall. Se criado sem um IP público, você obtém um serviço de link privado para aceitar o acesso de entrada do serviço de lote do Azure e do serviço do Azure Machine Learning sem um IP público.

  1. Crie uma instância de computação e cluster de computação na rede virtual do Azure Machine Learning. Treinar a execução de trabalhos nessas computações.

  2. Se o cluster ou a instância de computação usar um endereço IP público, você deverá Permitir a comunicação de entrada para que os serviços de gerenciamento possam enviar trabalhos aos recursos de computação.

    Dica

    O cluster e a instância de computação podem ser criados com ou sem um endereço IP público. Se criado com um endereço IP público, você obtém um balanceador de carga com um IP público para aceitar o acesso de entrada do serviço de lote do Azure e do serviço do Azure Machine Learning. Você precisará configurar o UDR (Roteamento Definido pelo Usuário) se usar um firewall. Se criado sem um IP público, você obtém um serviço de link privado para aceitar o acesso de entrada do serviço de lote do Azure e do serviço do Azure Machine Learning sem um IP público.

Diagrama que mostra como proteger instâncias e clusters de computação gerenciados

Para obter instruções detalhadas sobre como concluir essas etapas, confira Proteger um ambiente de treinamento.

Para obter instruções detalhadas sobre como concluir essas etapas, confira Proteger um ambiente de treinamento.

Exemplo de envio de trabalho de treinamento

Nesta seção, você aprenderá como o Azure Machine Learning se comunica com segurança entre os serviços para enviar um trabalho de treinamento. Isso mostra como todas as suas configurações funcionam em conjunto para proteger a comunicação.

  1. O cliente carrega scripts de treinamento e dados de treinamento para contas de armazenamento que são protegidas com um serviço ou ponto de extremidade privado.

  2. O cliente envia um trabalho de treinamento para o espaço de trabalho do Azure Machine Learning por meio do ponto de extremidade privado.

  3. O serviço Lote do Azure recebe o trabalho do workspace. Em seguida, ele envia o trabalho de treinamento ao ambiente de computação por meio do balanceador de carga público para o recurso de computação.

  4. O recurso de computação recebe o trabalho e começa o treinamento. O recurso de computação usa informações armazenadas no cofre de chaves para acessar contas de armazenamento para baixar arquivos de treinamento e carregar a saída.

Diagrama mostrando o fluxo de trabalho seguro de envio de trabalho de treinamento.

Limitações

  • A Instância de Computação do Azure e os Clusters de Computação do Azure devem estar na mesma VNet, região e assinatura que o espaço de trabalho e seus recursos associados.

Proteger o ambiente de inferência

Você pode habilitar o isolamento de rede para pontos de extremidade online gerenciados para proteger o seguinte tráfego de rede:

  • Solicitações de pontuação de entrada.
  • Comunicação de saída com o workspace, o Registro de Contêiner do Azure e o Armazenamento de Blobs do Azure.

Para obter mais informações, confira Habilitar o isolamento de rede para pontos de extremidade online gerenciados.

Nesta seção, você conhecerá as opções disponíveis para proteger um ambiente de inferência ao usar a extensão da CLI do Azure para o ML v1 ou o SDK v1 do Python para o Azure Machine Learning. Ao fazer uma implantação do v1, recomendamos que você use clusters do AKS (Serviço de Kubernetes do Azure) para implantações de produção em grande escala.

Você tem duas opções para clusters AKS em uma rede virtual:

  • Implantar ou anexar um cluster AKS padrão à VNet.
  • Anexar um cluster AKS privado à sua VNet.

Os clusters AKS padrão têm um plano de controle com endereços IP públicos. Você pode adicionar um cluster do AKS padrão à sua VNet durante a implantação ou anexar um cluster após a criação.

Os clusters AKS privados têm um plano de controle, que só pode ser acessado por meio de IPS privados. Os clusters AKS privados devem ser anexados após a criação do cluster.

Para obter instruções detalhadas sobre como adicionar clusters padrão e privados, confira Proteger um ambiente de inferência.

Independentemente do cluster do AKS padrão ou do cluster do AKS privado usado, se o cluster do AKS estiver atrás da VNET, seu espaço de trabalho e seus recursos associados (armazenamento, cofre de chaves e ACR) deverão ter pontos de extremidade privados ou pontos de extremidade de serviço na mesma VNET que o cluster do AKS.

O diagrama de rede a seguir mostra um espaço de trabalho do Azure Machine Learning protegido com um cluster AKS privado anexado à rede virtual.

Diagrama que mostra um cluster do AKS privado anexado.

Opcional: habilitar o acesso público

Você pode proteger o espaço de trabalho usando uma VNet com um ponto de extremidade privado e ainda permitir o acesso pela Internet pública. A configuração inicial é a mesma que a usada para proteger o espaço de trabalho e os recursos associados.

Depois de proteger o espaço de trabalho com um ponto de extremidade privado, use as seguintes etapas para permitir que os clientes desenvolvam remotamente usando o SDK ou o Estúdio do Azure Machine Learning:

  1. Habilitar o acesso público ao espaço de trabalho.
  2. Configure o firewall de Armazenamento do Azure para permitir a comunicação com o endereço IP de clientes que se conectam pela Internet pública.
  1. Habilitar o acesso público ao espaço de trabalho.
  2. Configure o firewall de Armazenamento do Azure para permitir a comunicação com o endereço IP de clientes que se conectam pela Internet pública.

Opcional: habilitar a função do estúdio

Se o armazenamento estiver em uma VNet, primeiro, você precisará usar etapas de configuração extras para habilitar a funcionalidade completa no estúdio. Por padrão, os seguintes recursos estão desabilitados:

  • Pré-visualizar dados no estúdio.
  • Visualizar dados no designer.
  • Implantar um modelo no designer.
  • Enviar um experimento do AutoML.
  • Iniciar um projeto de rotulagem.

Para habilitar a funcionalidade completa do estúdio, confira Usar o Estúdio do Azure Machine Learning em uma rede virtual.

Limitações

A rotulagem de dados assistida por ML não dá suporte a uma conta de armazenamento padrão protegida por uma rede virtual. Em vez disso, use uma conta de armazenamento diferente do padrão para a rotulagem de dados assistida por ML.

Dica

Desde que não seja a conta de armazenamento padrão, a conta usada pela rotulagem de dados pode ser protegida pela rede virtual.

Definir configurações de firewall

Configure seu firewall para controlar o tráfego entre seus recursos do workspace do Azure Machine Learning e a Internet pública. Embora recomendemos o Firewall do Azure, você poderá usar outros produtos de firewall.

Para saber mais sobre as configurações de firewall, confira Usar o espaço de trabalho protegido por um firewall.

DNS Personalizado

Se você precisar usar uma solução DNS personalizada para sua rede virtual, deverá adicionar registros de host para seu espaço de trabalho.

Para saber mais sobre os nomes de domínio e endereços IP necessários, confira Como usar um espaço de trabalho com um servidor DNS personalizado.

Microsoft Sentinel

O Microsoft Sentinel é uma solução de segurança que pode se integrar ao Azure Machine Learning. Por exemplo, usando notebooks Jupyter fornecidos por meio do Azure Machine Learning. Para obter mais informações, confira Usar notebooks Jupyter para procurar ameaças à segurança.

Acesso público

O Microsoft Sentinel pode criar um espaço de trabalho automaticamente para você se você estiver de acordo com um ponto de extremidade público. Nessa configuração, os analistas do SOC (Centro de Operações de Segurança) e os administradores do sistema se conectam a notebooks em seu workspace por meio do Sentinel.

Para obter informações sobre esse processo, confira Criar um workspace do Azure Machine Learning por meio do Microsoft Sentinel

Diagrama que mostra a conexão pública do Microsoft Sentinel.

Ponto de extremidade privado

Se você quiser proteger o workspace e os recursos associados em uma VNet, primeiro, você deve criar o workspace do Azure Machine Learning. Você também deve criar uma "jump box" de máquina virtual na mesma VNet que seu workspace e habilitar a conectividade do Azure Bastion com ela. Semelhante à configuração pública, os analistas e administradores do SOC podem se conectar usando o Microsoft Sentinel, mas algumas operações devem ser executadas usando o Azure Bastion para se conectar à VM.

Para obter mais informações sobre essa configuração, confira Criar um workspace do Azure Machine Learning por meio do Microsoft Sentinel

Diagrama que mostra a conexão do Microsoft Sentinel por meio de uma VNet.

Este artigo faz parte de uma série sobre como proteger um fluxo de trabalho do Azure Machine Learning. Confira os outros artigos desta série: