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 credencial envolve estas verificações:
Uma função com controle de acesso baseado em função (RBAC) que contém
Microsoft.MachineLearningServices/workspaces/datastores/listsecrets/action
foi atribuída ao usuário que está acessando dados do armazenamento de dados baseado em credencial?- Essa permissão é necessária para recuperar credenciais do armazenamento de dados para o usuário.
- As funções integradas que contêm essa permissão já incluem Colaborador, Desenvolvedor de IA do Azure ou Cientista de Dados do Azure Machine Learning. Como alternativa, se uma função personalizada for aplicada, você precisará garantir que essa permissão seja adicionada a essa função personalizada.
- Você deve saber qual usuário específico está tentando acessar os dados. Pode ser um usuário real com uma identidade de usuário ou um computador com identidade gerenciada por computação (MSI). Confira a seção Cenários e opções de autenticação para identificar a identidade para a qual você precisa adicionar permissão.
A credencial armazenada (entidade de serviço, chave de conta ou token de assinatura de acesso compartilhado) tem acesso ao recurso de dados?
Autenticação de dados baseada em identidade
Em geral, a autenticação de dados baseada em identidade envolve estas verificações:
- Qual usuário deseja acessar os recursos?
- Dependendo do contexto no momento em que os dados estão sendo acessados, diferentes tipos de autenticação estão disponíveis, como, por exemplo:
- Identidade do usuário
- Identidade gerenciada por computação
- Identidade gerenciada pelo workspace
- Os trabalhos, incluindo a opção do conjunto de dados
Generate Profile
, são executados em um recurso de computação na sua assinatura e acessam os dados a partir desse local. A identidade gerenciada por computação precisa ter permissão para o 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 usuários, confira Autenticação para o 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 no momento em que os dados estão sendo acessados, diferentes tipos de autenticação estão disponíveis, como, por exemplo:
- Esse usuário tem permissão para leitura?
- A identidade de usuário ou a identidade gerenciada por computação têm as permissões necessárias para esse recurso de armazenamento? As permissões são concedidas usando o 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 blobs de armazenamento.
- Para obter mais informações, confira Funções integradas do Azure para armazenamento.
- Esse usuário tem permissão de gravação?
- A identidade de usuário ou a identidade gerenciada por computação têm as permissões necessárias para esse recurso de armazenamento? As permissões são concedidas usando o 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.
- Para obter mais informações, confira Funções integradas do Azure para armazenamento.
Outras verificações gerais de autenticação
- De onde vem o acesso?
- Usuário: o endereço IP do cliente está no intervalo da rede/sub-rede virtual?
- Espaço de trabalho: o espaço de trabalho é público ou tem um ponto de extremidade privado em uma rede/sub-rede virtual?
- Armazenamento: o armazenamento permite acesso público ou restringe o acesso por meio de um ponto de extremidade de serviço ou 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 Estúdio do Azure Machine Learning requerem a seguinte operação de RBAC:
Microsoft.MachineLearningServices/workspaces/datasets/registered/delete
- As 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 nos recursos de computação da sua assinatura do Azure ou em recursos hospedados em uma assinatura da Microsoft?
- Todas as chamadas para serviços de armazenamento de dados e conjunto de dados (exceto a opção
Generate Profile
) usam recursos hospedados em uma assinatura da Microsoft para executar as operações. - Os trabalhos, incluindo a opção do conjunto de dados
Generate Profile
, são executados em um recurso de computação na sua assinatura e acessam os dados a partir desse local. 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.
- Todas as chamadas para serviços de armazenamento de dados e conjunto de dados (exceto a opção
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 opções de autenticação
Essa tabela lista as identidades a serem usadas para cenários específicos.
Configuração | SDK local/máquina virtual do notebook | Trabalho | Visualização do conjunto de dados | Navegação no armazenamento de dados |
---|---|---|---|---|
Credencial + MSI do espaço de trabalho | Credencial | Credencial | MSI do workspace | Credencial (somente chave de conta e token de assinatura de acesso compartilhado) |
Sem Credencial + MSI do Espaço de trabalho | MSI da Computação/Identidade do usuário | MSI da Computação/Identidade do usuário | MSI do workspace | Identidade do usuário |
Credencial + Sem MSI do espaço de trabalho | Credencial | Credencial | Credencial (sem suporte para a Visualização do Conjunto de Dados na rede privada) | Credencial (somente chave de conta e token de assinatura de acesso compartilhado) |
Sem Credencial + Sem MSI do espaço de trabalho | MSI da Computação/Identidade do usuário | MSI da Computação/Identidade do usuário | Identidade do usuário | Identidade do usuário |
Para o SDK V1, a autenticação de dados em um trabalho sempre usa a MSI de computação. Para o SDK V2, a autenticação de dados em um trabalho depende da configuração do trabalho. Pode ser uma MSI do usuário ou uma MSI de computação baseada na sua configuração.
Dica
Para acessar dados de fora do Machine Learning, por exemplo, com o Gerenciador de Armazenamento do 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 Machine Learning trabalha com os dados, confira Configurar a autenticação entre o Azure Machine Learning e outros serviços.
Requisitos específicos da rede virtual
As informações a seguir ajudam você a configurar a autenticação de dados para acessar dados por trás de uma rede virtual de um workspace de Machine Learning.
Adicionar permissões da conta de armazenamento à identidade gerenciada de um workspace de Machine Learning
Ao usar uma conta de armazenamento do estúdio, se quiser ver a Visualização do Conjunto de Dados você precisará habilitar Usar a identidade gerenciada do workspace para visualização de dados e criação de perfil no Estúdio do Azure Machine Learning na configuração do armazenamento de dados. Em seguida, adicione as seguintes funções RBAC do Azure da conta de armazenamento à identidade gerenciada do workspace:
- Leitor de dados de blob
- Se a conta de armazenamento usar um ponto de extremidade privado para se conectar à rede virtual, você precisará 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 do uso de uma conta de armazenamento, com seu workspace, em uma rede virtual.
Proteger a comunicação com uma conta de armazenamento
Para proteger a comunicação entre o Machine Learning e as contas de armazenamento, configure o armazenamento para Conceder acesso aos serviços confiáveis do Azure.
Firewall do Armazenamento do Azure
Quando uma conta de armazenamento estiver localizada atrás de uma rede virtual, o firewall de armazenamento normalmente pode ser usado para permitir que seu cliente se conecte diretamente pela internet. No entanto, quando você usa o estúdio, seu cliente não se conecta à conta de armazenamento. O serviço do Machine Learning que faz a solicitação se conecta à 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 rede virtual.
Tipo de ponto de Armazenamento Azure
Quando o workspace usa um ponto de extremidade privado e a conta de armazenamento também está na rede virtual, surgem requisitos de validação adicionais quando você usa o estúdio:
- 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 precisam estar localizados na mesma sub-rede da rede virtual.
- Se a conta de armazenamento usar um ponto de extremidade privado, o ponto de extremidade privado do workspace e o ponto de extremidade privado do armazenamento precisam estar localizados na mesma rede virtual. 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 à identidade gerenciada do workspace o acesso aos recursos, 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 tanto o RBAC do Azure quanto as listas de controle de acesso (ACLs) no estilo POSIX para controlar o acesso a dados em uma rede virtual.
- Para usar o RBAC do Azure: siga as etapas descritas em Armazenamento de Dados: conta de Armazenamento do Azure. O Data Lake Storage Gen2 é baseado no Armazenamento do Azure, então as mesmas etapas se aplicam quando você usa o RBAC do Azure.
- Para usar ACLs: o acesso pode ser atribuído à identidade gerenciada do workspace, 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.