Configure um ponto final privado para um espaço de trabalho Azure Machine Learning

Neste documento, aprende-se a configurar um ponto final privado para o seu espaço de trabalho Azure Machine Learning. Para obter informações sobre a criação de uma rede virtual para Azure Machine Learning, consulte o isolamento da rede virtual e a visão geral da privacidade

O Azure Private Link permite-lhe ligar-se ao seu espaço de trabalho utilizando um ponto final privado. O ponto final privado é um conjunto de endereços IP privados dentro da sua rede virtual. Em seguida, pode limitar o acesso ao seu espaço de trabalho para ocorrer apenas sobre os endereços IP privados. Um ponto final privado ajuda a reduzir o risco de exfiltração de dados. Para saber mais sobre os pontos finais privados, consulte o artigo Azure Private Link.

Aviso

Garantir um espaço de trabalho com pontos finais privados não garante a segurança de ponta a ponta por si só. Deve proteger todos os componentes individuais da sua solução. Por exemplo, se utilizar um ponto final privado para o espaço de trabalho, mas a sua Conta Azure Armazenamento não está por trás do VNet, o tráfego entre o espaço de trabalho e o armazenamento não utiliza o VNet para segurança.

Para obter mais informações sobre a segurança dos recursos utilizados pela Azure Machine Learning, consulte os seguintes artigos:

Pré-requisitos

Importante

Os comandos Azure CLI neste artigo requerem a azure-cli-ml extensão , ou 1.0, para Azure Machine Learning. O 2.0 CLI melhorado (pré-visualização) utilizando a ml extensão está agora disponível e recomendado. As extensões são incompatíveis, pelo que os comandos 2.0 CLI não funcionarão para os passos deste artigo. No entanto, espaços de trabalho de machine learning e todos os recursos subjacentes podem ser interagidos a partir de qualquer um, o que significa que um utilizador pode criar um espaço de trabalho com o 1.0 CLI e outro pode submeter empregos para o mesmo espaço de trabalho com o 2.0 CLI.

Para saber quais as extensões instaladas, az extension list utilize. Se a lista de Extensões contiver, azure-cli-ml tem a extensão correta para os passos deste artigo.

Para obter mais informações sobre a instalação e utilização das diferentes extensões, consulte os seguintes artigos:

Limitações

  • A utilização de um espaço de trabalho Azure Machine Learning com ponto final privado não está disponível nas regiões do Governo de Azure.
  • Se permitir o acesso público a um espaço de trabalho protegido com o ponto final privado privado e utilizar Azure Machine Learning estúdio através da internet pública, algumas funcionalidades, como o designer, podem não conseguir aceder aos seus dados. Este problema acontece quando os dados são armazenados num serviço que é protegido por trás do VNet. Por exemplo, uma Conta Armazenamento Azure.
  • Poderá encontrar problemas ao tentar aceder ao ponto final privado para o seu espaço de trabalho se estiver a utilizar o Mozilla Firefox. Este problema pode estar relacionado com DNS sobre HTTPS na Mozilla. Recomendamos a utilização de Microsoft Edge ou Google Chrome como uma solução alternativa.
  • A utilização de um ponto final privado não afeta o plano de controlo Azure (operações de gestão) como a eliminação do espaço de trabalho ou a gestão de recursos computacional. Por exemplo, criar, atualizar ou eliminar um alvo de computação. Estas operações são realizadas através da Internet pública normalmente. As operações de planos de dados, tais como a utilização de Azure Machine Learning estúdio, APIs (incluindo oleodutos publicados), ou o SDK usam o ponto final privado.

Criar um espaço de trabalho que use um ponto final privado

Utilize um dos seguintes métodos para criar um espaço de trabalho com um ponto final privado. Cada um destes métodos requer uma rede virtual existente:

Dica

Se quiser criar um espaço de trabalho, um ponto final privado e uma rede virtual ao mesmo tempo, consulte use um modelo de Gestor de Recursos Azure para criar um espaço de trabalho para Azure Machine Learning.

