Isolamento de rede com terminais online geridos

APLICA-SE A:Azure CLI ml extension v2 (current)Python SDK azure-ai-ml v2 (current)

Ao implantar um modelo de aprendizado de máquina em um ponto de extremidade online gerenciado, você pode proteger a comunicação com o ponto de extremidade online usando pontos de extremidade privados. Neste artigo, você aprenderá como um ponto de extremidade privado pode ser usado para proteger a comunicação de entrada para um ponto de extremidade online gerenciado. Você também aprenderá como uma rede virtual gerenciada por espaço de trabalho pode ser usada para fornecer comunicação segura entre implantações e recursos.

Você pode proteger solicitações de pontuação de entrada de clientes para um ponto de extremidade online e proteger as comunicações de saída entre uma implantação, os recursos do Azure que ela usa e recursos privados. A segurança para comunicação de entrada e saída é configurada separadamente. Para obter mais informações sobre pontos de extremidade e implantações, consulte O que são pontos de extremidade e implantações.

O diagrama de arquitetura a seguir mostra como as comunicações fluem através de pontos de extremidade privados para o ponto de extremidade online gerenciado. As solicitações de pontuação recebidas da rede virtual de um cliente fluem através do ponto de extremidade privado do espaço de trabalho para o ponto de extremidade online gerenciado. As comunicações de saída de implantações para serviços são tratadas por meio de pontos de extremidade privados da rede virtual gerenciada do espaço de trabalho para essas instâncias de serviço.

Diagrama mostrando a comunicação de entrada por meio de um ponto de extremidade privado do espaço de trabalho e a comunicação de saída por meio de pontos de extremidade privados de uma rede virtual gerenciada pelo espaço de trabalho.

Nota

  • Este artigo se concentra no isolamento de rede usando a rede virtual gerenciada do espaço de trabalho. Para obter uma descrição do método herdado para isolamento de rede, no qual o Aprendizado de Máquina do Azure cria uma rede virtual gerenciada para cada implantação em um ponto de extremidade, consulte o Apêndice.
  • Cada implantação é isolada de outras implantações, independentemente da comunicação de entrada e saída discutida neste artigo. Em outras palavras, mesmo com endpoints/implantações que permitem entrada/saída de internet, há um isolamento de rede entre implantações, o que impede que qualquer implantação se conecte diretamente a outras implantações.

Limitações

  • O sinalizador v1_legacy_mode tem de estar desativado (falso) na área de trabalho do Azure Machine Learning. Se este sinalizador estiver ativado, não poderá criar um ponto final online gerido. Para obter mais informações, veja Isolamento de rede com a API v2.

  • Se o seu espaço de trabalho do Azure Machine Learning tiver um ponto de extremidade privado que foi criado antes de 24 de maio de 2022, você deverá recriar o ponto de extremidade privado do espaço de trabalho antes de configurar seus pontos de extremidade online para usar um ponto de extremidade privado. Para obter mais informações sobre como criar um ponto final privado para a área de trabalho, veja Como configurar um ponto final privado para a área de trabalho do Azure Machine Learning.

    Gorjeta

    Para confirmar quando um espaço de trabalho foi criado, você pode verificar as propriedades do espaço de trabalho.

    No Estúdio, vá para a Directory + Subscription + Workspace seção (canto superior direito do Estúdio) e selecione View all properties in Azure Portal. Selecione a visualização JSON no canto superior direito da página "Visão geral" e, em seguida, escolha a versão mais recente da API. Nesta página, você pode verificar o valor de properties.creationTime.

    Como alternativa, use az ml workspace show com CLI,my_ml_client.workspace.get("my-workspace-name") com SDK ou curl em um espaço de trabalho com API REST.

  • Ao usar o isolamento de rede com pontos de extremidade online, você pode usar recursos associados ao espaço de trabalho (Azure Container Registry (ACR), conta de armazenamento, Cofre de Chaves e Application Insights) de um grupo de recursos diferente do do seu espaço de trabalho. No entanto, esses recursos devem pertencer à mesma assinatura e locatário do seu espaço de trabalho.

Nota

O isolamento de rede descrito neste artigo aplica-se a operações de plano de dados, ou seja, operações que resultam de solicitações de pontuação (ou serviço de modelo). As operações do plano de controle (como solicitações para criar, atualizar, excluir ou recuperar chaves de autenticação) são enviadas ao Gerenciador de Recursos do Azure pela rede pública.

Proteger as solicitações de pontuação de entrada

A comunicação de entrada segura de um cliente para um ponto de extremidade online gerenciado é possível usando um ponto de extremidade privado para o espaço de trabalho do Azure Machine Learning. Esse ponto de extremidade privado na rede virtual do cliente se comunica com o espaço de trabalho do ponto de extremidade online gerenciado e é o meio pelo qual o ponto de extremidade online gerenciado pode receber solicitações de pontuação de entrada do cliente.

