Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Importante
Este artigo fornece informações sobre como usar o SDK do Azure Machine Learning v1. O SDK v1 foi preterido a partir de 31 de março de 2025. O suporte para ele terminará em 30 de junho de 2026. Você pode instalar e usar o SDK v1 até essa data. Seus fluxos de trabalho existentes usando o SDK v1 continuarão a operar após a data de fim do suporte. No entanto, eles podem ficar expostos a riscos de segurança ou a alterações interruptivas em caso de mudanças na arquitetura do produto.
Recomendamos que você faça a transição para o SDK v2 antes de 30 de junho de 2026. Para obter mais informações sobre o SDK v2, consulte o que é a CLI do Azure Machine Learning e o SDK do Python v2? e a referência do SDK v2.
Neste artigo, você aprenderá a se conectar aos serviços de armazenamento no Azure com acesso a dados baseados em identidade e armazenamentos de dados do Azure Machine Learning por meio do SDK do Azure Machine Learning para Python.
Normalmente, um armazenamento de dados usa autenticação baseada em credencial para verificar se você tem permissão para acessar o serviço de armazenamento. Os armazenamentos de dados mantêm as informações de conexão, como sua ID da assinatura e autorização de token, no key vault associado ao workspace. Quando você cria um armazenamento de dados que usa acesso a dados baseado em identidade, sua conta do Azure (token do Microsoft Entra) confirma que você tem permissão para acessar o serviço de armazenamento. No cenário de acesso a dados baseado em identidade, nenhuma credencial de autenticação é salva. Somente as informações da conta de armazenamento são armazenadas no armazenamento de dados.
Para criar armazenamentos de dados com acesso a dados baseados em identidade por meio da interface do usuário do estúdio do Azure Machine Learning, visite Conectar-se aos dados com o estúdio do Azure Machine Learning.
Para criar repositórios de dados que usam a autenticação baseada em credencial , como chaves de acesso ou entidades de serviço, visite Conectar-se aos serviços de armazenamento no Azure.
Acesso a dados com base em identidade no Azure Machine Learning
Você pode aplicar o acesso a dados com base em identidade no Azure Machine Learning em dois cenários. Esses cenários são ideais para o acesso com base em identidade quando você está usando dados confidenciais e precisa de um gerenciamento de acesso a dados mais granular:
Aviso
Não há suporte para acesso a dados baseados em identidade para experimentos de ML automatizados.
- Acessando serviços de armazenamento
- Treinamento de modelos de machine learning com dados particulares
Acessando serviços de armazenamento
Você pode se conectar a serviços de armazenamento por meio de acesso a dados com base em identidade com armazenamentos de dados do Azure Machine Learning ou conjuntos de dados do Azure Machine Learning.
Suas credenciais de autenticação são mantidas em um armazenamento de dados, que é usado para garantir que você tenha permissão para acessar o serviço de armazenamento. Quando essas credenciais são registradas por meio do armazenamento de dados, qualquer usuário com a função Leitor de espaço de trabalho pode recuperá-las. Essa escala de acesso pode ser um problema de segurança para algumas organizações. Saiba mais sobre a função de Leitor do workspace neste recurso.
Quando você usa o acesso a dados baseado em identidade, o Azure Machine Learning não mantém suas credenciais no armazenamento de dados. Em vez disso, ele solicita o token do Microsoft Entra para autenticação de acesso a dados. Essa abordagem permite o gerenciamento de acesso a dados no nível do armazenamento e mantém a segurança das credenciais.
O mesmo comportamento se aplica quando você:
- Cria um conjunto de dados diretamente das URLs de armazenamento.
- Trabalha com dados interativamente por meio de um Jupyter Notebook em seu computador local ou instância de computação.
Observação
As credenciais armazenadas por meio da autenticação baseada em credencial incluem IDs de assinatura, tokens sas (assinatura de acesso compartilhado) e chave de acesso de armazenamento. Ele também inclui informações sobre a entidade de serviço, como IDs de cliente e IDs de locatário.
Treinamento de modelo em dados particulares
Determinados cenários de aprendizado de máquina envolvem modelos de treinamento com dados particulares. Nesses casos, os cientistas de dados precisam executar fluxos de trabalho de treinamento sem exposição aos dados de entrada confidenciais. Nesse cenário, uma identidade gerenciada da computação de treinamento autentica o acesso a dados. Essa abordagem permite que os administradores de armazenamento concedam acesso de Leitor de Dados de Blob de Armazenamento à identidade gerenciada que a computação de treinamento usa para executar o trabalho de treinamento. Os cientistas de dados individuais não precisam receber acesso. Para obter mais informações, confira Configurar a identidade gerenciada em um cluster de cálculo.
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.
Uma conta de armazenamento do Azure com um tipo de armazenamento com suporte. Há suporte para estes tipos de armazenamento na:
Um Workspace do Azure Machine Learning.
Crie um espaço de trabalho do Azure Machine Learning ou use um existente por meio do SDK do Python.
Criar e registrar armazenamentos de dados
Quando registra um serviço de armazenamento do Azure como um armazenamento de dados, você cria e registra automaticamente esse armazenamento de dados em um espaço de trabalho específico. Visite as permissões de acesso ao Armazenamento para obter diretrizes sobre os tipos de permissão necessários. Você também pode criar manualmente o armazenamento ao qual deseja se conectar sem permissões especiais, e precisa apenas do nome.
Visite Work with virtual networks para obter mais informações sobre como se conectar ao armazenamento de dados em redes virtuais.
Nos exemplos de código a seguir, observe a ausência de parâmetros de autenticação, como sas_token, account_key, subscription_id e o principal do serviço client_id. Essa omissão indica que o Azure Machine Learning usa o acesso a dados com base em identidade para autenticação. A criação de armazenamentos de dados normalmente ocorre interativamente em um notebook ou por meio do estúdio. A autenticação de acesso aos dados usa o seu token do Microsoft Entra.
Observação
Os nomes dos armazenamentos de dados devem conter apenas letras minúsculas, números e sublinhados.
Contêiner de blobs do Azure
Para registrar um contêiner de blob do Azure como um armazenamento de dados, use register_azure_blob_container().
O código a seguir cria o armazenamento de dados credentialless_blob, o registra no espaço de trabalho ws e o atribui à variável blob_datastore. Esse armazenamento de dados acessa o contêiner do BLOB my_container_name na conta de armazenamento my-account-name.
# Create blob datastore without credentials.
blob_datastore = Datastore.register_azure_blob_container(workspace=ws,
datastore_name='credentialless_blob',
container_name='my_container_name',
account_name='my_account_name')
Azure Data Lake Storage Gen1
Use register_azure_data_lake() para registrar um armazenamento de dados que se conecta ao Azure Data Lake Storage Gen1.
O exemplo de código a seguir cria o credentialless_adls1 armazenamento de dados, registra-o no workspace workspace e o atribui à adls_dstore variável. Esse armazenamento de dados acessa a conta do Azure Data Lake Storage adls_storage.
# Create Azure Data Lake Storage Gen1 datastore without credentials.
adls_dstore = Datastore.register_azure_data_lake(workspace = workspace,
datastore_name='credentialless_adls1',
store_name='adls_storage')
Azure Data Lake Storage Gen2
Use register_azure_data_lake_gen2() para registrar um armazenamento de dados que se conecta ao Azure Data Lake Storage Gen2.
O exemplo de código a seguir cria o credentialless_adls2 armazenamento de dados, registra-o no ws workspace e o atribui à adls2_dstore variável. Esse armazenamento de dados acessa sistema de arquivos tabular na conta de armazenamento myadls2.
# Create Azure Data Lake Storage Gen2 datastore without credentials.
adls2_dstore = Datastore.register_azure_data_lake_gen2(workspace=ws,
datastore_name='credentialless_adls2',
filesystem='tabular',
account_name='myadls2')
banco de dados SQL do Azure
Para um banco de dados SQL do Azure, use register_azure_sql_database() para registrar um armazenamento de dados que se conecta a um armazenamento de banco de dados SQL do Azure.
O exemplo de código a seguir cria e registra o credentialless_sqldb datastore no ws workspace e atribui à variável sqldb_dstore. Essa datastore acessa o banco de dados mydb no servidor SQL myserver.
# Create a sqldatabase datastore without credentials
sqldb_dstore = Datastore.register_azure_sql_database(workspace=ws,
datastore_name='credentialless_sqldb',
server_name='myserver',
database_name='mydb')
Permissões de acesso de armazenamento
Para assegurar que você se conecte com segurança ao seu serviço de armazenamento no Azure, o Azure Machine Learning exige que você tenha permissão para acessar o armazenamento de dados correspondente.
Aviso
Não há suporte para acesso entre locatários a contas de armazenamento. Se o seu cenário precisar de acesso entre locatários, entre em contato com o alias da Equipe de Suporte de Dados do Azure Machine Learning em amldatasupport@microsoft.com para obter assistência com uma solução de código personalizada.
O acesso a dados com base em identidade dá suporte a conexões apenas com os seguintes serviços de armazenamento.
- Armazenamento de Blobs do Azure
- Azure Data Lake Storage Gen1
- Azure Data Lake Storage Gen2
- Banco de Dados SQL do Azure
Para acessar esses serviços de armazenamento, você deve ter pelo menos acesso ao Leitor de Dados do Storage Blob da conta de armazenamento. Somente os proprietários da conta de armazenamento podem alterar seu nível de acesso por meio do portal do Azure.
Se você não quiser usar sua identidade de usuário (ID do Microsoft Entra), também poderá conceder permissão a uma identidade de sistema gerenciado do workspace (MSI) para criar o armazenamento de dados. Para isso, você precisa ter permissões de Proprietário para a conta de armazenamento e adicionar o parâmetro grant_workspace_access= True ao método de registro de dados.
Se você treinar um modelo em um destino de computação remoto e quiser acessar os dados para treinamento, a identidade de computação deverá ter pelo menos a função Leitor de Dados de Blob de Armazenamento do serviço de armazenamento. Para obter mais informações, visite o recurso configurar identidade gerenciada em um cluster de computação.
Trabalhar com redes virtuais
Por padrão, o Azure Machine Learning não pode se comunicar com uma conta de armazenamento que está por trás de um firewall ou em uma rede virtual.
Você pode configurar as contas de armazenamento para permitir o acesso somente a partir de redes virtuais específicas. Essa configuração requer etapas adicionais para garantir que os dados não vazem para fora da rede. Esse comportamento é o mesmo para acesso a dados com base em credenciais. Para obter mais informações, visite Como configurar cenários de rede virtual.
Se sua conta de armazenamento tiver configurações de rede virtual, elas determinam qual tipo de identidade e acesso de permissões é necessário. Por exemplo, para visualização de dados e perfil de dados, as configurações de rede virtual determinam que tipo de identidade é usado para autenticar o acesso a dados.
Em cenários em que apenas determinados IPs e sub-redes têm permissão para acessar o armazenamento, o Azure Machine Learning usa a MSI do workspace para realizar visualizações de dados e perfis.
Se o armazenamento for ADLS Gen 2 ou Blob e tiver configurações de rede virtual, os clientes poderão usar a identidade do usuário ou o MSI do espaço de trabalho, dependendo das configurações de armazenamento de dados definidas durante a criação.
Se a configuração de rede virtual for "Permitir que os serviços do Azure na lista de serviços confiáveis acessem essa conta de armazenamento", a MSI do Workspace será usada.
Usar dados no armazenamento
É recomendável o uso dosconjuntos de dados do Azure Machine Learning ao interagir com os seus dados no armazenamento com o Azure Machine Learning.
Importante
Não há suporte para conjuntos de dados usando acesso a dados baseados em identidade para experimentos de ML automatizados.
Os conjuntos de dados empacotam seus dados em um objeto consumível avaliado lentamente para tarefas de aprendizado de máquina, como treinamento. Além disso, com conjuntos de dados, você pode baixar ou montar arquivos de qualquer formato de serviços de armazenamento do Azure, como o Armazenamento de Blobs do Azure e o Azure Data Lake Storage para um destino de computação.
Para criar um conjunto de dados, referencie caminhos dos armazenamentos de dados que também usem o acesso a dados com base em identidade.
- Se o seu tipo de conta de armazenamento subjacente for Blob ou ADLS Gen 2, sua identidade de usuário precisará da função de Leitor de Blobs.
- Se o armazenamento subjacente for o ADLS Gen 1, você poderá definir as permissões por meio da ACL (Lista de Controle de Acesso) do armazenamento.
No exemplo a seguir, blob_datastore já existe e usa acesso a dados baseados em identidade.
blob_dataset = Dataset.Tabular.from_delimited_files(blob_datastore,'test.csv')
Você também pode ignorar a criação de armazenamento de dados e crie conjuntos de dados diretamente das URLs de armazenamento. Essa funcionalidade atualmente dá suporte apenas a blobs do Azure e ao Azure Data Lake Storage Gen1 e Gen2. No caso da criação com base na URL de armazenamento, é necessária somente a identidade do usuário para autenticação.
blob_dset = Dataset.File.from_files('https://myblob.blob.core.windows.net/may/keras-mnist-fashion/')
Quando você envia um trabalho de treinamento que consome um conjunto de dados criado com o acesso a dados com base em identidade, a identidade gerenciada da computação de treinamento é usada para autenticação de acesso a dados. O token do Microsoft Entra não é usado. Para esse cenário, garanta que a identidade gerenciada da computação receba pelo menos a função de Leitor de Dados do Blob de Armazenamento do serviço de armazenamento. Para obter mais informações, visite Configurar identidade gerenciada em clusters de computação.