Fluxo de tráfego de rede ao usar um espaço de trabalho seguro

Quando você coloca seu espaço de trabalho do Azure Machine Learning e recursos associados em uma rede virtual do Azure, ele altera o tráfego de rede entre recursos. Sem uma rede virtual, o tráfego de rede flui pela Internet pública ou dentro de um datacenter do Azure. Depois de introduzir uma rede virtual, você também pode querer fortalecer a segurança da rede. Por exemplo, talvez você queira bloquear as comunicações de entrada e saída entre a rede virtual e a Internet pública. No entanto, o Azure Machine Learning requer acesso a alguns recursos na Internet pública. Por exemplo, ele usa o Azure Resource Manager para implantações e operações de gerenciamento.

Este artigo lista o tráfego necessário de e para a Internet pública. Ele também explica como o tráfego de rede flui entre seu ambiente de desenvolvimento de cliente e um espaço de trabalho seguro do Azure Machine Learning nos seguintes cenários:

  • Usando o estúdio do Azure Machine Learning para trabalhar com:

    • O seu espaço de trabalho
    • AutoML
    • Estruturador
    • Conjuntos de dados e armazenamentos de dados

    O estúdio do Azure Machine Learning é uma interface do usuário baseada na Web que é executada parcialmente em seu navegador da Web. Ele faz chamadas para os serviços do Azure para executar tarefas como treinar um modelo, usar o designer ou exibir conjuntos de dados. Algumas dessas chamadas usam um fluxo de comunicação diferente do que se você estiver usando o SDK do Azure Machine Learning, a CLI do Azure, a API REST ou o Visual Studio Code.

  • Usando o estúdio do Azure Machine Learning, o SDK do Azure Machine Learning, a CLI do Azure ou a API REST para trabalhar com:

    • Instâncias de computação e clusters
    • Azure Kubernetes Service (AKS)
    • Imagens do Docker que o Azure Machine Learning gerencia

Se um cenário ou tarefa não estiver listado aqui, ele deverá funcionar da mesma forma com ou sem um espaço de trabalho seguro.

Suposições

Este artigo pressupõe a seguinte configuração:

  • O espaço de trabalho do Azure Machine Learning usa um ponto de extremidade privado para se comunicar com a rede virtual.
  • A conta de armazenamento do Azure, o cofre de chaves e o registro de contêiner que o espaço de trabalho usa também usam um ponto de extremidade privado para se comunicar com a rede virtual.
  • As estações de trabalho cliente usam um gateway VPN ou a Rota Expressa do Azure para acessar a rede virtual.

Requisitos de entrada e saída

Cenário Entrada necessária Saída necessária Configuração adicional
Aceder a um espaço de trabalho a partir do estúdio Não aplicável
  • Microsoft Entra ID
  • Azure Front Door
  • Azure Machine Learning
Talvez seja necessário usar um servidor DNS personalizado. Para obter mais informações, consulte Usar seu espaço de trabalho com um servidor DNS personalizado.
Usar AutoML, o designer, o conjunto de dados e o armazenamento de dados do estúdio Não aplicável Não aplicável
  • Configurar a entidade de serviço do espaço de trabalho
  • Permitir acesso a partir de serviços fidedignos do Azure
Para obter mais informações, consulte Proteger um espaço de trabalho do Azure Machine Learning com redes virtuais.
Usar uma instância de computação e um cluster de computação
  • Azure Machine Learning na porta 44224
  • Azure Batch nas portas 29876-29877
  • Microsoft Entra ID
  • Azure Resource Manager
  • Azure Machine Learning
  • Armazenamento do Azure
  • Azure Key Vault