O Azure Machine Learning Python SDK fornece a classe PrivateEndpointConfig, que pode ser usada com Workspace.create() para criar um espaço de trabalho com um ponto final privado. Esta classe requer uma rede virtual existente.

from azureml.core import Workspace
from azureml.core import PrivateEndPointConfig

pe = PrivateEndPointConfig(name='myprivateendpoint', vnet_name='myvnet', vnet_subnet_name='default')
ws = Workspace.create(name='myworkspace',
    subscription_id='<my-subscription-id>',
    resource_group='myresourcegroup',
    location='eastus2',
    private_endpoint_config=pe,
    private_endpoint_auto_approval=True,
    show_output=True)

Adicione um ponto final privado a um espaço de trabalho

Utilize um dos seguintes métodos para adicionar um ponto final privado a um espaço de trabalho existente:

Aviso

Se tiver quaisquer metas de computação existentes associadas a este espaço de trabalho, e não estiverem por trás da mesma rede virtual em que o ponto final privado é criado, eles não funcionarão.

from azureml.core import Workspace
from azureml.core import PrivateEndPointConfig

pe = PrivateEndPointConfig(name='myprivateendpoint', vnet_name='myvnet', vnet_subnet_name='default')
ws = Workspace.from_config()
ws.add_private_endpoint(private_endpoint_config=pe, private_endpoint_auto_approval=True, show_output=True)

Para obter mais informações sobre as classes e métodos utilizados neste exemplo, consulte PrivateEndpointConfig e Workspace.add_private_endpoint.

Remover um ponto final privado

Utilize um dos seguintes métodos para remover um ponto final privado de um espaço de trabalho:

Utilize Workspace.delete_private_endpoint_connection para remover um ponto final privado.

from azureml.core import Workspace

ws = Workspace.from_config()
# get the connection name
_, _, connection_name = ws.get_details()['privateEndpointConnections'][0]['id'].rpartition('/')
ws.delete_private_endpoint_connection(private_endpoint_connection_name=connection_name)

Usando um espaço de trabalho sobre um ponto final privado

Uma vez que a comunicação ao espaço de trabalho só é permitida a partir da rede virtual, quaisquer ambientes de desenvolvimento que utilizem o espaço de trabalho devem ser membros da rede virtual. Por exemplo, uma máquina virtual na rede virtual.

Importante

Para evitar perturbações temporárias da conectividade, a Microsoft recomenda a descarga da cache DNS nas máquinas que se ligam ao espaço de trabalho depois de permitir um ponto final privado.

Para obter informações sobre máquinas virtuais Azure, consulte a documentação das Máquinas Virtuais.

Permitir o acesso do público

Em algumas situações, pode querer permitir que alguém se conecte ao seu espaço de trabalho seguro sobre um ponto final público, em vez de através do VNet. Depois de configurar um espaço de trabalho com um ponto final privado, pode opcionalmente permitir o acesso do público ao espaço de trabalho. Ao fazê-lo, não retira o ponto final privado. Todas as comunicações entre os componentes por trás do VNet ainda estão seguras. Permite o acesso do público apenas ao espaço de trabalho, além do acesso privado através do VNet.

Aviso

Ao ligar-se ao ponto final público:

  • Algumas funcionalidades do estúdio não conseguirão aceder aos seus dados. Este problema acontece quando os dados são armazenados num serviço que está protegido por trás do VNet. Por exemplo, uma Conta Armazenamento Azure.
  • A utilização de Jupyter, JupyterLab e RStudio numa instância computacional, incluindo a execução de cadernos, não é suportada.

Para permitir o acesso do público a um espaço de trabalho privado, utilize os seguintes passos:

Utilize Workspace.delete_private_endpoint_connection para remover um ponto final privado.

from azureml.core import Workspace

ws = Workspace.from_config()
ws.update(allow_public_access_when_behind_vnet=True)

Passos seguintes