Para proteger as solicitações de pontuação para o ponto de extremidade online, para que um cliente possa acessá-lo somente por meio do ponto de extremidade privado do espaço de trabalho, defina o public_network_access sinalizador do ponto de extremidade como disabled. Depois de criar o ponto de extremidade, você pode atualizar essa configuração para habilitar o acesso à rede pública, se desejar.

Defina o sinalizador do ponto de public_network_access extremidade como disabled:

az ml online-endpoint create -f endpoint.yml --set public_network_access=disabled

Quando public_network_access é disabled, as solicitações de pontuação de entrada são recebidas usando o ponto de extremidade privado do espaço de trabalho e o ponto de extremidade não pode ser acessado de redes públicas.

Como alternativa, se você definir como public_network_accessenabled, o ponto de extremidade poderá receber solicitações de pontuação de entrada da Internet.

Acesso de saída seguro com rede virtual gerenciada pelo espaço de trabalho

Para proteger a comunicação de saída de uma implantação para serviços, você precisa habilitar o isolamento de rede virtual gerenciado para seu espaço de trabalho do Azure Machine Learning para que o Azure Machine Learning possa criar uma rede virtual gerenciada para o espaço de trabalho. Todos os pontos de extremidade online gerenciados no espaço de trabalho (e recursos de computação gerenciados para o espaço de trabalho, como clusters de computação e instâncias de computação) usam automaticamente essa rede virtual gerenciada pelo espaço de trabalho, e as implantações sob os pontos de extremidade compartilham os pontos de extremidade privados da rede virtual gerenciada para comunicação com os recursos do espaço de trabalho.

Quando você protege seu espaço de trabalho com uma rede virtual gerenciada, o egress_public_access sinalizador para implantações online gerenciadas não se aplica mais. Evite definir esse sinalizador ao criar a implantação online gerenciada.

Para comunicação de saída com uma rede virtual gerenciada por espaço de trabalho, o Azure Machine Learning:

  • Cria pontos de extremidade privados para a rede virtual gerenciada usar para comunicação com recursos do Azure que são usados pelo espaço de trabalho, como o Armazenamento do Azure, o Cofre da Chave do Azure e o Registro de Contêiner do Azure.
  • Permite que as implantações acessem o Microsoft Container Registry (MCR), que pode ser útil quando você deseja usar ambientes com curadoria ou implantação sem código MLflow.
  • Permite que os usuários configurem regras de saída de ponto de extremidade privado para recursos privados e configurem regras de saída (marca de serviço ou FQDN) para recursos públicos. Para obter mais informações sobre como gerenciar regras de saída, consulte Gerenciar regras de saída.

Além disso, você pode configurar dois modos de isolamento para o tráfego de saída da rede virtual gerenciada pelo espaço de trabalho, a saber:

  • Permitir a saída da Internet, para permitir todo o tráfego de saída da Internet a partir da rede virtual gerida
  • Permita apenas saída aprovada para controlar o tráfego de saída usando pontos de extremidade privados, regras de saída FQDN e regras de saída de etiqueta de serviço.

Por exemplo, digamos que a rede virtual gerenciada do seu espaço de trabalho contenha duas implantações em um ponto de extremidade online gerenciado, ambas as implantações podem usar os pontos de extremidade privados do espaço de trabalho para se comunicar com:

  • O espaço de trabalho do Azure Machine Learning
  • O blob de Armazenamento do Azure associado ao espaço de trabalho
  • O Registro de Contêiner do Azure para o espaço de trabalho
  • O Cofre da Chave do Azure
  • (Opcional) recursos privados adicionais que suportam pontos de extremidade privados.

Para saber mais sobre as configurações da rede virtual gerenciada pelo espaço de trabalho, consulte Arquitetura de rede virtual gerenciada.

Cenários para configuração de isolamento de rede

Seu espaço de trabalho do Azure Machine Learning e o ponto de extremidade online gerenciado têm um public_network_access sinalizador que você pode usar para configurar sua comunicação de entrada. Por outro lado, a comunicação de saída de uma implantação depende da rede virtual gerenciada do espaço de trabalho.

Comunicação com o endpoint online gerenciado

Suponha que um ponto de extremidade online gerenciado tenha uma implantação que usa um modelo de IA e você queira usar um aplicativo para enviar solicitações de pontuação para o ponto de extremidade. Você pode decidir qual configuração de isolamento de rede usar para o ponto de extremidade online gerenciado da seguinte maneira:

Para comunicação de entrada:

Se o aplicativo estiver disponível publicamente na internet, você precisará habilitarpublic_network_access o ponto de extremidade para que ele possa receber solicitações de pontuação de entrada do aplicativo.

