Prevenção de exfiltração de dados do Azure Machine Learning

O Azure Machine Learning tem várias dependências de entrada e saída. Algumas dessas dependências podem expor um risco de exfiltração de dados por agentes mal-intencionados dentro da sua organização. Este documento explica como minimizar o risco de exfiltração de dados limitando os requisitos de entrada e saída.

  • Entrada: se sua instância de computação ou cluster usa um endereço IP público, você tem uma tag de serviço de entrada em azuremachinelearning (porta 44224). Você pode controlar esse tráfego de entrada usando um grupo de segurança de rede (NSG) e tags de serviço. É difícil disfarçar os IPs de serviço do Azure, por isso há um baixo risco de exfiltração de dados. Você também pode configurar a computação para não usar um IP público, o que remove os requisitos de entrada.

  • Saída: se agentes mal-intencionados não tiverem acesso de gravação aos recursos de destino de saída, eles não poderão usar essa saída para exfiltração de dados. O Microsoft Entra ID, o Azure Resource Manager, o Azure Machine Learning e o Microsoft Container Registry pertencem a esta categoria. Por outro lado, o armazenamento e o AzureFrontDoor.frontend podem ser usados para exfiltração de dados.

    • Saída de armazenamento: esse requisito vem da instância de computação e do cluster de computação. Um agente mal-intencionado pode usar essa regra de saída para exfiltrar dados provisionando e salvando dados em sua própria conta de armazenamento. Você pode remover o risco de exfiltração de dados usando uma Política de Ponto de Extremidade de Serviço do Azure e a arquitetura de comunicação de nó simplificada do Azure Batch.

    • AzureFrontDoor.frontend outbound: o Azure Front Door é usado pela interface do usuário do estúdio Azure Machine Learning e pelo AutoML. Em vez de permitir a saída para a marca de serviço (AzureFrontDoor.frontend), alterne para os seguintes FQDN (nomes de domínio totalmente qualificados). Mudar para esses FQDNs remove o tráfego de saída desnecessário incluído na etiqueta de serviço e permite apenas o que é necessário para a interface do usuário do estúdio do Azure Machine Learning e o AutoML.

      • ml.azure.com
      • automlresources-prod.azureedge.net

Gorjeta

As informações neste artigo são principalmente sobre o uso de uma Rede Virtual do Azure. O Azure Machine Learning também pode usar redes virtuais gerenciadas. Com uma rede virtual gerenciada, o Azure Machine Learning lida com o trabalho de isolamento de rede para seu espaço de trabalho e cálculos gerenciados.

Para resolver problemas de exfiltração de dados, as redes virtuais gerenciadas permitem restringir a saída apenas ao tráfego de saída aprovado. Para obter mais informações, consulte Isolamento de rede gerenciado pelo espaço de trabalho.

Pré-requisitos

  • Uma subscrição do Azure
  • Uma Rede Virtual do Azure (VNet)
  • Um espaço de trabalho do Azure Machine Learning com um ponto de extremidade privado que se conecta à rede virtual.
    • A conta de armazenamento usada pelo espaço de trabalho também deve se conectar à VNet usando um ponto de extremidade privado.
  • Você precisa recriar a instância de computação ou reduzir o cluster de computação para o nó zero.
    • Não é necessário se tiver aderido à pré-visualização.
    • Não é necessário se você tiver uma nova instância de computação e cluster de computação criados após dezembro de 2022.

Por que preciso usar a política de ponto de extremidade de serviço

As políticas de ponto de extremidade de serviço permitem filtrar o tráfego de rede virtual de saída para contas de Armazenamento do Azure em relação ao ponto de extremidade de serviço e permitir a exfiltração de dados apenas para contas específicas do Armazenamento do Azure. A instância de computação do Azure Machine Learning e o cluster de computação exigem acesso a contas de armazenamento gerenciadas pela Microsoft para seu provisionamento. O alias do Azure Machine Learning em políticas de ponto de extremidade de serviço inclui contas de armazenamento gerenciadas pela Microsoft. Usamos políticas de ponto de extremidade de serviço com o alias do Azure Machine Learning para evitar a exfiltração de dados ou controlar as contas de armazenamento de destino. Saiba mais na documentação da política do Service Endpoint.

