Partilhar via


Autenticação e autorização para endpoints online

APLICA-SE A:Azure CLI ml extension v2 (current)Python SDK azure-ai-ml v2 (current)

Este artigo explica os conceitos de identidade e permissão no contexto dos pontos de extremidade online do Azure Machine Learning. O artigo discute IDs do Microsoft Entra que oferecem suporte a permissões e controle de acesso baseado em função. Um ID do Microsoft Entra é chamado de identidade de usuário ou identidade de ponto de extremidade, dependendo de sua finalidade.

  • Uma identidade de usuário é uma ID do Microsoft Entra que pode criar um ponto de extremidade e suas implantações ou interagir com pontos de extremidade ou espaços de trabalho. Uma identidade de usuário emite solicitações para pontos de extremidade, implantações ou espaços de trabalho. A identidade do usuário precisa de permissões adequadas para executar operações do plano de controle e do plano de dados nos pontos de extremidade ou espaços de trabalho.

  • Uma identidade de ponto de extremidade é uma ID do Microsoft Entra que executa o contêiner do usuário em implantações. O contêiner do usuário usa a identidade do ponto de extremidade para a implantação. A identidade do ponto de extremidade também precisa de permissões adequadas para que o contêiner do usuário interaja com os recursos conforme necessário. Por exemplo, a identidade do ponto de extremidade precisa das permissões adequadas para extrair imagens do Registro de Contêiner do Azure ou para interagir com outros serviços do Azure.

A identidade do usuário e a identidade do ponto de extremidade têm requisitos de permissão separados. Para obter mais informações sobre como gerenciar identidades e permissões, consulte Como autenticar clientes para pontos de extremidade online.

Importante

A autenticação do Microsoft Entra ID aad_token é suportada apenas para pontos de extremidade online gerenciados. Para pontos de extremidade online do Kubernetes, você pode usar uma chave ou um Aprendizado aml_tokende Máquina do Azure.

Permissões e escopo da autorização

O RBAC (controle de acesso baseado em função) do Azure permite definir e atribuir funções com um conjunto de ações permitidas e/ou negadas em escopos específicos. Você pode personalizar essas funções e escopos de acordo com suas necessidades de negócios. Os exemplos a seguir servem como um ponto de partida que você pode estender conforme necessário.