No entanto, digamos que o aplicativo é privado, como um aplicativo interno dentro da sua organização. Nesse cenário, você deseja que o modelo de IA seja usado apenas dentro da sua organização, em vez de expô-lo à Internet. Portanto, você precisa desabilitar o ponto de extremidade para que ele possa receber solicitações de public_network_access pontuação de entrada somente por meio do ponto de extremidade privado de seu espaço de trabalho.

Para comunicação de saída (implantação):

Suponha que sua implantação precise acessar recursos privados do Azure (como o blob de Armazenamento do Azure, o ACR e o Cofre da Chave do Azure) ou seja inaceitável que a implantação acesse a Internet. Nesse caso, você precisa habilitar a rede virtual gerenciada do espaço de trabalho com o modo de isolamento de saída somente permitir aprovado. Esse modo de isolamento permite a comunicação de saída da implantação apenas para destinos aprovados, protegendo contra a exfiltração de dados. Além disso, você pode adicionar regras de saída para o espaço de trabalho, para permitir o acesso a mais recursos públicos ou privados. Para obter mais informações, consulte Configurar uma rede virtual gerenciada para permitir apenas saída aprovada.

No entanto, se desejar que sua implantação acesse a Internet, você poderá usar a rede virtual gerenciada do espaço de trabalho com o modo de isolamento de saída da Internet permitido. Além de poder acessar a Internet, você poderá usar os pontos de extremidade privados da rede virtual gerenciada para acessar os recursos privados do Azure de que precisa.

Por fim, se sua implantação não precisar acessar recursos privados do Azure e você não precisar controlar o acesso à Internet, não precisará usar uma rede virtual gerenciada por espaço de trabalho.

Comunicação de entrada para o espaço de trabalho do Azure Machine Learning

Você pode usar o sinalizador do seu espaço de trabalho do Azure Machine Learning para habilitar ou desabilitar o public_network_access acesso ao espaço de trabalho de entrada. Normalmente, se você proteger a comunicação de entrada para seu espaço de trabalho (desativando o sinalizador do public_network_access espaço de trabalho), você também deseja proteger a comunicação de entrada para seu ponto de extremidade online gerenciado.

O gráfico a seguir mostra um fluxo de trabalho típico para proteger a comunicação de entrada para seu espaço de trabalho do Azure Machine Learning e seu ponto de extremidade online gerenciado. Para melhor segurança, recomendamos que você desative os public_network_access sinalizadores do espaço de trabalho e do ponto de extremidade online gerenciado para garantir que ambos não possam ser acessados pela Internet pública. Se o espaço de trabalho não tiver um ponto de extremidade privado, você poderá criar um, certificando-se de incluir a resolução DNS adequada. Em seguida, você pode acessar o ponto de extremidade online gerenciado usando o ponto de extremidade privado do espaço de trabalho.

Uma captura de tela mostrando um fluxo de trabalho típico para proteger a comunicação de entrada para seu espaço de trabalho e ponto de extremidade online gerenciado.

Nota

Os pontos de extremidade online gerenciados compartilham o ponto de extremidade privado do espaço de trabalho. Se você estiver adicionando manualmente registros DNS à zona privatelink.api.azureml.msDNS privada, um registro A com curinga *.<per-workspace globally-unique identifier>.inference.<region>.privatelink.api.azureml.ms deverá ser adicionado para rotear todos os pontos de extremidade sob o espaço de trabalho para o ponto de extremidade privado.

Para obter mais informações sobre a resolução DNS para seu espaço de trabalho e ponto de extremidade privado, consulte Como usar seu espaço de trabalho com um servidor DNS personalizado.

Anexo

Acesso de saída seguro com método de isolamento de rede herdado

Para pontos de extremidade online gerenciados, você também pode proteger a comunicação de saída entre implantações e recursos usando uma rede virtual gerenciada do Azure Machine Learning para cada implantação no ponto de extremidade. A comunicação de saída segura também é tratada usando pontos de extremidade privados para essas instâncias de serviço.

Nota

É altamente recomendável que você use a abordagem descrita em Acesso de saída seguro com rede virtual gerenciada pelo espaço de trabalho em vez desse método herdado.

