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.
  • 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?

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.

Diagrama do fluxo lógico ao acessar dados.

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.