Para a identidade do usuário:

  • Para gerenciar operações de plano de controle e plano de dados, você pode usar a função interna de Cientista de Dados do AzureML que inclui a ação Microsoft.MachineLearningServices/workspaces/onlineEndpoints/*/actionsde permissão .
  • Para controlar as operações de um ponto de extremidade específico, use o escopo /subscriptions/<subscriptionId>/resourcegroups/<resourceGroupName>/providers/Microsoft.MachineLearningServices/workspaces/<workspaceName>/onlineEndpoints/<endpointName>.
  • Para controlar as operações de todos os pontos de extremidade em um espaço de trabalho, use o escopo /subscriptions/<subscriptionId>/resourcegroups/<resourceGroupName>/providers/Microsoft.MachineLearningServices/workspaces/<workspaceName>.

Para identidade de ponto de extremidade, para permitir que o contêiner do usuário leia blobs, a função interna Storage Blob Data Reader inclui a ação Microsoft.Storage/storageAccounts/blobServices/containers/blobs/readde dados de permissão .

Para obter mais informações sobre como gerenciar a autorização para espaços de trabalho do Azure Machine Learning, consulte Gerenciar o acesso ao Azure Machine Learning. Para obter mais informações sobre definição de função, escopo e atribuição de função, consulte Azure RBAC. Para entender o escopo das funções atribuídas, consulte Entender o escopo do RBAC do Azure.

Permissões necessárias para a identidade do usuário

Quando inicia sessão no seu inquilino do Azure com a sua conta Microsoft, por exemplo, utilizando az logino , conclui o passo de autenticação de utilizador authn que determina a sua identidade como utilizador. Para criar um ponto de extremidade online em um espaço de trabalho do Azure Machine Learning, sua identidade precisa da permissão adequada, também chamada de autorização ou authz. As identidades de usuário precisam de permissões apropriadas para executar operações do plano de controle e do plano de dados.

Controlar as operações do avião

Controle as operações do plano, controle e altere os pontos finais online. Essas operações incluem operações de criação, leitura, atualização e exclusão (CRUD) em pontos de extremidade online e implantações online. Para pontos de extremidade e implantações online, as solicitações para executar operações de plano de controle vão para o espaço de trabalho do Azure Machine Learning.

Autenticação para operações de avião de controlo

Para operações de plano de controle, use um token do Microsoft Entra para autenticar um cliente no espaço de trabalho. Dependendo do seu caso de uso, você pode escolher entre vários fluxos de trabalho de autenticação para obter esse token. A identidade do usuário também precisa ter a função RBAC do Azure adequada atribuída para acessar recursos.

Autorização para operações de aviões de controlo

Para operações de plano de controle, sua identidade de usuário precisa ter a função RBAC do Azure adequada atribuída para acessar seus recursos. Especificamente, para operações CRUD em pontos de extremidade e implantações online, a identidade do usuário precisa ter funções atribuídas para as seguintes ações:

Operação Função RBAC do Azure necessária Âmbito
Execute operações de criação/atualização em endpoints e implantações online. Proprietário, Colaborador ou qualquer função que permita Microsoft.MachineLearningServices/workspaces/onlineEndpoints/write Área de trabalho
Execute operações de exclusão em pontos de extremidade e implantações online. Proprietário, Colaborador ou qualquer função que permita Microsoft.MachineLearningServices/workspaces/onlineEndpoints/delete Área de trabalho
Execute operações de criação/atualização/exclusão em pontos de extremidade e implantações online por meio do estúdio de Aprendizado de Máquina do Azure. Proprietário, Colaborador ou qualquer função que permita Microsoft.Resources/deployments/write Grupo de recursos que contém o espaço de trabalho
Execute operações de leitura em endpoints e implantações online. Proprietário, Colaborador ou qualquer função que permita Microsoft.MachineLearningServices/workspaces/onlineEndpoints/read Área de trabalho
Obtenha um token do Azure Machine Learning (aml_token) para invocar pontos de extremidade online gerenciados e do Kubernetes no espaço de trabalho. Proprietário, Colaborador ou qualquer função que permita Microsoft.MachineLearningServices/workspaces/onlineEndpoints/token/action Ponto final
Buscar uma chave para invocar pontos de extremidade online (gerenciados e Kubernetes) do espaço de trabalho. Proprietário, Colaborador ou qualquer função que permita Microsoft.MachineLearningServices/workspaces/onlineEndpoints/listKeys/action Ponto final
Regenere chaves para endpoints gerenciados e Kubernetes online. Proprietário, Colaborador ou qualquer função que permita Microsoft.MachineLearningServices/workspaces/onlineEndpoints/regenerateKeys/action Ponto final
Procure um Microsoft Entra aad_token para invocar endpoints online gerenciados. Não requer uma função Não aplicável*

* Você pode buscar seu Microsoft Entra aad_token diretamente da ID do Microsoft Entra depois de entrar, para que a operação não exija permissão do Azure RBAC no espaço de trabalho.

Permissões para a identidade do usuário para impor o acesso a armazenamentos secretos padrão

Se você usar o recurso de injeção de segredos e definir o sinalizador para impor o acesso aos repositórios secretos padrão durante a criação de pontos de extremidade, sua identidade de usuário deverá ter permissão para ler segredos de conexões de espaço de trabalho.

Uma identidade de ponto de extremidade pode ser uma identidade atribuída pelo sistema (SAI) ou uma identidade atribuída pelo usuário (UAI). Quando o ponto de extremidade é criado com um SAI e o sinalizador para impor o acesso aos armazenamentos secretos padrão é definido, uma identidade de usuário deve ter permissões para ler segredos de conexões de espaço de trabalho ao criar um ponto de extremidade e implantações. Essa restrição garante que apenas uma identidade de usuário com permissão para ler segredos possa conceder à identidade do ponto de extremidade a permissão para ler segredos.

Se uma identidade de usuário que não tem permissão para ler segredos de conexões de espaço de trabalho tentar criar um ponto de extremidade ou uma implantação com um SAI, e o sinalizador do ponto de extremidade estiver definido para impor o acesso aos armazenamentos secretos padrão, o ponto de extremidade ou a criação de implantação será rejeitada.

Se o ponto de extremidade for criado com um UAI ou o ponto de extremidade usar um SAI, mas o sinalizador para impor o acesso aos armazenamentos secretos padrão não estiver definido, a identidade do usuário não precisará ser capaz de ler segredos de conexões de espaço de trabalho para criar um ponto de extremidade ou implantação. Nesse caso, a identidade do ponto de extremidade não recebe automaticamente a permissão para ler segredos, mas pode receber manualmente essa permissão atribuindo a função adequada.

Independentemente de a atribuição de função ser automática ou manual, a recuperação e a injeção secretas serão acionadas se você tiver mapeado as variáveis de ambiente com referências secretas na definição de ponto de extremidade ou implantação. O recurso de injeção secreta usa a identidade do ponto de extremidade para fazer a recuperação e a injeção secretas. Para obter mais informações sobre injeção secreta, consulte Injeção secreta em endpoints online.

Operações do plano de dados

As operações do plano de dados não alteram os pontos de extremidade online, mas usam dados que interagem com os pontos de extremidade. Um exemplo de uma operação de plano de dados é enviar uma solicitação de pontuação para um ponto de extremidade online e obter uma resposta dele. Para pontos de extremidade e implantações online, as solicitações para executar operações de plano de dados vão para o URI de pontuação do ponto de extremidade.

Autenticação para operações de plano de dados

Para operações de plano de dados, você pode escolher entre as seguintes maneiras de autenticar um cliente para enviar solicitações para o URI de pontuação de um ponto de extremidade:

  • Chave
  • Azure Machine Learning aml_token
  • Microsoft Entra aad_token

Para obter mais informações sobre como autenticar clientes para operações de plano de dados, consulte Como autenticar clientes para pontos de extremidade online.

Autorização para operações de planos de dados

Para operações de plano de dados, sua identidade de usuário precisa de funções RBAC do Azure adequadas para permitir o acesso aos seus recursos somente se o ponto de extremidade estiver definido para usar o Microsoft Entra aad_token. Para operações de plano de dados em pontos de extremidade e implantações online, a identidade do usuário precisa ter uma função atribuída com as seguintes ações:

Operação Função RBAC do Azure necessária Âmbito
Invoque pontos de extremidade online com key o Azure Machine Learning aml_token. Não requer uma função. Não aplicável
Invoque pontos de extremidade online gerenciados com o Microsoft Entra aad_token. Proprietário, Colaborador ou qualquer função que permita Microsoft.MachineLearningServices/workspaces/onlineEndpoints/score/action Ponto final
Invoque pontos de extremidade online do Kubernetes com o Microsoft Entra aad_token. O ponto de extremidade online do Kubernetes não suporta o token Microsoft Entra para operações de plano de dados. Não aplicável

Permissões necessárias para a identidade do ponto de extremidade

Uma implantação online executa seu contêiner de usuário com a identidade do ponto de extremidade, ou seja, a identidade gerenciada associada ao ponto de extremidade. A identidade do ponto de extremidade é uma ID do Microsoft Entra que dá suporte ao RBAC do Azure. Portanto, você pode atribuir funções do Azure à identidade do ponto de extremidade para controlar as permissões necessárias para executar operações. Essa identidade de ponto de extremidade pode ser um SAI ou um UAI. Você pode decidir se deseja usar um SAI ou um UAI ao criar o ponto de extremidade.

  • Para um SAI, a identidade é criada automaticamente quando você cria o ponto de extremidade, e funções com permissões fundamentais, como a permissão de pull do Registro de contêiner AcrPull e o leitor de dados de Blob de armazenamento, são atribuídas automaticamente.
  • Para um UAI, você precisa criar a identidade primeiro e, em seguida, associá-la ao ponto de extremidade ao criar o ponto de extremidade. Você também é responsável por atribuir funções adequadas à UAI, conforme necessário.

Atribuição automática de função para identidade de ponto de extremidade

Se a identidade do ponto de extremidade for um SAI, as seguintes funções serão atribuídas à identidade do ponto de extremidade por conveniência.

Função Description Condição para atribuição automática de funções
AcrPull Permite que a identidade do ponto de extremidade extraia imagens do registro de contêiner do Azure associado ao espaço de trabalho A identidade do ponto de extremidade é um SAI.
Leitor de Dados do Armazenamento de Blobs Permite que a identidade do ponto de extremidade leia blobs do armazenamento de dados padrão do espaço de trabalho A identidade do ponto de extremidade é um SAI.
AzureML Metrics Writer (visualização) Permite que a identidade do ponto de extremidade escreva métricas no espaço de trabalho A identidade do ponto de extremidade é um SAI.
Azure Machine Learning Espaço de Trabalho Connection Secrets Reader Permite que a identidade do ponto de extremidade leia segredos de conexões de espaço de trabalho A identidade do ponto de extremidade é um SAI e a criação do ponto de extremidade tem um sinalizador para impor o acesso aos armazenamentos secretos padrão. A identidade do usuário que cria o ponto de extremidade também tem permissão para ler segredos de conexões de espaço de trabalho.
  • Se a identidade do ponto de extremidade for um SAI e o sinalizador de imposição não estiver definido ou a identidade do usuário não tiver permissão para ler segredos, não haverá atribuição automática de função para a função Leitor de Segredos de Conexão do Espaço de Trabalho do Azure Machine Learning. Para obter mais informações, consulte Como implantar ponto de extremidade online com injeção secreta.
  • Se a identidade do ponto de extremidade for uma UAI, não haverá atribuição automática de função para a função Leitor de Segredos de Conexão do Espaço de Trabalho do Azure Machine Learning. Nesse caso, você precisa atribuir manualmente funções à identidade do ponto de extremidade, conforme necessário.

Para obter mais informações sobre a função Leitor de Segredos de Conexão do Espaço de Trabalho do Azure Machine Learning, consulte Atribuir permissões à identidade.