Isolamento de rede com registos do Azure Machine Learning
Neste artigo, você aprenderá a proteger o registro do Azure Machine Learning usando a Rede Virtual do Azure e pontos de extremidade privados.
Os pontos de extremidade privados no Azure fornecem isolamento de rede permitindo que os serviços do Azure sejam acessados por meio de um endereço IP privado em uma rede virtual (VNet). A VNet protege conexões entre recursos do Azure e impede a exposição de dados confidenciais à Internet pública.
Usar o isolamento de rede com pontos de extremidade privados impede que o tráfego de rede passe pela Internet pública e traz o serviço de registro do Azure Machine Learning para sua rede virtual. Todo o tráfego de rede acontece no Azure Private Link quando pontos de extremidade privados são usados.
Pré-requisitos
- Um registro do Azure Machine Learning. Para criar um, use as etapas no artigo Como criar e gerenciar registros .
- Familiaridade com os seguintes artigos:
Protegendo o registro do Azure Machine Learning
Nota
Para simplificar, vamos nos referir ao espaço de trabalho, seus recursos associados e a rede virtual da qual eles fazem parte como configuração de espaço de trabalho seguro. Exploraremos como adicionar registros de aprendizado de máquina do Azure como parte da configuração existente.
O diagrama a seguir mostra uma configuração de rede básica e como o registro do Azure Machine Learning se encaixa. Se você já estiver usando o espaço de trabalho do Azure Machine Learning e tiver uma configuração de espaço de trabalho seguro onde todos os recursos fazem parte da rede virtual, poderá criar um ponto de extremidade privado da rede virtual existente para o registro do Azure Machine Learning e seus recursos associados (armazenamento e ACR).
Se você não tiver uma configuração de espaço de trabalho seguro, poderá criá-la usando o artigo Criar um espaço de trabalho seguro no portal do Azure, o modelo Bicep ou o modelo Terraform.
Limitações
Se você estiver usando um registro do Azure Machine Learning com isolamento de rede, poderá exibir ativos de modelo no estúdio do Azure Machine Learning. Você não poderá visualizar outros tipos de ativos. Você não poderá executar nenhuma operação no registro do Azure Machine Learning ou nos ativos sob ele usando o studio. Em vez disso, use a CLI ou SDK do Azure Machine Learning.
Cenário: a configuração do espaço de trabalho é segura e o registro do Azure Machine Learning é público
Esta seção descreve os cenários e a configuração de rede necessária se você tiver uma configuração de espaço de trabalho seguro, mas usando um registro público.
Criar ativos no registro a partir de arquivos locais
A identidade (por exemplo, a identidade de usuário do Microsoft Entra de um Cientista de Dados) usada para criar ativos no Registro deve receber a função de Usuário, proprietário ou colaborador do Registro AzureML no controle de acesso baseado em função do Azure. Para obter mais informações, consulte o artigo Gerenciar acesso ao Azure Machine Learning .
Compartilhar ativos do espaço de trabalho para o registro
Nota
Atualmente, não há suporte para o compartilhamento de um componente do espaço de trabalho do Azure Machine Learning com o registro do Azure Machine Learning.
Devido à proteção contra exfiltração de dados, não é possível compartilhar um ativo do espaço de trabalho seguro para um registro público se a conta de armazenamento que contém o ativo tiver o acesso público desativado. Para habilitar o compartilhamento de ativos do espaço de trabalho para o registro:
- Vá para a seção Rede da conta de armazenamento anexada ao espaço de trabalho (de onde você gostaria de permitir o compartilhamento de ativos para o registro)
- Defina Acesso à rede pública como Ativado a partir de redes virtuais e endereços IP selecionados
- Role para baixo e vá para a seção Instâncias de recurso. Selecione Tipo de recurso como Microsoft.MachineLearningServices/registries e defina Nome da instância como o nome do recurso de registo do Azure Machine Learning onde pretende ativar a partilha a partir da área de trabalho.
- Certifique-se de verificar o resto das configurações de acordo com sua configuração de rede.
Usar ativos do Registro no espaço de trabalho
Exemplos de operações:
- Envie um trabalho que use um ativo do registro.
- Use um componente do registro em um pipeline.
- Use um ambiente do registro em um componente.
O uso de ativos do Registro para um espaço de trabalho seguro requer a configuração do acesso de saída ao Registro.
Implantar um modelo do Registro para o espaço de trabalho
Para implantar um modelo de um registro em um ponto de extremidade online gerenciado seguro, a implantação deve ter egress_public_network_access=disabled
sido definida. O Azure Machine Learning cria os pontos de extremidade privados necessários para o Registro durante a implantação do ponto de extremidade. Para obter mais informações, consulte Criar pontos de extremidade online gerenciados seguros.
Configuração de rede de saída para acessar qualquer registro do Azure Machine Learning
Etiqueta de serviço | Protocolo e portas | Propósito |
---|---|---|
AzureMachineLearning |
TCP: 443, 877, 18881 UDP: 5831 |
Utilizar os serviços do Azure Machine Learning. |
Storage.<region> |
Porta TCP: 443 | Acesse dados armazenados na Conta de Armazenamento do Azure para clusters de computação e instâncias de computação. Esta saída pode ser utilizada para exfiltrar dados. Para obter mais informações, veja Proteção contra exfiltração de dados não autorizada. |
MicrosoftContainerRegistry.<region> |
Porta TCP: 443 | Acesse as imagens do Docker fornecidas pela Microsoft. |
AzureContainerRegistry.<region> |
Porta TCP: 443 | Acesse imagens do Docker para ambientes. |
Cenário: a configuração do espaço de trabalho é segura e o registro do Azure Machine Learning está conectado a redes virtuais usando pontos de extremidade privados
Esta seção descreve os cenários e a configuração de rede necessária se você tiver uma configuração de espaço de trabalho seguro com registros do Azure Machine Learning conectados usando ponto de extremidade privado a uma rede virtual.
O registro do Azure Machine Learning tem instâncias de serviço de armazenamento/ACR associadas. Essas instâncias de serviço também podem ser conectadas à VNet usando pontos de extremidade privados para proteger a configuração. Para obter mais informações, consulte a seção Como criar um ponto de extremidade privado.
Como localizar a Conta de Armazenamento do Azure e o Registro de Contêiner do Azure usados pelo seu Registro
A conta de armazenamento e o ACR usados pelo registro do Azure Machine Learning são criados em um grupo de recursos gerenciados em sua assinatura do Azure. O nome do grupo de recursos gerenciados segue o padrão de azureml-rg-<name-of-your-registry>_<GUID>
. O GUID é uma cadeia de caracteres gerada aleatoriamente. Por exemplo, se o nome do seu registro for "contosoreg", o nome do grupo de recursos gerenciados será azureml-rg-contosoreg_<GUID>
.
No portal do Azure, você pode encontrar esse grupo de recursos pesquisando azureml_rg-<name-of-your-registry>
. Todos os recursos de armazenamento e ACR para o seu registo estão disponíveis neste grupo de recursos.
Criar ativos no registro a partir de arquivos locais
Nota
A criação de um ativo de ambiente não é suportada em um registro privado onde o ACR associado tem acesso público desabilitado. Como solução alternativa, você pode criar um ambiente no espaço de trabalho do Azure Machine Learning e compartilhá-lo com o registro do Azure Machine Learning.
Os clientes precisam estar conectados à VNet à qual o registro está conectado com um ponto de extremidade privado.
Conecte-se com segurança ao seu registro
Para se conectar a um registro protegido por trás de uma rede virtual, use um dos seguintes métodos:
Gateway de VPN do Azure - Conecta redes locais à VNet por meio de uma conexão privada. A conexão é feita através da internet pública. Há dois tipos de gateways VPN que você pode usar:
Ponto a site: cada computador cliente usa um cliente VPN para se conectar à rede virtual.
Site a site: um dispositivo VPN conecta a rede virtual à sua rede local.
ExpressRoute - Conecta redes locais à nuvem por meio de uma conexão privada. A conexão é feita usando um provedor de conectividade.
Azure Bastion - Neste cenário, você cria uma Máquina Virtual do Azure (às vezes chamada de caixa de salto) dentro da VNet. Em seguida, você se conecta à VM usando o Azure Bastion. Bastion permite que você se conecte à VM usando uma sessão RDP ou SSH do seu navegador da Web local. Em seguida, você usa a caixa de salto como seu ambiente de desenvolvimento. Uma vez que está dentro da rede virtual, ele pode acessar diretamente o registro.
Compartilhar ativos do espaço de trabalho para o registro
Nota
Atualmente, não há suporte para o compartilhamento de um componente do espaço de trabalho do Azure Machine Learning com o registro do Azure Machine Learning.
Devido à proteção contra exfiltração de dados, não é possível compartilhar um ativo do espaço de trabalho seguro para um registro privado se a conta de armazenamento que contém o ativo tiver o acesso público desativado. Para habilitar o compartilhamento de ativos do espaço de trabalho para o registro:
- Vá para a seção Rede da conta de armazenamento anexada ao espaço de trabalho (de onde você gostaria de permitir o compartilhamento de ativos para o registro)
- Defina Acesso à rede pública como Ativado a partir de redes virtuais e endereços IP selecionados
- Role para baixo e vá para a seção Instâncias de recurso. Selecione Tipo de recurso como Microsoft.MachineLearningServices/registries e defina Nome da instância como o nome do recurso de registo do Azure Machine Learning onde pretende ativar a partilha a partir da área de trabalho.
- Certifique-se de verificar o resto das configurações de acordo com sua configuração de rede.
Usar ativos do Registro no espaço de trabalho
Exemplos de operações:
- Envie um trabalho que use um ativo do registro.
- Use um componente do registro em um pipeline.
- Use um ambiente do registro em um componente.
Crie um ponto de extremidade privado para o registro, armazenamento e ACR a partir da VNet do espaço de trabalho. Se você estiver tentando se conectar a vários registros, crie um ponto de extremidade privado para cada registro e armazenamento associado e ACRs. Para obter mais informações, consulte a seção Como criar um ponto de extremidade privado.
Implantar um modelo do Registro para o espaço de trabalho
Para implantar um modelo de um registro em um ponto de extremidade online gerenciado seguro, a implantação deve ter egress_public_network_access=disabled
sido definida. O Azure Machine Learning cria os pontos de extremidade privados necessários para o Registro durante a implantação do ponto de extremidade. Para obter mais informações, consulte Criar pontos de extremidade online gerenciados seguros.
Como criar um ponto de extremidade privado
Use as guias para exibir instruções para adicionar um ponto de extremidade privado a um registro existente ou criar um novo registro que tenha um ponto de extremidade privado:
No portal do Azure, procure por Ponto de extremidade Privado e selecione a entrada Pontos de extremidade Privados para ir para o Centro de links Privado.
Na página Visão geral do centro de links privado, selecione + Criar.
Forneça as informações solicitadas. Para o campo Região , selecione a mesma região que a sua Rede Virtual do Azure. Selecione Seguinte.
Na guia Recurso, ao selecionar Tipo de recurso, selecione
Microsoft.MachineLearningServices/registries
. Defina o campo Recurso para o nome do Registro do Azure Machine Learning e selecione Avançar.Na guia Rede virtual, selecione a rede virtual e a sub-rede para seus recursos do Azure Machine Learning. Selecione Seguinte para continuar.
Na guia DNS, deixe os valores padrão, a menos que você tenha requisitos específicos de integração de DNS privado. Selecione Seguinte para continuar.
Na guia Revisão + Criação, selecione Criar para criar o ponto de extremidade privado.
Se pretender definir o acesso à rede pública como desativado, utilize o seguinte comando. Confirme se o armazenamento e o ACR também tem o acesso à rede pública desativado.
az ml registry update --set publicNetworkAccess=Disabled --name <name-of-registry>
Como localizar a Conta de Armazenamento do Azure e o Registro de Contêiner do Azure usados pelo seu Registro
A conta de armazenamento e o ACR usados pelo registro do Azure Machine Learning são criados em um grupo de recursos gerenciados em sua assinatura do Azure. O nome do grupo de recursos gerenciados segue o padrão de azureml-rg-<name-of-your-registry>_<GUID>
. O GUID é uma cadeia de caracteres gerada aleatoriamente. Por exemplo, se o nome do seu registro for "contosoreg", o nome do grupo de recursos gerenciados será azureml-rg-contosoreg_<GUID>
.
No portal do Azure, você pode encontrar esse grupo de recursos pesquisando azureml_rg-<name-of-your-registry>
. Todos os recursos de armazenamento e ACR para o seu registo estão disponíveis neste grupo de recursos.
Como criar um ponto de extremidade privado para a Conta de Armazenamento do Azure
Para criar um ponto de extremidade privado para a conta de armazenamento usada pelo registro, use as seguintes etapas:
- No portal do Azure, procure por Ponto de extremidade Privado e selecione a entrada Pontos de extremidade Privados para ir para o Centro de links Privado.
- Na página Visão geral do centro de links privado, selecione + Criar.
- Forneça as informações solicitadas. Para o campo Região , selecione a mesma região que a sua Rede Virtual do Azure. Selecione Seguinte.
- Na guia Recurso, ao selecionar Tipo de recurso, selecione
Microsoft.Storage/storageAccounts
. Defina o campo Recurso como o nome da conta de armazenamento. Defina o Subrecurso como Blob e selecione Avançar. - Na guia Rede virtual, selecione a rede virtual e a sub-rede para seus recursos do Azure Machine Learning. Selecione Seguinte para continuar.
- Na guia DNS, deixe os valores padrão, a menos que você tenha requisitos específicos de integração de DNS privado. Selecione Seguinte para continuar.
- Na guia Revisão + Criação, selecione Criar para criar o ponto de extremidade privado.
Proteção contra transferência de dados não autorizada
Para um usuário criado pelo Registro do Azure Machine Learning, recomendamos usar um ponto de extremidade privado para o registro, a conta de armazenamento gerenciado e o ACR gerenciado.
Para um registro do sistema, recomendamos a criação de uma Política de Ponto de Extremidade de Serviço para a conta de Armazenamento usando o /services/Azure/MachineLearning
alias. Para obter mais informações, consulte Configurar a prevenção de exfiltração de dados.
Como encontrar o nome de domínio totalmente qualificado do registo
Nota
Certifique-se de que o seu DNS é capaz de resolver o FQDN privado do registo que está neste formato: <registry-guid>.registry.<region>.privatelink.api.azureml.ms
uma vez que não existe um FQDN específico de recurso público que é resolvido recursivamente pelo DNS do Azure.
Os exemplos a seguir mostram como usar a URL de descoberta para obter o nome de domínio totalmente qualificado (FQDN) do seu registro. Ao chamar a URL de descoberta, você deve fornecer um token de acesso do Azure no cabeçalho da solicitação. Os exemplos a seguir mostram como obter um token de acesso e chamar a URL de descoberta:
Gorjeta
O formato para o URL de descoberta é https://<region>.api.azureml.ms/registrymanagement/v1.0/registries/<registry_name>/discovery
, onde <region>
é a região onde o registro está localizado e <registry_name>
é o nome do registro. Para chamar o URL, faça uma solicitação GET:
GET https://<region>.api.azureml.ms/registrymanagement/v1.0/registries/<registry_name>/discovery
$region = "<region>"
$registryName = "<registry_name>"
$accessToken = (az account get-access-token | ConvertFrom-Json).accessToken
(Invoke-RestMethod -Method Get `
-Uri "https://$region.api.azureml.ms/registrymanagement/v1.0/registries/$registryName/discovery" `
-Headers @{ Authorization="Bearer $accessToken" }).registryFqdns
- API REST
Nota
Para obter mais informações sobre como usar APIs REST do Azure, consulte a referência da API REST do Azure.
Obtenha o token de acesso do Azure. Você pode usar o seguinte comando da CLI do Azure para obter um token:
az account get-access-token --query accessToken
Use um cliente REST, como Curl, para fazer uma solicitação GET para a URL de descoberta. Use o token de acesso recuperado na etapa anterior para autorização. No exemplo a seguir, substitua
<region>
pela região onde o registro está localizado e<registry_name>
pelo nome do registro. Substitua<token>
pelo token de acesso recuperado na etapa anterior:curl -X GET "https://<region>.api.azureml.ms/registrymanagement/v1.0/registries/<registry_name>/discovery" -H "Authorization: Bearer <token>" -H "Content-Type: application/json"
Próximo passo
Saiba como compartilhar modelos, componentes e ambientes entre espaços de trabalho com registros.