Administração de dados
Saiba como gerenciar o acesso a dados e como autenticar no Azure Machine Learning
APLICA-SE A:Extensão de ML da CLI do Azure v2 (atual)SDK do Python azure-ai-ml v2 (atual)
Importante
Este artigo destina-se aos administradores do Azure que desejam criar a infraestrutura necessária para uma solução do Azure Machine Learning.
Autenticação de dados baseada em credenciais
Em geral, a autenticação de dados baseada em credenciais por meio do estúdio envolve estas verificações:
- O usuário que está acessando dados do armazenamento de dados baseado em credenciais recebeu uma função RBAC que contém
Microsoft.MachineLearningServices/workspaces/datastores/listsecrets/action
?- Essa permissão é necessária para recuperar as credenciais do armazenamento de dados em nome do usuário.
- A credencial armazenada (entidade de serviço, chave de conta ou token SAS) tem acesso ao recurso de dados?
Autenticação de dados baseada em identidade
Em geral, a autenticação de dados baseada em identidade por meio do estúdio envolve estas verificações:
- Qual usuário deseja acessar os recursos?
- Dependendo do contexto em que os dados estão sendo acessados, há diferentes tipos de autenticação disponíveis, por exemplo
- identidade do usuário
- identidade gerenciada pela computação
- identidade gerenciada pelo workspace
- Trabalhos, incluindo o conjunto de dados "gerar perfil", são executados em um recurso de computação em sua assinatura e acessam os dados a partir daí. A identidade gerenciada pela computação precisa ter permissão no recurso de armazenamento, em vez da identidade do usuário que enviou o trabalho.
- Para autenticação com base em uma identidade de usuário, você deve saber qual usuário específico tentou acessar o recurso de armazenamento. Para obter mais informações sobre a autenticação de um usuário, confira Autenticação no Azure Machine Learning. Para obter mais informações sobre a autenticação no nível do serviço, confira Autenticação entre o Azure Machine Learning e outros serviços.
- Dependendo do contexto em que os dados estão sendo acessados, há diferentes tipos de autenticação disponíveis, por exemplo
- Esse usuário tem permissão para leitura?
- A identidade de usuário ou a identidade gerenciada pela computação etc. tem as permissões necessárias nesse recurso de armazenamento? As permissões são concedidas usando controles de acesso baseado em função do Azure (RBAC do Azure).
- O Leitor da conta de armazenamento lê os metadados de armazenamento.
- O Leitor de Dados do Blob de Armazenamento lê e lista os contêineres e os blobs do armazenamento de blobs.
- Encontre mais funções internas do Azure para armazenamento aqui.
- Esse usuário tem permissão de gravação?
- A identidade de usuário ou a identidade gerenciada pela computação etc. tem as permissões necessárias nesse recurso de armazenamento? As permissões são concedidas usando controles de acesso baseado em função do Azure (RBAC do Azure).
- O Leitor da conta de armazenamento lê os metadados de armazenamento.
- O Colaborador de Dados do Blob de Armazenamento lê, grava e exclui contêineres e blobs do Armazenamento do Microsoft Azure.
- Encontre mais funções internas do Azure para armazenamento aqui.
Outras verificações gerais de autenticação
- De onde vem o acesso?
- Usuário: o endereço IP do cliente está no intervalo de VNet/sub-rede?
- Espaço de trabalho: o espaço de trabalho é público ou tem um ponto de extremidade privado em uma VNet/sub-rede?
- Armazenamento: o armazenamento permite acesso público ou ele restringe o acesso por meio de um ponto de extremidade de serviço ou de um ponto de extremidade privado?
- Qual operação será executada?
- O Azure Machine Learning manipula operações CRUD (criar, ler, atualizar e excluir) em um armazenamento de dados/conjunto de dados.
- As operações de arquivamento em ativos de dados no Studio exigem esta operação RBAC:
Microsoft.MachineLearningServices/workspaces/datasets/registered/delete
- Chamadas de acesso a dados (por exemplo, visualização ou esquema) vão para o armazenamento subjacente e precisam de permissões adicionais.
- Essa operação será executada em seus recursos de computação de assinatura do Azure ou em recursos hospedados em uma assinatura da Microsoft?
- Todas as chamadas para conjunto de dados e serviços de repositório de banco de armazenamento (exceto a opção "gerar perfil") usam recursos hospedados em uma assinatura da Microsoft para executar as operações.
- Trabalhos, incluindo o conjunto de dados "gerar perfil", são executados em um recurso de computação em sua assinatura e acessam os dados a partir daí. A identidade de computação precisa de permissão para o recurso de armazenamento, em vez da identidade do usuário que enviou o trabalho.
Esse diagrama a seguir mostra o fluxo geral de uma chamada de acesso a dados. Aqui, um usuário tenta fazer uma chamada de acesso a dados por meio de um workspace de machine learning, sem usar um recurso de computação.
Cenários e identidades
Esta tabela lista as identidades a serem usadas para cenários específicos:
Cenário | Usar a MSI (Identidade de Serviço Gerenciada) do workspace |
Identidade a ser usada |
---|---|---|
Acesso na interface do usuário | Sim | MSI do workspace |
Acesso na interface do usuário | No | Identidade do usuário |
Acesso no trabalho | Sim/Não | MSI de computação |
Acesso no notebook | Sim/Não | Identidade do usuário |
O acesso a dados é complexo e envolve muitas partes. Por exemplo, o acesso a dados do Estúdio do Azure Machine Learning é diferente em comparação com o uso do SDK para acesso a dados. Ao usar o SDK em seu ambiente de desenvolvimento local, você acessa diretamente os dados na nuvem. Quando você usa o studio, nem sempre acessa diretamente o armazenamento de dados do seu cliente. O estúdio depende do workspace para acessar dados em seu nome.
Dica
Para acessar dados de fora do Azure Machine Learning, por exemplo, com o Gerenciador de Armazenamento do Microsoft Azure, esse acesso provavelmente depende da identidade do usuário. Para obter informações específicas, examine a documentação da ferramenta ou serviço que você está usando. Para obter mais informações sobre como o Azure Machine Learning trabalha com os dados, confira Configurar a autenticação entre o Azure Machine Learning e outros serviços.
Conta de Armazenamento do Azure
Ao usar uma conta de Armazenamento do Microsoft Azure do Estúdio do Azure Machine Learning, você deve adicionar a identidade gerenciada do workspace a estas funções de RBAC do Azure para a conta de armazenamento:
- Leitor de dados de blob
- Se a conta de armazenamento usar um ponto de extremidade privado para se conectar à VNet, você deverá conceder à identidade gerenciada a função Leitor para o ponto de extremidade privado da conta de armazenamento.
Para obter mais informações, confiraUsar o Estúdio do Azure Machine Learning em uma rede virtual do Azure.
As seções a seguir explicam as limitações de uso de uma Conta de Armazenamento do Microsoft Azure, com seu workspace, em uma VNet.
Proteger a comunicação com a conta do Armazenamento do Azure
Para proteger a comunicação entre o Azure Machine Learning e as contas do Armazenamento do Microsoft Azure, configure o armazenamento para Permitir acesso aos serviços confiáveis do Azure.
Firewall do Armazenamento do Azure
Quando uma conta do Armazenamento do Microsoft Azure está localizada atrás de uma rede virtual, o firewall de armazenamento normalmente pode ser usado para permitir que o cliente se conecte diretamente pela internet. No entanto, ao usar o studio, seu cliente não se conecta à conta de armazenamento. O Serviço do Azure Machine Learning que faz a solicitação se conectar à conta de armazenamento. O endereço IP do serviço não está documentado e é alterado com frequência. Habilitar o firewall de armazenamento não permitirá que o estúdio acesse a conta de armazenamento em uma configuração de VNet.
Tipo de ponto de Armazenamento Azure
Quando o workspace usa um ponto de extremidade privado e a conta de armazenamento também está na VNet, há requisitos de validação adicionais ao usar o studio:
- Se a conta de armazenamento usar um ponto de extremidade de serviço, o ponto de extremidade privado do workspace e o ponto de extremidade de serviço de armazenamento deverão estar localizados na mesma sub-rede da VNet.
- Se a conta de armazenamento usar um ponto de extremidade privado, o ponto de extremidade privado do workspace e o ponto de extremidade privado de armazenamento deverão estar localizados na mesma VNet. Nesse caso, eles podem estar em sub-redes diferentes.
Azure Data Lake Storage Gen1
Ao usar o Azure Data Lake Storage Gen1 como um armazenamento de dados, você só pode usar listas de controle de acesso no estilo POSIX. Você pode atribuir o acesso de identidade gerenciada do workspace a recursos assim como qualquer outra entidade de segurança. Para obter mais informações, confira Controle de acesso no Azure Data Lake Storage Gen1.
Azure Data Lake Storage Gen2
Ao usar o Azure Data Lake Storage Gen2 como um armazenamento de dados, você pode usar as ACLs (listas de controle de acesso) no estilo POSIX e RBAC do Azure para controlar o acesso a dados em uma rede virtual.
Para usar o RBAC do Azure, siga as etapas descritas nesta seção de artigo Datastore: Conta de Armazenamento do Microsoft Azure. O Data Lake Storage Gen2 é baseado no Armazenamento do Azure, portanto, as mesmas etapas se aplicam ao usar o RBAC do Azure.
Para usar ACLs, você pode atribuir o acesso à identidade gerenciada pelo workspace, assim como qualquer outra entidade de segurança. Para obter mais informações, confira Listas de controle de acesso em arquivos e diretórios.
Próximas etapas
Para obter mais informações sobre como habilitar o estúdio em uma rede, confiraUsar o Estúdio do Azure Machine Learning em uma Rede Virtual do Azure.