Para restringir a comunicação entre uma implantação e recursos externos, incluindo os recursos do Azure que ela usa, você deve garantir que:

  • O sinalizador da egress_public_network_access implantação é disabled. Esse sinalizador garante que o download do modelo, do código e das imagens necessárias para a implantação sejam protegidos com um ponto de extremidade privado. Depois de criar a implantação, não é possível atualizar (habilitar ou desabilitar) o egress_public_network_access sinalizador. A tentativa de alterar o sinalizador durante a atualização da implantação falha com um erro.

  • O espaço de trabalho tem um link privado que permite o acesso aos recursos do Azure por meio de um ponto de extremidade privado.

  • O espaço de trabalho tem um public_network_access sinalizador que pode ser habilitado ou desabilitado, se você planeja usar uma implantação online gerenciada que usa saída pública, também deverá configurar o espaço de trabalho para permitir acesso público. Isso ocorre porque a comunicação de saída da implantação online é para a API do espaço de trabalho. Quando a implantação é configurada para usar saída pública, o espaço de trabalho deve ser capaz de aceitar essa comunicação pública (permitir acesso público).

Quando você tem várias implantações e configura o para disabled para cada implantação em um ponto de extremidade online gerenciado, cada implantação tem sua própria rede virtual gerenciada independente do egress_public_network_access Azure Machine Learning. Para cada rede virtual, o Azure Machine Learning cria três pontos de extremidade privados para comunicação com os seguintes serviços:

  • O espaço de trabalho do Azure Machine Learning
  • O blob de Armazenamento do Azure associado ao espaço de trabalho
  • O Registro de Contêiner do Azure para o espaço de trabalho

Por exemplo, se você definir o egress_public_network_access sinalizador para disabled duas implantações de um ponto de extremidade online gerenciado, um total de seis pontos de extremidade privados serão criados. Cada implantação usaria três pontos de extremidade privados para se comunicar com o espaço de trabalho, blob e registro de contêiner.

Importante

O Azure Machine Learning não dá suporte ao emparelhamento entre a rede virtual gerenciada de uma implantação e a rede virtual do seu cliente. Para obter acesso seguro aos recursos necessários para a implantação, usamos pontos de extremidade privados para nos comunicarmos com os recursos.

O diagrama a seguir mostra as solicitações de pontuação recebidas da rede virtual de um cliente fluindo através do ponto de extremidade privado do espaço de trabalho para o ponto de extremidade online gerenciado. O diagrama também mostra duas implantações online, cada uma em sua própria rede virtual gerenciada do Azure Machine Learning. A rede virtual de cada implantação tem três pontos de extremidade privados para comunicação de saída com o espaço de trabalho do Azure Machine Learning, o blob de Armazenamento do Azure associado ao espaço de trabalho e o Registro de Contêiner do Azure para o espaço de trabalho.

Diagrama de isolamento geral da rede com o método herdado.

Para desativar e egress_public_network_access criar os pontos de extremidade privados:

az ml online-deployment create -f deployment.yml --set egress_public_network_access=disabled

Para confirmar a criação dos pontos de extremidade privados, primeiro verifique a conta de armazenamento e o registro de contêiner associados ao espaço de trabalho (consulte Baixar um arquivo de configuração), localize cada recurso no portal do Azure e marque a Private endpoint connections guia no Networking menu.

Importante

  • Como mencionado anteriormente, a comunicação de saída da implantação de endpoint online gerenciado é para a API do espaço de trabalho. Quando o ponto de extremidade é configurado para usar saída pública (em outras palavras, public_network_access o sinalizador para o ponto de extremidade está definido como enabled), o espaço de trabalho deve ser capaz de aceitar essa comunicação pública (public_network_access sinalizador para o espaço de trabalho definido como enabled).
  • Quando as implantações online são criadas com egress_public_network_access o sinalizador definido como disabled, elas terão acesso apenas aos recursos protegidos (espaço de trabalho, blob e registro de contêiner). Por exemplo, se a implantação usar ativos de modelo carregados em outras contas de armazenamento, o download do modelo falhará. Verifique se os ativos do modelo estão na conta de armazenamento associada ao espaço de trabalho.
  • Quando egress_public_network_access estiver definido como disabled, a implantação só poderá acessar os recursos associados ao espaço de trabalho protegidos na rede virtual. Pelo contrário, quando egress_public_network_access definido como enabled, a implantação só pode acessar os recursos com acesso público, o que significa que não pode acessar os recursos protegidos na rede virtual.

A tabela seguinte lista as configurações suportadas ao configurar comunicações de entrada e saída para um ponto final online:

Configuração Entrada
(propriedade Endpoint)
Saída
(propriedade Deployment)
Suportada?
entrada segura com saída segura public_network_access está desativado egress_public_network_access está desativado Yes
entrada segura com saída pública public_network_access está desativado egress_public_network_access está habilitado
O espaço de trabalho também deve permitir o acesso público, pois a saída da implantação é para a API do espaço de trabalho.
Sim
entrada pública com saída segura public_network_access está ativado egress_public_network_access está desativado Yes
entrada pública com saída pública public_network_access está ativado egress_public_network_access está habilitado
O espaço de trabalho também deve permitir o acesso público, pois a saída da implantação é para a API do espaço de trabalho.
Sim

Próximos passos