1. Crie a política de ponto de extremidade do serviço

  1. No portal do Azure, adicione uma nova Política de Ponto de Extremidade de Serviço. Na guia Noções básicas, forneça as informações necessárias e selecione Avançar.

  2. Na guia Definições de política, execute as seguintes ações:

    1. Selecione + Adicionar um recurso e forneça as seguintes informações:

      • Serviço: Microsoft.Storage
      • Escopo: selecione o escopo como Conta única para limitar o tráfego de rede a uma conta de armazenamento.
      • Assinatura: a assinatura do Azure que contém a conta de armazenamento.
      • Grupo de recursos: o grupo de recursos que contém a conta de armazenamento.
      • Recurso: A conta de armazenamento padrão do seu espaço de trabalho.

      Selecione Adicionar para adicionar as informações do recurso.

      Uma captura de tela mostrando como criar uma política de ponto de extremidade de serviço.

    2. Selecione + Adicionar um alias e, em seguida, selecione /services/Azure/MachineLearning como o valor Alias do servidor. Selecione Adicionar para adicionar o alias.

      Nota

      A CLI do Azure e o Azure PowerShell não fornecem suporte para adicionar um alias à política.

  3. Selecione Rever + Criar e, em seguida, selecione Criar.

Importante

Se sua instância de computação e cluster de computação precisarem de acesso a contas de armazenamento adicionais, sua política de ponto de extremidade de serviço deverá incluir as contas de armazenamento adicionais na seção de recursos. Observe que isso não é necessário se você usar pontos de extremidade privados de armazenamento. A política de ponto de extremidade de serviço e o ponto de extremidade privado são independentes.

2. Permitir tráfego de rede de entrada e saída

Interna

Importante

As informações a seguir modificam as orientações fornecidas no artigo Como proteger o ambiente de treinamento.

Importante

As informações a seguir modificam as orientações fornecidas no artigo Como proteger o ambiente de treinamento.

Ao usar a instância de computação do Azure Machine Learning com um endereço IP público, permita o tráfego de entrada do gerenciamento de Lote do Azure (tag BatchNodeManagement.<region>de serviço). Uma instância de computação sem IP público não requer essa comunicação de entrada.

De Saída

Importante

As informações a seguir são adicionais às orientações fornecidas nos artigos Ambiente de treinamento seguro com redes virtuais e Configurar tráfego de rede de entrada e saída.

Importante

As informações a seguir são adicionais às orientações fornecidas nos artigos Ambiente de treinamento seguro com redes virtuais e Configurar tráfego de rede de entrada e saída.

Selecione a configuração que você está usando:

Permita o tráfego de saída para as seguintes tags de serviço. Substitua <region> pela região do Azure que contém seu cluster ou instância de computação:

Etiqueta de serviço Protocolo Porta
BatchNodeManagement.<region> QUALQUER 443
AzureMachineLearning TCP 443
Storage.<region> TCP 443

Nota

Para a saída de armazenamento, uma Política de Ponto de Extremidade de Serviço será aplicada em uma etapa posterior para limitar o tráfego de saída.

Para obter mais informações, consulte Como proteger ambientes de treinamento e Configurar o tráfego de rede de entrada e saída.

Para obter mais informações, consulte Como proteger ambientes de treinamento e Configurar o tráfego de rede de entrada e saída.

3. Habilite o ponto de extremidade de armazenamento para a sub-rede

Use as etapas a seguir para habilitar um ponto de extremidade de armazenamento para a sub-rede que contém seus clusters de computação e instâncias de computação do Azure Machine Learning:

  1. No portal do Azure, selecione a Rede Virtual do Azure para seu espaço de trabalho do Azure Machine Learning.
  2. À esquerda da página, selecione Sub-redes e, em seguida, selecione a sub-rede que contém o cluster de computação e a instância de computação.
  3. No formulário exibido, expanda a lista suspensa Serviços e habilite Microsoft.Storage. Selecione Salvar para salvar essas alterações.
  4. Aplique a política de ponto de extremidade de serviço à sub-rede do espaço de trabalho.

Uma captura de tela do portal do Azure mostrando como habilitar o ponto de extremidade de armazenamento para a sub-rede.

4. Ambientes com curadoria

Ao usar ambientes com curadoria do Azure Machine Learning, certifique-se de usar a versão de ambiente mais recente. O registro de contêiner para o ambiente também deve ser mcr.microsoft.com. Para verificar o registro do contêiner, use as seguintes etapas:

  1. No estúdio do Azure Machine Learning, selecione seu espaço de trabalho e, em seguida, selecione Ambientes.

  2. Verifique se o registro de contêiner do Azure começa com um valor de mcr.microsoft.com.

    Importante

    Se o registro de contêiner for, viennaglobal.azurecr.io você não poderá usar o ambiente curado com a exfiltração de dados. Tente atualizar para a versão mais recente do ambiente com curadoria.

  3. Ao usar mcr.microsoft.como , você também deve permitir a configuração de saída para os seguintes recursos. Selecione a opção de configuração que você está usando:

    Permita o tráfego de saída através da porta TCP 443 para as seguintes etiquetas de serviço. Substitua <region> pela região do Azure que contém seu cluster ou instância de computação.

    • MicrosoftContainerRegistry.<region>
    • AzureFrontDoor.FirstParty

Próximos passos

Para obter mais informações, consulte os seguintes artigos: