Partilhar via


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

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

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 suportam controle de acesso baseado em função e permissões. Um ID do Microsoft Entra é designado como identidade de utilizador ou identidade de end-point, dependendo da 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 utilizador necessita de permissões adequadas para executar operações no plano de controlo e 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 gerir 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 gerir as operações do plano de controlo e do plano de dados, utilize o papel incorporado AzureML Data Scientist, que inclui a ação de permissão Microsoft.MachineLearningServices/workspaces/onlineEndpoints/*/actions.
  • 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 a identidade do endpoint, para permitir que o container do utilizador leia blobs, utilize a função incorporada Storage Blob Data Reader que inclui a ação de dados de permissão Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read.

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 locatário do Azure com a sua conta Microsoft, por exemplo, utilizando o az login, conclui o passo de autenticação de utilizador authn que determina a sua identidade como utilizador. Para criar um ponto de extremidade online num espaço de trabalho do Azure Machine Learning, a 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 no plano de controlo, utilize um token Microsoft Entra para autenticar um cliente no espaço de trabalho. Dependendo do seu caso de uso, escolha entre vários fluxos de trabalho de autenticação para obter este 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

Caso utilize o recurso de injeção de segredos e configure a bandeira para impor o acesso aos repositórios secretos padrão aquando da criação de endpoints, a sua identidade de utilizador deve possuir permissão para acessar os 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 crias o endpoint com um SAI e defines a flag para forçar o acesso aos armazenamentos secretos predefinidos, a identidade do utilizador deve ter permissões para ler segredos das ligações do workspace ao criar um endpoint e implementaçõ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 criares o endpoint com um UAI, ou usares um SAI mas não definires a flag para impor o acesso aos repositórios de segredos padrão, a identidade do utilizador não necessita de conseguir ler segredos das ligações do workspace para criar um endpoint ou uma implantação. Neste caso, a identidade do endpoint não recebe automaticamente a permissão para ler segredos, mas pode conceder manualmente essa permissão atribuindo o papel correto.

Independentemente de a atribuição dos papéis ser automática ou manual, a recuperação e injeção dos segredos é ativada se mapear as variáveis de ambiente com referências secretas no endpoint ou na definição de implementaçã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 no plano de dados não alteram os endpoints online, mas usam dados que interagem com os endpoints. Um exemplo de operação de plano de dados é enviar um pedido de pontuação para um endpoint 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 no plano de dados, escolha entre as seguintes formas de autenticar um cliente para enviar pedidos ao URI de pontuação de um endpoint:

  • 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 é necessário papel. 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 implementação online executa o seu contentor de utilizador com a identidade do endpoint, que é a identidade gerida associada ao endpoint. 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. Decides se usas um SAI ou um UAI quando crias o endpoint.

  • Para um SAI, a identidade é criada automaticamente quando se cria o endpoint, e funções com permissões fundamentais, como a permissão de pull do Container Registry AcrPull e o Storage Blob Data Reader, são atribuídas automaticamente.
  • Para um UAI, precisas de criar primeiro a identidade e depois associá-la ao endpoint quando criares o endpoint. 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 endpoint for um SAI, as seguintes funções são atribuídas à identidade do endpoint para conveniência.

Função Descrição 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 endpoint é um SAI.
Leitor de Dados de Blob de Armazenamento Permite que a identidade do ponto de extremidade leia blobs do armazenamento de dados padrão do espaço de trabalho A identidade do endpoint é um SAI.
Escritor de Métricas AzureML (visualização) Permite que a identidade do ponto de extremidade escreva métricas no espaço de trabalho A identidade do endpoint é um SAI.
Azure Machine Learning Espaço de Trabalho Leitor de Segredos de Conexão Permite que a identidade do ponto de extremidade leia segredos de conexões de espaço de trabalho A identidade do endpoint é um SAI e a criação do endpoint tem uma flag para impor o acesso aos armazenamentos secretos predefinidos. 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 endpoint for um SAI, e o sinalizador de aplicação não estiver definido ou a identidade do utilizador não tiver permissão para ler segredos, não há atribuição automática de função para o Leitor de Segredos de Conexão do Azure Machine Learning Workspace. Para obter mais informações, consulte Como implantar um endpoint online com injecção de segredos.
  • Se a identidade do ponto de extremidade for uma UAI, não haverá atribuição automática 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.