Se você usar um firewall, crie rotas definidas pelo usuário. Para obter mais informações, consulte Configurar o tráfego de rede de entrada e saída.
Usar o Serviço Kubernetes do Azure Não aplicável Para obter informações sobre a configuração de saída para o AKS, consulte Ambiente de inferência do Serviço Kubernetes do Azure Seguro.
Usar imagens do Docker gerenciadas pelo Azure Machine Learning Não aplicável Registro de Artefato da Microsoft Se o registro de contêiner para seu espaço de trabalho estiver atrás da rede virtual, configure o espaço de trabalho para usar um cluster de computação para criar imagens. Para obter mais informações, consulte Proteger um espaço de trabalho do Azure Machine Learning com redes virtuais.

Finalidades das contas de armazenamento

O Azure Machine Learning usa várias contas de armazenamento. Cada um armazena dados diferentes e tem uma finalidade diferente:

  • Seu armazenamento: as contas de armazenamento em sua assinatura do Azure armazenam seus dados e artefatos, como modelos, dados de treinamento, logs de treinamento e scripts Python. Por exemplo, a conta de armazenamento padrão para seu espaço de trabalho está em sua assinatura. A instância de computação do Azure Machine Learning e o arquivo de acesso ao cluster de computação e os dados de blob neste armazenamento nas portas 445 (SMB) e 443 (HTTPS).

    Quando você está usando uma instância de computação ou cluster de computação, sua conta de armazenamento é montada como um compartilhamento de arquivos por meio do protocolo SMB. A instância de computação e o cluster usam esse compartilhamento de arquivos para armazenar itens como dados, modelos, blocos de anotações Jupyter e conjuntos de dados. A instância de computação e o cluster usam o ponto de extremidade privado quando acessam a conta de armazenamento.

  • Armazenamento da Microsoft: a instância de computação do Azure Machine Learning e o cluster de computação dependem do Azure Batch. Eles acessam o armazenamento localizado em uma assinatura da Microsoft. Esse armazenamento é usado apenas para o gerenciamento da instância de computação ou cluster. Nenhum dos seus dados é armazenado aqui. A instância de computação e o cluster de computação acessam os dados de blob, tabela e fila nesse armazenamento, usando a porta 443 (HTTPS).

O Machine Learning também armazena metadados em uma instância do Azure Cosmos DB. Por padrão, essa instância é hospedada em uma assinatura da Microsoft e a Microsoft a gerencia. Opcionalmente, você pode usar uma instância do Azure Cosmos DB em sua assinatura do Azure. Para obter mais informações, consulte Criptografia de dados com o Azure Machine Learning.

Cenário: Aceder a uma área de trabalho a partir do estúdio

Nota

As informações nesta seção são específicas para usar o espaço de trabalho do estúdio de Aprendizado de Máquina do Azure. Se você usar o SDK do Azure Machine Learning, a API REST, a CLI do Azure ou o Visual Studio Code, as informações nesta seção não se aplicam a você.

Quando você acessa seu espaço de trabalho a partir do estúdio, os fluxos de tráfego de rede são os seguintes:

  • Para autenticar recursos, a configuração usa o Microsoft Entra ID.
  • Para operações de gerenciamento e implantação, a configuração usa o Gerenciador de Recursos do Azure.
  • Para tarefas específicas do Azure Machine Learning, a configuração usa o serviço Azure Machine Learning.
  • Para acessar o estúdio do Azure Machine Learning, a configuração usa o Azure Front Door.
  • Para a maioria das operações de armazenamento, o tráfego flui através do ponto de extremidade privado do armazenamento padrão para seu espaço de trabalho. A seção Usar AutoML, o designer, o conjunto de dados e o armazenamento de dados do estúdio deste artigo discute exceções.
  • Você também precisa configurar uma solução DNS que permita resolver os nomes dos recursos dentro da rede virtual. Para obter mais informações, consulte Usar seu espaço de trabalho com um servidor DNS personalizado.

Diagrama de tráfego de rede entre o cliente e o espaço de trabalho quando você usa o estúdio.

Cenário: Use AutoML, o designer, o conjunto de dados e o armazenamento de dados do estúdio

