Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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, aprende como um endpoint privado pode garantir a comunicação de entrada para um endpoint online gerido. Também se aprende como uma rede virtual gerida por workspace pode proporcionar comunicação segura entre implementaçõ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. Configuras a segurança para comunicação de entrada e saída 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.
Nota
- Este artigo foca-se no isolamento de rede através da utilização da rede virtual gerida 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. Ou seja, mesmo com endpoints e implementações que permitem acesso à internet de entrada e saída, existe um isolamento de rede entre implementações, que impede qualquer implementação de se ligar diretamente a outras implementações.
Limitações
O
v1_legacy_modesinalizador deve ser definido parafalsedesativar o modo herdado v1 em seu espaço de trabalho do Azure Machine Learning. Se essa configuração estiver ativada, não será possível criar um ponto de extremidade online gerenciado. Para obter mais informações, consulte Alteração de isolamento de rede com nossa nova plataforma de API no Azure Resource Manager.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 esse ponto de extremidade privado antes de configurar seus pontos de extremidade online para usar pontos de extremidade privados. Para obter mais informações sobre como criar um ponto de extremidade privado para seu espaço de trabalho, consulte Configurar um ponto de extremidade privado para um espaço de trabalho do Azure Machine Learning.
Gorjeta
Para ver a data de criação de um espaço de trabalho, você pode verificar as propriedades do espaço de trabalho.
- No estúdio do Azure Machine Learning, vá para o canto superior direito e selecione o nome do seu espaço de trabalho.
- Na janela Diretório + Subscrição + Espaço de Trabalho, selecione Ver todas as propriedades no portal Azure.
- Na página Visão geral do portal do Azure, vá para o canto superior direito e selecione Exibição JSON.
- Na janela JSON de recursos, em Versões da API, selecione a versão mais recente da API.
-
propertiesNa seção do código JSON, verifique o valorcreationTime.
Como alternativa, use um dos seguintes métodos:
-
SDK do Python:
Workspace.get(name=<workspace-name>, subscription_id=<subscription-ID>, resource_group=<resource-group-name>).get_details() -
API REST:
curl https://management.azure.com/subscriptions/<subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.MachineLearningServices/workspaces/?api-version=2023-10-01 -H "Authorization:Bearer <access-token>" -
PowerShell:
Get-AzMLWorkspace -Name <workspace-name> -ResourceGroupName <resource-group-name>
Ao usares o isolamento de rede para ajudar a proteger pontos de extremidade online, podes utilizar recursos associados ao espaço de trabalho provenientes de um grupo de recursos diferente do grupo de recursos do teu espaço de trabalho. No entanto, esses recursos devem pertencer à mesma assinatura e locatário do seu espaço de trabalho. Os recursos associados a um espaço de trabalho incluem o Registro de Contêiner do Azure, o Armazenamento do Azure, o Cofre da Chave do Azure e o Application Insights.
Nota
Este artigo descreve o isolamento de rede que se aplica a operações de plano de dados. Essas operações 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 Azure Resource Manager pela rede pública.
Proteger as solicitações de pontuação de entrada
Pode proteger a comunicação de entrada de um cliente para um endpoint online gerido, usando um endpoint privado para o espaço de trabalho do Azure Machine Learning. Este endpoint privado na rede virtual do cliente comunica com o espaço de trabalho associado ao endpoint online gerido e serve como meio pelo qual o endpoint online gerido recebe pedidos de pontuação recebidos 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 endpoint, pode atualizar esta definição para permitir o acesso à rede pública, se desejar.
Defina o sinalizador do ponto de public_network_access extremidade como disabled:
Antes de executares o comando Azure CLI:
- Certifica-te de que tens um
endpoint.ymlficheiro no teu diretório de trabalho atual (seja localmente ou no Azure Cloud Shell). - Se usares o Azure Cloud Shell, carrega
endpoint.ymlou clona um repositório que o contenha no teu diretório pessoal do Cloud Shell. - Se o seu grupo de recursos e espaço de trabalho predefinidos do Azure Machine Learning não estiverem definidos, adicione os parâmetros
--resource-groupe--workspace-name.
az ml online-endpoint create \
--file endpoint.yml \
--set public_network_access=disabled
# Optionally specify the workspace and resource group explicitly
az ml online-endpoint create \
--file endpoint.yml \
--resource-group <resource-group-name> \
--workspace-name <workspace-name> \
--set public_network_access=disabled
Se encontrar um No such file or directory: endpoint.yml erro, confirme que endpoint.yml existe no seu diretório atual e que executa o comando a partir desse diretório.
Quando desativas public_network_access, o ponto final privado do espaço de trabalho recebe pedidos de pontuação de entrada, e as redes públicas não podem aceder ao ponto final.
Se ativar public_network_access, o endpoint pode receber pedidos de pontuação de entrada da internet.
Pontuação de entrada segura com acesso à rede pública a partir de endereços IP específicos
O espaço de trabalho do Azure Machine Learning suporta a habilitação do acesso à rede pública a partir de endereços IP ou intervalos de endereços específicos. Esse recurso tem algumas interações com o sinalizador do ponto de public_network_access extremidade online gerenciado que você deve estar ciente ao usá-lo com pontos de extremidade online gerenciados. Para obter mais informações, consulte Cenário: pontos de extremidade online gerenciados com acesso de endereços IP específicos.
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 endpoints privados para a rede virtual gerida para comunicação com recursos Azure que o workspace utiliza, como Azure Storage, Azure Key Vault e Azure Container Registry.
- 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, pode configurar dois modos de isolamento para o tráfego de saída da rede virtual gerida pelo workspace:
- Permitir a saída da Internet, para permitir todo o tráfego de saída da Internet a partir da rede virtual gerida
- Permitir apenas o tráfego de saída aprovado, para controlar o tráfego de saída usando endpoints privados, regras FQDN de saída e regras de etiquetas de serviço para saída.
Por exemplo, se a rede virtual gerida do seu espaço de trabalho contiver duas implementações sob um ponto final online gerido, ambas as implementações podem usar os pontos finais privados do espaço de trabalho para comunicar com:
- O espaço de trabalho do Azure Machine Learning
- O blob do Azure Storage associado ao workspace
- 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, se a aplicação for privada, como uma aplicação interna dentro da sua organização, quer que o modelo de IA seja usado apenas dentro da sua organização, em vez de o expor à 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.
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 endpoints online geridos, pode garantir a comunicação de saída entre implementações e recursos ao utilizar uma rede virtual gerida pela Azure Machine Learning para cada implementação no endpoint. 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_accessimplantação édisabled. Este sinalizador garante que a transferência do modelo, do código e das imagens necessários para a implementação está protegida com um ponto final privado. Depois de criares a implementação, não podes atualizar (ativar ou desativar) aegress_public_network_accessbandeira. A tentativa de alterar o sinalizador durante a atualização da implementaçã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_accessflag que podes ativar ou desativar. Se planeia usar uma implementação online gerida que utilize saída pública, então deve também configurar o espaço de trabalho para permitir o acesso público. Este requisito existe porque a comunicação de saída da implementação online é feita para a API do workspace. Quando configura a implementação 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 egress_public_network_access para cada implantação em um ponto de extremidade online gerenciado, cada implantação tem sua própria rede virtual gerenciada independente do disabled 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 do Azure Storage associado ao workspace
- 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 implementação utiliza três endpoints privados para comunicar com o workspace, blob e registo do contentor.
Importante
O Azure Machine Learning não suporta o pareamento entre a rede virtual gerida de uma implementaçã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.
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_accesso sinalizador para o ponto de extremidade está definido comoenabled), o espaço de trabalho deve ser capaz de aceitar essa comunicação pública (public_network_accesssinalizador para o espaço de trabalho definido comoenabled). - Quando as implementações online são criadas com
egress_public_network_accessa flag definida paradisabled, têm acesso apenas aos recursos seguros (workspace, blob e registo de contentores). Por exemplo, se a implementação usar ativos do modelo carregados em outras contas de armazenamento, o download dos ativos do modelo falha. Verifique se os ativos do modelo estão na conta de armazenamento associada ao espaço de trabalho. - Quando
egress_public_network_accessestiver definido comodisabled, a implantação só poderá acessar os recursos associados ao espaço de trabalho protegidos na rede virtual. Pelo contrário, quandoegress_public_network_accessestá definido paraenabled, a implementação só pode aceder aos recursos com acesso público, o que significa que não pode aceder aos 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 |
Sim |
| entrada segura com saída pública |
public_network_access está desativado |
egress_public_network_access está habilitadoO 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 |
Sim |
| entrada pública com saída pública |
public_network_access está ativado |
egress_public_network_access está habilitadoO 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 |