Isolamento de Rede Virtual gerenciado por workspace
APLICA-SE A:Extensão de ML da CLI do Azure v2 (atual)SDK do Python azure-ai-ml v2 (atual)
O Azure Machine Learning fornece suporte para o isolamento de VNet (rede virtual) gerenciada. O isolamento de VNet gerenciada simplifica e automatiza a configuração do isolamento de rede com uma VNet gerenciada interna no nível do workspace do Azure Machine Learning. A VNet gerenciada protege os recursos gerenciados do Azure Machine Learning, como instâncias de computação, clusters de computação, computação sem servidor e pontos de extremidade online gerenciados.
Proteger seu workspace com uma rede gerenciada fornece isolamento de rede para acesso de saída do workspace e dos cálculos gerenciados. Um Rede Virtual do Azure que você cria e gerencia é usado para fornecer isolamento de rede acesso de entrada ao workspace. Por exemplo, um ponto de extremidade privado para o workspace é criado em sua Rede Virtual do Azure. Todos os clientes que se conectam à rede virtual podem acessar o workspace por meio do ponto de extremidade privado. Ao executar trabalhos em computação gerenciada, a rede gerenciada restringe o que a computação pode acessar.
Arquitetura de Rede Virtual gerenciada
Ao habilitar o isolamento de rede virtual gerenciada, uma VNet gerenciada será criada para o workspace. Os recursos de computação gerenciados que você cria para o espaço de trabalho usam automaticamente essa VNet gerenciada. A VNet gerenciada pode usar pontos de extremidade privados para recursos do Azure que são usados pelo workspace, como Armazenamento do Azure, Azure Key Vault e Registro de Contêiner do Azure.
Existem dois modos de configuração diferentes para o tráfego de saída da VNet gerenciada:
Dica
Independentemente do modo de saída usado, o tráfego para recursos do Azure pode ser configurado para usar um ponto de extremidade privado. Por exemplo, você pode permitir todo o tráfego de saída para a Internet, mas restringir a comunicação com os recursos do Azure adicionando regras de saída para os recursos.
Modo de saída | Descrição | Cenários |
---|---|---|
Permitir a saída da Internet | Permita todo o tráfego de saída da Internet da VNet gerenciada. | Você deseja acesso irrestrito aos recursos de machine learning na Internet, como pacotes Python ou modelos pré-treinados.1 |
Permitir somente a saída aprovada | O tráfego de saída é permitido por meio da especificação de marcas de serviço. | * Você deseja minimizar o risco de exfiltração dos dados, mas precisa preparar todos os artefatos de machine learning necessários em seu ambiente privado. * Você deseja configurar o acesso de saída a uma lista aprovada de serviços, marcas de serviço ou FQDNs. |
Desabilitadas | O tráfego de entrada e saída não é restrito ou você está usando sua própria Rede Virtual do Azure para proteger os recursos. | Você deseja entrada e saída pública do workspace ou está tratando o isolamento de rede com sua própria VNet do Azure. |
1: você pode usar regras de saída com o modo permitir apenas a saída aprovada para obter o mesmo resultado que o uso do modo permitir saída da Internet. As diferenças são:
- Você deve adicionar regras para cada conexão de saída que precisa permitir.
- A adição de regras de saída de FQDN aumenta seus custos, pois esse tipo de regra usa o Firewall do Azure. Para saber mais, confira os Preços
- As regras padrão para permitir apenas a saída aprovada são projetadas para minimizar o risco de exfiltração dos dados. Qualquer regra de saída adicionada pode aumentar o risco.
A VNet gerenciada é pré-configurada com as regras padrão necessárias. Ela também é configurado para conexões de ponto de extremidade privado com seu workspace, o armazenamento padrão do workspace, o registro de contêiner e o cofre de chaves se eles estiverem configurados como privados ou o modo de isolamento do workspace estiver definido como permitir apenas a saída aprovada. Depois de escolher o modo de isolamento, você só precisa levar em consideração outros requisitos de saída que talvez precise adicionar.
O diagrama a seguir mostra uma VNetgerenciada configurada para permitir a saída da Internet:
O diagrama a seguir mostra uma VNetgerenciada configurada para permitir apenas a saída aprovada:
Observação
Nessa configuração, o armazenamento, o cofre de chaves e o registro de contêiner usados pelo workspace são sinalizados como privados. Como eles são sinalizados como privados, um ponto de extremidade privado é usado para se comunicar com eles.
Observação
Uma vez que um workspace de VNet gerenciado é configurado para permitir acesso de saída da internet, ele não pode ser reconfigurado para desabilitado. Da mesma forma, uma vez que um workspace de VNet gerenciado é configurado para permitir apenas saída aprovada, o workspace não pode ser reconfigurado para permitir saída da internet. Tenha isso em mente ao selecionar o modo de isolamento para a VNet gerenciada no workspace.
Azure Machine Learning Studio
Se você quiser usar o notebook integrado ou criar conjuntos de dados na conta de armazenamento padrão do estúdio, seu cliente precisará acessar a conta de armazenamento padrão. Crie um ponto de extremidade privado ou ponto de extremidade de serviço para a conta de armazenamento padrão na Rede Virtual do Azure que os clientes usam.
Parte do Estúdio do Azure Machine Learning é executada localmente no navegador da Web do cliente e se comunica diretamente com o armazenamento padrão para o espaço de trabalho. A criação de um ponto de extremidade privado ou ponto de extremidade de serviço (para a conta de armazenamento padrão) na rede virtual do cliente garante que ele possa se comunicar com a conta de armazenamento.
Para obter mais informações sobre como criar um ponto de extremidade privado ou ponto de extremidade de serviço, consulte os artigos Conectar-se de forma privada a uma conta de armazenamento e Pontos de extremidade de serviço.
Recursos associados protegidos
Se você adicionar os seguintes serviços à rede virtual usando um ponto de extremidade de serviço ou um ponto de extremidade privado (desabilitando o acesso público), permita que serviços confiáveis da Microsoft acessem esses serviços:
Serviço | Informações do ponto de extremidade | Permitir informações confiáveis |
---|---|---|
Azure Key Vault | Ponto de extremidade privado ponto de extremidade de serviço |
Permitir que serviços confiáveis da Microsoft ignorem esse firewall |
Conta de Armazenamento do Azure | Ponto de extremidade privado de serviço |
Conceder acesso de instâncias de recursos do Azure ou Conceder acesso a serviços confiáveis do Azure |
Registro de Contêiner do Azure | Ponto de extremidade privado | Permitir serviços confiáveis |
Pré-requisitos
Antes de seguir as etapas neste artigo, verifique se você tem os seguintes pré-requisitos:
Uma assinatura do Azure. Caso não tenha uma assinatura do Azure, crie uma conta gratuita antes de começar. Experimente a versão gratuita ou paga do Azure Machine Learning.
O provedor de recursos Microsoft.Network deve ser registrado para a sua assinatura do Azure. Esse provedor de recursos é usado pelo workspace ao criar pontos de extremidade privados para a rede virtual gerenciada.
Para obter informações sobre o registro de provedores de recursos, confira Resolver erros de registro de provedor de recursos.
A identidade do Azure que você usa ao implantar uma rede gerenciada requer as seguintes ações de RBAC do Azure (controle de acesso baseado em função do Azure) para criar pontos de extremidade privados:
Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/read
Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/write
A CLI do Azure e a
ml
extensão na CLI do Azure. Para obter mais informações, confira Instalar, configurar e usar a CLI (v2).Dica
A VNet gerenciada do Azure Machine Learning foi introduzida em 23 de maio de 2023. Se você tiver uma versão mais antiga da extensão de aprendizado de máquina, talvez seja necessário atualizá-la para que os exemplos neste artigo funcionem. Para atualizar a extensão, use o seguinte comando da CLI do Azure:
az extension update -n ml
Os exemplos de CLI neste artigo pressupõem que você esteja usando o shell Bash (ou compatível). Por exemplo, de um sistema Linux ou Subsistema do Windows para Linux.
Os exemplos da CLI do Azure neste artigo usam
ws
para representar o nome do workspace erg
para representar o nome do grupo de recursos. Altere esses valores conforme o necessário ao usar os comandos com sua assinatura do Azure.
Observação
Se você estiver usando o workspace UAI, adicione a função Aprovador de Conexão de Rede Enterprise da IA do Azure à sua identidade. Para obter mais informações, consulte Identidade gerenciada atribuída pelo usuário.
Configurar uma rede virtual gerenciada para permitir a saída da Internet
Dica
A criação da VNet gerenciada é adiada até que um recurso de computação seja criado ou até que o provisionamento seja iniciado manualmente. Ao permitir a criação automática, pode levar cerca de 30 minutos para criar o primeiro recurso de computação, pois ele também está provisionando a rede. Para obter mais informações, consulte Provisionar manualmente a rede.
Importante
Se você planeja enviar trabalhos do Spark sem servidor, deve iniciar o provisionamento manualmente. Para obter mais informações, consulte a seção Configurar para trabalhos do Spark sem servidor.
Para configurar uma VNet gerenciada que permita comunicações de saída da Internet, você pode usar o parâmetro --managed-network allow_internet_outbound
ou um arquivo de configuração YAML que contenha as seguintes entradas:
managed_network:
isolation_mode: allow_internet_outbound
Você também pode definir as regras de saída para outros serviços do Azure dos quais o workspace depende. Essas regras definem os pontos de extremidade privados que permitem que um recurso do Azure se comunique com segurança com a VNet gerenciada. A regra a seguir demonstra como adicionar um ponto de extremidade privado a um recurso de Blob do Azure.
managed_network:
isolation_mode: allow_internet_outbound
outbound_rules:
- name: added-perule
destination:
service_resource_id: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT_NAME>
spark_enabled: true
subresource_target: blob
type: private_endpoint
Você pode configurar uma VNet gerenciada usando os comandos az ml workspace create
ou az ml workspace update
:
Criar um novo workspace:
O exemplo a seguir cria um novo workspace. O parâmetro
--managed-network allow_internet_outbound
configura uma VNet gerenciada para o workspace:az ml workspace create --name ws --resource-group rg --managed-network allow_internet_outbound
Para criar um workspace usando um arquivo YAML, use o parâmetro
--file
e especifique o arquivo YAML que contém as definições de configuração:az ml workspace create --file workspace.yaml --resource-group rg --name ws
O exemplo de YAML a seguir define um workspace com uma VNet gerenciada:
name: myworkspace location: EastUS managed_network: isolation_mode: allow_internet_outbound
Habilitar um workspace existente:
Aviso
Antes de atualizar um workspace existente para usar uma rede virtual gerenciada, você deve excluir todos os recursos de computação do workspace. Isso inclui a instância de computação, o cluster de computação e pontos de extremidade online gerenciados.
O exemplo a seguir atualiza um workspace existente. O parâmetro
--managed-network allow_internet_outbound
configura uma VNet gerenciada para o workspace:az ml workspace update --name ws --resource-group rg --managed-network allow_internet_outbound
Para atualizar um workspace existente usando o arquivo YAML, use o parâmetro
--file
e especifique o arquivo YAML que contém as definições de configuração:az ml workspace update --file workspace.yaml --name ws --resource-group MyGroup
O exemplo de YAML a seguir define uma VNet gerenciada para o workspace. Ele também demonstra como adicionar uma conexão de ponto de extremidade privado a um recurso usado pelo workspace; neste exemplo, é um ponto de extremidade privado para um repositório de blobs:
name: myworkspace managed_network: isolation_mode: allow_internet_outbound outbound_rules: - name: added-perule destination: service_resource_id: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT_NAME> spark_enabled: true subresource_target: blob type: private_endpoint
Configurar uma rede virtual gerenciada para permitir apenas saídas aprovadas
Dica
A VNet gerenciada é provisionada automaticamente quando você cria um recurso de computação. Ao permitir a criação automática, pode levar cerca de 30 minutos para criar o primeiro recurso de computação, pois ele também está provisionando a rede. Se você configurou regras de saída de FQDN, a primeira regra de FQDN adicionará cerca de 10 minutos ao tempo de provisionamento. Para obter mais informações, consulte Provisionar manualmente a rede.
Importante
Se você planeja enviar trabalhos do Spark sem servidor, deve iniciar o provisionamento manualmente. Para obter mais informações, consulte a seção Configurar para trabalhos do Spark sem servidor.
Para configurar uma VNet gerenciada que permita apenas comunicações de saída aprovadas, você pode usar o parâmetro --managed-network allow_only_approved_outbound
ou um arquivo de configuração YAML que contenha as seguintes entradas:
managed_network:
isolation_mode: allow_only_approved_outbound
Você também pode definir as regras de saída para definir a comunicação de saída aprovada. Uma regra de saída pode ser criada para um tipo de service_tag
, fqdn
e private_endpoint
. A regra a seguir demonstra como adicionar um ponto de extremidade privado a um recurso de Blob do Azure, uma marca de serviço para o Azure Data Factory e um FQDN a pypi.org
:
Importante
- A adição de uma saída para uma marca de serviço ou FQDN só é válida quando a VNet gerenciada estiver configurada para
allow_only_approved_outbound
. - Se você adicionar regras de saída, a Microsoft não poderá garantir a exfiltração de dados.
Aviso
As regras de saída de FQDN são implementadas usando o Firewall do Azure. Caso use as regras de saída de FQDN, os encargos de Firewall do Azure serão adicionados à sua cobrança. Para saber mais, consulte Preços.
managed_network:
isolation_mode: allow_only_approved_outbound
outbound_rules:
- name: added-servicetagrule
destination:
port_ranges: 80, 8080
protocol: TCP
service_tag: DataFactory
type: service_tag
- name: add-fqdnrule
destination: 'pypi.org'
type: fqdn
- name: added-perule
destination:
service_resource_id: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT_NAME>
spark_enabled: true
subresource_target: blob
type: private_endpoint
Você pode configurar uma VNet gerenciada usando os comandos az ml workspace create
ou az ml workspace update
:
Criar um novo workspace:
O exemplo a seguir usa o parâmetro
--managed-network allow_only_approved_outbound
para configurar a VNet gerenciada:az ml workspace create --name ws --resource-group rg --managed-network allow_only_approved_outbound
O arquivo YAML a seguir define um workspace com uma VNet gerenciada:
name: myworkspace location: EastUS managed_network: isolation_mode: allow_only_approved_outbound
Para criar um workspace usando o arquivo YAML, use o parâmetro
--file
:az ml workspace create --file workspace.yaml --resource-group rg --name ws
Atualizar um workspace existente
Aviso
Antes de atualizar um workspace existente para usar uma rede virtual gerenciada, você deve excluir todos os recursos de computação do workspace. Isso inclui a instância de computação, o cluster de computação e pontos de extremidade online gerenciados.
O exemplo a seguir usa o parâmetro
--managed-network allow_only_approved_outbound
para configurar a VNet gerenciada para um workspace existente:az ml workspace update --name ws --resource-group rg --managed-network allow_only_approved_outbound
O arquivo YAML a seguir define uma VNet gerenciada para o workspace. Ele também demonstra como adicionar uma saída aprovada à VNet gerenciada. Neste exemplo, uma regra de saída é adicionada para ambas as marcas de serviço:
Aviso
As regras de saída de FQDN são implementadas usando o Firewall do Azure. Caso use as regras de saída de FQDN, os encargos para o Firewall do Azure serão adicionados à sua cobrança. Para obter mais informações, consulte Preço.
name: myworkspace_dep managed_network: isolation_mode: allow_only_approved_outbound outbound_rules: - name: added-servicetagrule destination: port_ranges: 80, 8080 protocol: TCP service_tag: DataFactory type: service_tag - name: add-fqdnrule destination: 'pypi.org' type: fqdn - name: added-perule destination: service_resource_id: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT_NAME> spark_enabled: true subresource_target: blob type: private_endpoint
Configurar para trabalhos do Spark sem servidor
Dica
As etapas nesta seção só serão necessárias se você planeja enviar trabalhos do Spark sem servidor. Se você não estiver enviando trabalhos do Spark sem servidor, ignore esta seção.
Para habilitar os trabalhos do Spark sem servidor para a VNet gerenciada, você deve realizar as seguintes ações:
- Configure uma VNet gerenciada para o workspace e adicione um ponto de extremidade privado de saída para a Conta de Armazenamento do Azure.
- Depois de configurar a VNet gerenciada, provisione-a e sinalize-a para permitir trabalhos do Spark.
Configure um ponto de extremidade privado de saída.
Use um arquivo YAML para definir a configuração da VNet gerenciada e adicionar um ponto de extremidade privado para a Conta de Armazenamento do Azure. Além disso, defina
spark_enabled: true
:Dica
Este exemplo é para uma VNet gerenciada configurada que usa
isolation_mode: allow_internet_outbound
para permitir o tráfego da Internet. Se você quiser permitir apenas o tráfego de saída aprovado, useisolation_mode: allow_only_approved_outbound
.name: myworkspace managed_network: isolation_mode: allow_internet_outbound outbound_rules: - name: added-perule destination: service_resource_id: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT_NAME> spark_enabled: true subresource_target: blob type: private_endpoint
Você pode usar um arquivo de configuração YAML com o comando
az ml workspace update
especificando o parâmetro--file
e o nome do arquivo YAML. Por exemplo, o comando a seguir atualiza um workspace existente usando um arquivo YAML chamadoworkspace_pe.yml
:az ml workspace update --file workspace_pe.yml --resource_group rg --name ws
Observação
Quando Permitir somente a saída aprovada estiver habilitada (
isolation_mode: allow_only_approved_outbound
), as dependências do pacote do Conda definidas na configuração de sessão do Spark não serão instaladas. Para resolver esse problema, carregue um pacote wheel do Python sem dependências externas em uma conta de armazenamento do Azure e crie um ponto de extremidade privado para essa conta de armazenamento. Use o caminho para o pacote wheel do Python como parâmetropy_files
em seu trabalho do Spark. Definir uma regra de saída do FQDN não irá ignorar esse problema, já que o Spark não é compatível com a propagação de regras de FQDN.Provisione a VNet gerenciada.
Observação
Se o workspace já estiver configurado para um ponto de extremidade público (por exemplo, com uma Rede Virtual do Azure) e estiver com o acesso à rede pública habilitado, você deverá desabilitá-lo antes de provisionar a VNet gerenciada. Se você não desabilitar o acesso à rede pública ao provisionar a VNet gerenciada, pode ser que os pontos de extremidade privados para o ponto de extremidade gerenciado não sejam criados com êxito.
O exemplo a seguir mostra como provisionar uma VNet gerenciada para trabalhos do Spark sem servidor usando o parâmetro
--include-spark
.az ml workspace provision-network -g my_resource_group -n my_workspace_name --include-spark
Provisionar manualmente uma VNet gerenciada
A VNet gerenciada é provisionada automaticamente ao criar uma instância de computação. Quando você depende do provisionamento automático, pode levar cerca de 30 minutos para criar a primeira instância de computação, pois ele também está provisionando a rede. Se você configurou regras de saída de FQDN (disponível somente com o modo permitir somente aprovado), a primeira regra do FQDN adicionará cerca de 10 minutos ao tempo de provisionamento. Se você tiver um conjunto grande de regras de saída a ser provisionado na rede gerenciada, poderá levar mais tempo para que o provisionamento seja concluído. O aumento do tempo de provisionamento pode fazer com que a criação da primeira instância de computação atinja o tempo limite.
Para reduzir o tempo de espera e evitar possíveis erros de tempo limite, recomendamos provisionar a rede gerenciada manualmente. Em seguida, aguarde até que o provisionamento seja concluído antes de criar uma instância de computação.
Observação
Para criar uma implantação online, você deve provisionar manualmente a rede gerenciada ou criar primeiro uma instância de computação que a provisionará automaticamente.
O exemplo a seguir mostra como provisionar uma VNet gerenciada.
Dica
Se você planeja enviar trabalhos spark sem servidor, adicione o parâmetro --include-spark
.
az ml workspace provision-network -g my_resource_group -n my_workspace_name
Para verificar se o provisionamento foi concluído, use o seguinte comando:
az ml workspace show -n my_workspace_name -g my_resource_group --query managed_network
Configurar builds de imagem
Quando o Registro de Contêiner do Azure para seu workspace está em uma rede virtual, ele não pode ser usado para criar diretamente imagens do Docker. Nesse caso, configure seu workspace para usar um cluster de computação ou uma instância de computação para criar imagens.
Importante
O recurso de computação usado para criar imagens do Docker precisa conseguir acessar os repositórios de pacote que são usados para treinar e implantar seus modelos. Se você estiver usando uma rede configurada para permitir apenas a saída aprovada, talvez seja necessário adicionar regras que permitam o acesso a repositórios públicos ou usar pacotes privados do Python.
Para atualizar um workspace para usar um cluster de computação ou uma instância de computação para criar imagens do Docker, use o comando az ml workspace update
com o parâmetro --image-build-compute
:
az ml workspace update --name ws --resource-group rg --image-build-compute mycompute
Gerenciar regras de saída
Para listar as regras de saída da VNet gerenciada para um workspace, use o seguinte comando:
az ml workspace outbound-rule list --workspace-name ws --resource-group rg
Para exibir os detalhes de uma regra de saída da VNet gerenciada, use o seguinte comando:
az ml workspace outbound-rule show --rule rule-name --workspace-name ws --resource-group rg
Para remover uma regra de saída da VNet gerenciada, use o seguinte comando:
az ml workspace outbound-rule remove --rule rule-name --workspace-name ws --resource-group rg
Lista de regras necessárias
Dica
Essas regras são adicionadas automaticamente à VNet gerenciada.
Pontos de extremidade privados:
- Quando o modo de isolamento para a VNet gerenciada for
Allow internet outbound
, as regras de saída do ponto de extremidade privado serão criadas automaticamente como regras necessárias da VNet gerenciada para o workspace e recursos associados com o acesso à rede pública desabilitado (Key Vault, conta de armazenamento, Registro de Contêiner, workspace do Azure Machine Learning). - Quando o modo de isolamento da VNet gerenciada for
Allow only approved outbound
, as regras de saída do ponto de extremidade privado serão criadas automaticamente como regras necessárias da VNet gerenciada para o workspace e os recursos associados, independentemente do modo de acesso à rede pública para esses recursos (Key Vault, conta de armazenamento, Registro de Contêiner, workspace do Azure Machine Learning).
Regras de marca de serviço de saída:
AzureActiveDirectory
AzureMachineLearning
BatchNodeManagement.region
AzureResourceManager
AzureFrontDoor.FirstParty
MicrosoftContainerRegistry
AzureMonitor
Regras de marca de serviço de entrada:
AzureMachineLearning
Lista de regras de saída específicas do cenário
Cenário: Acessar pacotes públicos de aprendizado de máquina
Para permitir a instalação de pacotes do Python para treinamento e implantação, adicione regras de FQDN de saída para permitir o tráfego aos seguintes nomes de host:
Aviso
As regras de saída de FQDN são implementadas usando o Firewall do Azure. Caso use as regras de saída de FQDN, os encargos de Firewall do Azure serão adicionados à sua cobrança. Para saber mais, consulte Preços.
Observação
Esta não é uma lista completa dos hosts necessários para todos os recursos do Python na Internet. Ela inclui somente os mais usados. Por exemplo, caso você precise de acesso a um repositório GitHub ou outro host, identifique e adicione os hosts necessários para esse cenário.
Nome do host | Finalidade |
---|---|
anaconda.com *.anaconda.com |
Usado para instalar pacotes padrão. |
*.anaconda.org |
Usado para obter dados do repositório. |
pypi.org |
Usado para listar dependências com base no índice padrão, se houver, quando o índice não foi substituído pelas configurações do usuário. Se o índice tiver sido substituído, você deverá permitir também *.pythonhosted.org . |
pytorch.org *.pytorch.org |
Usado por alguns exemplos com base em PyTorch. |
*.tensorflow.org |
Usado por alguns exemplos com base em Tensorflow. |
Cenário: Usar o Visual Studio Code para desktop ou web com a instância de computação
Se você planeja usar o Visual Studio Code com o Azure Machine Learning, adicione regras de FQDN de saída para permitir o tráfego aos seguintes hosts:
Aviso
As regras de saída de FQDN são implementadas usando o Firewall do Azure. Caso use as regras de saída de FQDN, os encargos de Firewall do Azure serão adicionados à sua cobrança. Para saber mais, consulte Preços.
*.vscode.dev
vscode.blob.core.windows.net
*.gallerycdn.vsassets.io
raw.githubusercontent.com
*.vscode-unpkg.net
*.vscode-cdn.net
*.vscodeexperiments.azureedge.net
default.exp-tas.com
code.visualstudio.com
update.code.visualstudio.com
*.vo.msecnd.net
marketplace.visualstudio.com
vscode.download.prss.microsoft.com
Cenário: usar pontos de extremidade do lote ou ParallelRunStep
Se você planeja usar pontos de extremidade em lote do Azure Machine Learning para implantação ou ParallelRunStep, adicione regras de ponto de extremidade privado de saída para permitir o tráfego para os seguintes sub-recursos para a conta de armazenamento padrão:
queue
table
Cenário: usar o prompt flow com o OpenAI do Azure, a segurança de conteúdo e a Pesquisa de IA do Azure
- Ponto de extremidade privado para os Serviços de IA do Azure
- Ponto de extremidade privado para o Azure AI Search
Cenário: usar modelos do HuggingFace
Se você planeja usar os modelos do HuggingFace com o Azure Machine Learning, adicione regras de FQDN de saída para permitir o tráfego aos seguintes hosts:
Aviso
As regras de saída de FQDN são implementadas usando o Firewall do Azure. Caso use as regras de saída de FQDN, os encargos de Firewall do Azure serão adicionados à sua cobrança. Para saber mais, consulte Preços.
docker.io
*.docker.io
*.docker.com
production.cloudflare.docker.com
cdn.auth0.com
cdn-lfs.huggingface.co
Cenário: habilitar o acesso de endereços IP selecionados
Se quiser habilitar o acesso a partir de endereços IP específicos, execute as seguintes ações:
Adicione uma regra de saída de ponto de extremidade privado para permitir tráfego para o workspace do Azure Machine Learning. Isso permite que instâncias de computação criadas na rede virtual gerenciada acessem o workspace.
Dica
Você não pode adicionar essa regra durante a criação do workspace, já que o workspace ainda não existe.
Habilite o acesso da rede pública ao workspace. Para obter mais informações, confira acesso à rede pública habilitado.
Adicione seus endereços IP ao firewall do Azure Machine Learning. Para obter mais informações, confira habilitar o acesso somente a partir de intervalos de IP.
Observação
Há suporte somente para endereços IPv4.
Pontos de extremidade privados
Atualmente, há suporte para pontos de extremidade privados para os seguintes serviços do Azure:
- Azure Machine Learning
- Registros do Azure Machine Learning
- Armazenamento do Microsoft Azure (todos os tipos de sub-recursos)
- Registro de Contêiner do Azure
- Cofre de Chave do Azure
- Serviços de IA do Azure
- Azure AI Search (anteriormente Cognitive Search)
- Azure SQL Server
- Azure Data Factory
- Azure Cosmos DB (todos os sub-tipos de recursos)
- Hubs de eventos do Azure
- Cache Redis do Azure
- Azure Databricks
- Banco de Dados do Azure para MariaDB
- Servidor Único do Banco de Dados do Azure para PostgreSQL
- Banco de Dados do Azure para PostgreSQL Servidor Flexível
- Banco de Dados do Azure para MySQL
- Gerenciamento de API do Azure
Ao criar um ponto de extremidade privado, você fornece o tipo de recurso e o sub-recurso ao qual o ponto de extremidade se conecta. Alguns recursos têm vários tipos e sub-recursos. Para obter mais informações, confira o que é um ponto de extremidade privado.
Quando você cria um ponto de extremidade privado para recursos de dependência do Azure Machine Learning, como Armazenamento do Microsoft Azure, Registro de Contêiner do Azure e Azure Key Vault, o recurso pode estar em uma assinatura diferente do Azure. No entanto, o recurso deve estar no mesmo locatário que o workspace do Azure Machine Learning.
Importante
Ao configurar pontos de extremidade privados para uma VNet gerenciada do Azure Machine Learning, os pontos de extremidade privados só são criados quando a primeira computação é criada ou quando o provisionamento de VNet gerenciada é forçado. Para obter mais informações sobre como forçar o provisionamento da VNet gerenciada, veja Configurar para trabalhos do Spark sem servidor.
Preços
O recurso VNet gerenciada do Azure Machine Learning é gratuito. No entanto, você é cobrado pelos seguintes recursos que são usados pela VNet gerenciada:
Link Privado do Azure – os pontos de extremidade privados usados para proteger as comunicações entre a VNet gerenciada e os recursos do Azure dependem do Link Privado do Azure. Para obter mais informações sobre preços, confira preços do Link Privado do Azure.
Regras de saída do FQDN – as regras de saída do FQDN são implementadas usando o Firewall do Azure. Caso use as regras de saída de FQDN, os encargos de Firewall do Azure serão adicionados à sua cobrança. O Firewall do Azure (SKU padrão) é provisionado pelo Azure Machine Learning.
Importante
O firewall não é criado até que você adicione uma regra de FQDN de saída. Para obter mais informações sobre preços, consulte Preços do Firewall do Azure e veja os preços da versão Standard.
Limitações
- A IA do Azure Studio não dá suporte ao uso de sua própria Rede Virtual do Azure para proteger o hub, o projeto ou os recursos de computação. Você só pode usar o recurso de rede gerenciada para proteger esses recursos.
- Depois de habilitar o isolamento VNet gerenciada do seu espaço de trabalho (permitir a saída da Internet ou permitir apenas a saída aprovada), não poderá desabilitá-lo.
- A VNet gerenciada usa a conexão de ponto de extremidade privado para acessar seus recursos privados. Você não pode ter um ponto de extremidade privado e um ponto de extremidade de serviço ao mesmo tempo para seus recursos do Azure, como uma conta de armazenamento. Recomendamos o uso de pontos de extremidade em todos os cenários.
- A VNet gerenciada é excluída quando o espaço de trabalho é excluído.
- A proteção contra exfiltração de dados é habilitada automaticamente para o único modo de saída aprovado. Se você adicionar outras regras de saída, como a FQDNs, a Microsoft não poderá garantir que você esteja protegido contra exfiltração de dados para esses destinos de saída.
- Não há suporte para a criação de um cluster de computação em uma região diferente do workspace ao usar uma VNet gerenciada.
- Não há suporte para Kubernetes e VMs anexadas em uma VNet gerenciada do Azure Machine Learning.
- O uso de regras de saída de FQDN aumenta o custo da VNet gerenciada porque as regras do FQDN usam o Firewall do Azure. Para saber mais, consulte Preços.
- As regras de saída do FQDN só dão suporte às portas 80 e 443.
- Se a instância de computação estiver em uma rede gerenciada e não estiver configurada para um IP público, use o comando
az ml compute connect-ssh
para se conectar a ela usando SSH. - Ao usar a Vnet gerenciada, não é possível implantar recursos de computação em sua Vnet personalizada. Os recursos de computação só podem ser criados na Vnet gerenciada.
- O isolamento de rede gerenciada não pode estabelecer uma ligação privada da rede virtual gerida aos recursos locais de um utilizador. Para obter a lista de conexões privadas suportadas, veja Pontos de extremidade privados.
- Se sua rede gerenciada estiver configurada para permitir apenas a saídaaprovada, você não poderá usar uma regra FQDN para acessar contas de armazenamento do Azure. Em vez disso, você deve usar um ponto de extremidade privado.
Migração de recursos de computação
Se você já tiver um workspace e quiser habilitar a VNet gerenciada nele, atualmente não há nenhum caminho de migração com suporte para os recursos de computação gerenciados existentes. Você precisará excluir todos os recursos de computação gerenciados existentes e recriá-los depois de habilitar a VNet gerenciada. A lista a seguir contém os recursos de computação que devem ser excluídos e recriados:
- Cluster de computação
- Instância de computação
- Pontos de extremidade online gerenciados