Os seguintes recursos do estúdio de Aprendizado de Máquina do Azure usam a criação de perfil de dados:

  • Conjunto de dados: Explore o conjunto de dados do estúdio.
  • Designer: Visualize os dados de saída do módulo.
  • AutoML: visualize uma visualização ou perfil de dados e escolha uma coluna de destino.
  • Rotulagem: use rótulos para preparar dados para um projeto de aprendizado de máquina.

A criação de perfil de dados depende da capacidade do serviço gerenciado do Azure Machine Learning de acessar a conta de armazenamento padrão do Azure para seu espaço de trabalho. O serviço gerenciado não existe em sua rede virtual, portanto, ele não pode acessar diretamente a conta de armazenamento na rede virtual. Em vez disso, o espaço de trabalho usa uma entidade de serviço para acessar o armazenamento.

Gorjeta

Você pode fornecer uma entidade de serviço ao criar o espaço de trabalho. Se não o fizer, um é criado para si e tem o mesmo nome que o seu espaço de trabalho.

Para permitir o acesso à conta de armazenamento, configure a conta de armazenamento para permitir uma instância de recurso para seu espaço de trabalho ou selecione Permitir serviços do Azure na lista de serviços confiáveis para acessar essa conta de armazenamento. Essa configuração permite que o serviço gerenciado acesse o armazenamento por meio da rede de datacenter do Azure.

Em seguida, adicione a entidade de serviço do espaço de trabalho à função Leitor ao ponto de extremidade privado da conta de armazenamento. O Azure usa essa função para verificar as informações da sub-rede de espaço de trabalho e armazenamento. Se forem iguais, o Azure permite o acesso. Por fim, a entidade de serviço também requer acesso do contribuidor de dados Blob à conta de armazenamento.

Para obter mais informações, consulte a seção "Proteger contas de armazenamento do Azure" de Proteger um espaço de trabalho do Azure Machine Learning com redes virtuais.

Diagrama de tráfego entre o cliente, perfil de dados e armazenamento.

Cenário: usar uma instância de computação e um cluster de computação

Uma instância de computação do Azure Machine Learning e um cluster de computação são serviços gerenciados que a Microsoft hospeda. Eles são criados sobre o serviço de Lote do Azure. Embora existam em um ambiente gerenciado pela Microsoft, eles também são injetados em sua rede virtual.

Quando você cria uma instância de computação ou cluster de computação, os seguintes recursos também são criados em sua rede virtual:

  • Um grupo de segurança de rede com regras de saída necessárias. Essas regras permitem o acesso de entrada do Azure Machine Learning (TCP na porta 44224) e do Azure Batch (TCP nas portas 29876-29877).

    Importante

    Se você usar um firewall para bloquear o acesso à Internet na rede virtual, deverá configurar o firewall para permitir esse tráfego. Por exemplo, com o Firewall do Azure, você pode criar rotas definidas pelo usuário. Para obter mais informações, consulte Configurar o tráfego de rede de entrada e saída.

  • Um balanceador de carga com um endereço IP público.

Permita também o acesso de saída às seguintes etiquetas de serviço. Para cada tag, substitua region pela região do Azure de sua instância de computação ou cluster:

  • Storage.region: Esse acesso de saída é usado para se conectar à conta de armazenamento do Azure dentro da rede virtual gerenciada do Azure Batch.
  • Keyvault.region: Esse acesso de saída é usado para se conectar à conta do Cofre da Chave do Azure dentro da rede virtual gerenciada do Lote do Azure.

O acesso aos dados de sua instância de computação ou cluster passa pelo ponto de extremidade privado da conta de armazenamento para sua rede virtual.

Se você usar o Visual Studio Code em uma instância de computação, deverá permitir outro tráfego de saída. Para obter mais informações, consulte Configurar o tráfego de rede de entrada e saída.

Diagrama de fluxo de tráfego quando você usa uma instância de computação ou cluster.

Cenário: Usar pontos de extremidade online

Você configura a segurança para comunicação de entrada e saída separadamente para pontos de extremidade online gerenciados.

Comunicação de entrada

Você pode ajudar a proteger a comunicação de entrada com a URL de pontuação do ponto de extremidade online usando o public_network_access sinalizador no ponto de extremidade. Definir o sinalizador para disabled garantir que o ponto de extremidade online receba tráfego somente da rede virtual de um cliente por meio do ponto de extremidade privado do espaço de trabalho do Azure Machine Learning.

O public_network_access sinalizador do espaço de trabalho do Azure Machine Learning também rege a visibilidade do ponto de extremidade online. Se esse sinalizador for disabled, os pontos de extremidade de pontuação podem ser acessados somente de redes virtuais que contêm um ponto de extremidade privado para o espaço de trabalho. Se esse sinalizador for enabled, o ponto de extremidade de pontuação pode ser acessado a partir da rede virtual e redes públicas.

Comunicação de saída

Você pode ajudar a proteger a comunicação de saída de uma implantação no nível do espaço de trabalho usando o isolamento de rede virtual gerenciado para seu espaço de trabalho do Azure Machine Learning. O uso dessa configuração faz com que o Aprendizado de Máquina do Azure crie uma rede virtual gerenciada para o espaço de trabalho. Qualquer implantação na rede virtual gerenciada do espaço de trabalho pode usar os pontos de extremidade privados da rede virtual para comunicação de saída.

O método de isolamento de rede herdado para proteger a comunicação de saída funcionou desativando o sinalizador de egress_public_network_access uma implantação. É altamente recomendável que você ajude a proteger a comunicação de saída para implantações usando uma rede virtual gerenciada pelo espaço de trabalho. Ao contrário da abordagem herdada, o sinalizador egress_public_network_access para a implantação não se aplica mais quando você usa uma rede virtual gerenciada por espaço de trabalho com sua implantação. Em vez disso, as regras definidas para a rede virtual gerenciada do espaço de trabalho controlam a comunicação de saída.

Cenário: Usar o Serviço Kubernetes do Azure

Para obter informações sobre a configuração de saída necessária para o Serviço Kubernetes do Azure, consulte Proteger um ambiente de inferência do Azure Machine Learning com redes virtuais.

Nota

O balanceador de carga do Serviço Kubernetes do Azure não é o mesmo que o balanceador de carga que o Azure Machine Learning cria. Se você quiser hospedar seu modelo como um aplicativo seguro que está disponível apenas na rede virtual, use o balanceador de carga interno que o Aprendizado de Máquina do Azure cria. Se você quiser permitir o acesso público, use o balanceador de carga público que o Aprendizado de Máquina do Azure cria.

Se o seu modelo exigir conectividade extra de entrada ou saída, como para uma fonte de dados externa, use um grupo de segurança de rede ou seu firewall para permitir o tráfego.

Cenário: Usar imagens do Docker gerenciadas pelo Azure Machine Learning

O Azure Machine Learning fornece imagens do Docker que você pode usar para treinar modelos ou executar inferência. Essas imagens são hospedadas no Microsoft Artifact Registry.

Se você fornecer suas próprias imagens do Docker, como em um registro de contêiner fornecido, não precisará da comunicação de saída com o Registro de Artefatos.

Gorjeta

Se o seu registro de contêiner estiver protegido na rede virtual, o Azure Machine Learning não poderá usá-lo para criar imagens do Docker. Em vez disso, você deve designar um cluster de computação do Azure Machine Learning para criar imagens. Para obter mais informações, consulte Proteger um espaço de trabalho do Azure Machine Learning com redes virtuais.

Diagrama de fluxo de tráfego quando você usa imagens fornecidas do Docker.

Próximos passos

Agora que você aprendeu como o tráfego de rede flui em uma configuração segura, saiba mais sobre como proteger o Aprendizado de Máquina do Azure em uma rede virtual lendo o artigo de visão geral sobre isolamento e privacidade de rede virtual.

Para obter informações sobre práticas recomendadas, consulte o artigo Práticas recomendadas do Azure Machine Learning para segurança corporativa.