Partager via


Authentification et autorisation pour les terminaux en ligne

S’APPLIQUE À :Extension ml Azure CLI v2 (actuelle)Kit de développement logiciel (SDK) Python azure -ai-ml v2 (actuel)

Cet article explique les concepts d’identité et d’autorisation dans le contexte des points de terminaison en ligne Azure Machine Learning. L’article décrit les ID Microsoft Entra qui prennent en charge le contrôle d’accès en fonction du rôle et les autorisations. Un ID Microsoft Entra est appelé une identité d’utilisateur ou une identité de point de terminaison, en fonction de son objectif.

  • Une identité d’utilisateur est un ID Microsoft Entra qui peut créer un point de terminaison et ses déploiements, ou interagir avec des points de terminaison ou des espaces de travail. Une identité d’utilisateur émet des demandes aux points de terminaison, aux déploiements ou aux espaces de travail. L’identité de l’utilisateur a besoin d’autorisations appropriées pour effectuer des opérations de plan de contrôle et de plan de données sur les points de terminaison ou les espaces de travail.

  • Une identité de point de terminaison est une instance Microsoft Entra ID qui exécute le conteneur utilisateur dans les déploiements. Le conteneur utilisateur utilise l’identité du point de terminaison pour le déploiement. L’identité du point de terminaison nécessite également des autorisations appropriées pour que le conteneur utilisateur puisse interagir avec les ressources selon les besoins. Par exemple, l’identité du point de terminaison a besoin des autorisations appropriées pour extraire des images d’Azure Container Registry ou pour interagir avec d’autres services Azure.

L’identité de l’utilisateur et l’identité du point de terminaison ont des exigences d’autorisation distinctes. Pour plus d’informations sur la gestion des identités et des autorisations, consultez Comment authentifier les clients pour les points de terminaison en ligne.

Important

L’authentification Microsoft Entra ID aad_token est prise en charge uniquement pour les points de terminaison en ligne gérés. Pour les points de terminaison en ligne Kubernetes, vous pouvez utiliser une clé ou un Azure Machine Learning aml_token.

Autorisations et portée de l'autorisation

Le contrôle d’accès en fonction du rôle Azure (RBAC) vous permet de définir et d’attribuer des rôles avec un ensemble d’actions autorisées et/ou refusées sur des étendues spécifiques. Vous pouvez personnaliser ces rôles et étendues en fonction de vos besoins métier. Les exemples suivants servent de point de départ que vous pouvez étendre si nécessaire.

Pour l’identité de l’utilisateur :

  • Pour gérer les opérations de plan de contrôle et de plan de données, utilisez le rôle intégré AzureML Data Scientist qui inclut l’action d’autorisation Microsoft.MachineLearningServices/workspaces/onlineEndpoints/*/actions.
  • Pour contrôler les opérations d'un point de terminaison spécifique, utilisez la portée /subscriptions/<subscriptionId>/resourcegroups/<resourceGroupName>/providers/Microsoft.MachineLearningServices/workspaces/<workspaceName>/onlineEndpoints/<endpointName>.
  • Pour contrôler les opérations de tous les points de terminaison d'un espace de travail, utilisez la portée /subscriptions/<subscriptionId>/resourcegroups/<resourceGroupName>/providers/Microsoft.MachineLearningServices/workspaces/<workspaceName>.

Pour l'identité du point de terminaison, afin de permettre au conteneur utilisateur de lire des blobs, utilisez le rôle intégré Lecteur de données Blob de stockage qui inclut l'action de données d'autorisation Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read.

Pour plus d’informations sur la gestion de l’autorisation pour les espaces de travail Azure Machine Learning, consultez Gérer l’accès à Azure Machine Learning. Pour plus d’informations sur la définition de rôle, l’étendue et l’attribution de rôle, consultez Azure RBAC. Pour comprendre l’étendue des rôles attribués, consultez Comprendre l’étendue du RBAC Azure.

Autorisations nécessaires pour l’identité de l’utilisateur

Lorsque vous vous connectez à votre locataire Azure avec votre compte Microsoft, par exemple en utilisant az login, vous effectuez l’étape d’authentification authn qui détermine votre identité en tant qu’utilisateur. Pour créer un point de terminaison en ligne sous un espace de travail Azure Machine Learning, votre identité a besoin de l’autorisation appropriée, également appelée autorisation ou authentification. Les identités utilisateur ont besoin d’autorisations appropriées pour effectuer des opérations de plan de contrôle et de plan de données .

Opérations du plan de contrôle

Les opérations du plan de contrôle contrôlent et changent les points de terminaison en ligne. Ces opérations incluent les opérations de création, lecture, mise à jour et suppression (CRUD) sur les points de terminaison en ligne et les déploiements en ligne. Pour les points de terminaison et les déploiements en ligne, les requêtes d’exécution d’opérations du plan de contrôle sont envoyées à l’espace de travail Azure Machine Learning.

Authentification pour les opérations du plan de contrôle

Pour les opérations de plan de contrôle, utilisez un jeton Microsoft Entra pour authentifier un client auprès de l’espace de travail. Selon votre cas d’usage, choisissez parmi plusieurs flux de travail d’authentification pour obtenir ce jeton. L’identité de l’utilisateur doit également disposer du rôle Azure RBAC approprié attribué pour accéder aux ressources.

Autorisation pour les opérations du plan de contrôle

Pour les opérations de plan de contrôle, votre identité d’utilisateur doit disposer du rôle Azure RBAC approprié attribué pour accéder à vos ressources. Plus précisément, pour les opérations CRUD sur les points de terminaison et les déploiements en ligne, l'identité de l'utilisateur doit avoir des rôles attribués pour les actions suivantes :

Opération Rôle RBAC Azure requis Étendue
Effectuez des opérations de création/mise à jour sur les points de terminaison et les déploiements en ligne. Propriétaire, Contributeur ou tout rôle autorisant Microsoft.MachineLearningServices/workspaces/onlineEndpoints/write Espace de travail
Effectuez des opérations de suppression sur les points de terminaison et les déploiements en ligne. Propriétaire, Contributeur ou tout rôle autorisant Microsoft.MachineLearningServices/workspaces/onlineEndpoints/delete Espace de travail
Effectuez des opérations de création/mise à jour/suppression sur des points de terminaison et des déploiements en ligne via Azure Machine Learning Studio. Propriétaire, Contributeur ou tout rôle autorisant Microsoft.Resources/deployments/write Groupe de ressources contenant l’espace de travail
Effectuez des opérations de lecture sur des points de terminaison et des déploiements en ligne. Propriétaire, Contributeur ou tout rôle autorisant Microsoft.MachineLearningServices/workspaces/onlineEndpoints/read Espace de travail
Récupérez un jeton Azure Machine Learning (aml_token) pour appeler les points de terminaison en ligne gérés et Kubernetes à partir de l’espace de travail. Propriétaire, Contributeur ou tout rôle autorisant Microsoft.MachineLearningServices/workspaces/onlineEndpoints/token/action Point de terminaison
Récupérez une clé pour appeler des points de terminaison en ligne (gérés et Kubernetes) à partir de l'espace de travail. Propriétaire, Contributeur ou tout rôle autorisant Microsoft.MachineLearningServices/workspaces/onlineEndpoints/listKeys/action Point de terminaison
Régénérez les clés pour les points de terminaison gérés et Kubernetes Online. Propriétaire, Contributeur ou tout rôle autorisant Microsoft.MachineLearningServices/workspaces/onlineEndpoints/regenerateKeys/action Point de terminaison
Récupérez un Microsoft Entra aad_token pour appeler des points de terminaison en ligne gérés. Ne nécessite pas de rôle Sans objet*

* Vous pouvez récupérer votre Microsoft Entra aad_token directement à partir de l’ID Microsoft Entra une fois connecté, de sorte que cette opération ne nécessite pas d’autorisation Azure RBAC sur l’espace de travail.

Autorisations pour l'identité de l'utilisateur pour imposer l'accès aux magasins de secrets par défaut

Si vous utilisez la fonctionnalité d’injection de secrets et que vous définissez l’indicateur pour appliquer l’accès aux magasins de secrets par défaut lors de la création de points de terminaison, votre identité utilisateur doit avoir l’autorisation de lire les secrets des connexions de l’espace de travail.

Une identité de point de terminaison peut être soit une identité attribuée par le système (SAI), soit une identité attribuée par l'utilisateur (UAI). Lorsque vous créez le point de terminaison avec une SAI et définissez l’indicateur permettant d’appliquer l’accès aux magasins de secrets par défaut, une identité d’utilisateur doit disposer des autorisations nécessaires pour lire les secrets des connexions à l’espace de travail lors de la création d’un point de terminaison et des déploiements. Cette restriction veille à ce que seule une identité utilisateur disposant de l’autorisation pour lire les secrets peut accorder à l’identité de point de terminaison l’autorisation de lire les secrets.

Si une identité d'utilisateur qui n'a pas l'autorisation de lire les secrets des connexions à l'espace de travail tente de créer un point de terminaison ou un déploiement avec un SAI et que l'indicateur du point de terminaison est défini pour appliquer l'accès aux magasins de secrets par défaut, la création du point de terminaison ou du déploiement est rejetée.

Si vous créez le point de terminaison avec une identité utilisateur attribuée (UAI) ou si le point de terminaison utilise une identité système attribuée (SAI), mais que vous ne définissez pas l’indicateur pour appliquer l’accès aux répertoires de secrets par défaut, l’identité de l’utilisateur n’a pas besoin d'être capable d'accéder aux secrets à partir des connexions de l'espace de travail pour créer un point de terminaison ou un déploiement. Dans ce cas, l’identité de point de terminaison n’est pas automatiquement autorisée à lire les secrets, mais vous pouvez accorder manuellement cette autorisation en affectant le rôle approprié.

Que l’attribution de rôle soit automatique ou manuelle, la récupération et l’injection du secret sont déclenchées si vous avez mappé les variables d’environnement avec des références secrètes dans le point de terminaison ou la définition de déploiement. La fonction d’injection de secret utilise l’identité du point de terminaison pour effectuer la récupération et l’injection de secret. Pour plus d’informations sur l’injection de secrets, consultez Injection de secrets dans les points de terminaison en ligne.

Opérations du plan de données

Les opérations de plan de données ne modifient pas les points de terminaison en ligne, mais utilisent des données qui interagissent avec les points de terminaison. Un exemple d’une opération du plan de données consiste à envoyer une demande de scoring à un point de terminaison en ligne et à recevoir une réponse de celui-ci. Pour les points de terminaison et les déploiements en ligne, les requêtes d’exécution d’opérations du plan de données sont envoyées à l’URI de scoring du point de terminaison.

Authentification pour les opérations du plan de données

Pour les opérations de plan de données, choisissez parmi les méthodes suivantes pour authentifier un client afin d’envoyer des demandes à l’URI de scoring d’un point de terminaison :

  • Clé
  • Azure Machine Learning aml_token
  • Microsoft Entra aad_token

Pour plus d’informations sur l’authentification des clients pour les opérations de plan de données, consultez Comment authentifier les clients pour les points de terminaison en ligne.

Autorisation pour les opérations du plan de données

Pour les opérations de plan de données, votre identité d'utilisateur a besoin de rôles Azure RBAC appropriés pour autoriser l'accès à vos ressources uniquement si le point de terminaison est configuré pour utiliser Microsoft Entra aad_token. Pour les opérations de plan de données sur les points de terminaison et les déploiements en ligne, l'identité de l'utilisateur doit avoir un rôle attribué avec les actions suivantes :

Opération Rôle RBAC Azure requis Étendue
Appelez des points de terminaison en ligne avec key ou Azure Machine Learning aml_token. Aucun rôle n’est requis. Non applicable
Appelez des points de terminaison en ligne gérés avec Microsoft Entra aad_token. Propriétaire, Contributeur ou tout rôle autorisant Microsoft.MachineLearningServices/workspaces/onlineEndpoints/score/action Point de terminaison
Appelez les points de terminaison Kubernetes Online avec Microsoft Entra aad_token. Le point de terminaison en ligne Kubernetes ne prend pas en charge le jeton Microsoft Entra pour les opérations de plan de données. Non applicable

Autorisations nécessaires pour l’identité du point de terminaison

Un déploiement en ligne exécute votre conteneur d’utilisateurs avec l’identité de point de terminaison, qui est l’identité managée associée au point de terminaison. L’identité de point de terminaison est un ID Microsoft Entra qui prend en charge Azure RBAC. Par conséquent, vous pouvez attribuer des rôles Azure à l’identité du point de terminaison afin de contrôler les autorisations requises pour effectuer des opérations. Cette identité de point de terminaison peut être un SAI ou un UAI. Vous décidez si vous souhaitez utiliser une SAPI ou une UAI lorsque vous créez le point de terminaison.

  • Pour une SAI, l’identité est créée automatiquement lors de la création du point de terminaison, et des rôles avec des autorisations fondamentales, telles que l’autorisation de pull du registre de conteneurs AcrPull et Lecteur de données blob du stockage, sont automatiquement attribués.
  • Pour une UAI, vous devez d’abord créer l’identité, puis l’associer au point de terminaison lorsque vous créez le point de terminaison. Vous êtes également responsable de l’attribution de rôles appropriés à l’identité UAI en fonction des besoins.

Attribution automatique de rôle pour l’identité du point de terminaison

Si l’identité de point de terminaison est une SAPI, les rôles suivants sont attribués à l’identité de point de terminaison pour des raisons pratiques.

Role Descriptif Condition pour l'attribution automatique des rôles
AcrPull Permet à l’identité du point de terminaison d’extraire les images du registre Azure Container Registry associé à l'espace de travail L’identité du point de terminaison est une SAI.
Lecteur des données Blob du stockage Permet à l'identité du point de terminaison de lire les blobs à partir du magasin de données par défaut de l'espace de travail L’identité du point de terminaison est une SAI.
Enregistreur de métriques AzureML (préversion) Permet à l'identité du point de terminaison d'écrire des métriques dans l'espace de travail L’identité du point de terminaison est une SAI.
Lecteur des secrets de connexion de l’espace de travail Azure Machine Learning Permet à l'identité du point de terminaison de lire les secrets des connexions à l'espace de travail L’identité du point de terminaison est une SAI et la création du point de terminaison dispose d’un indicateur pour appliquer l’accès aux magasins de secrets par défaut. L’identité de l’utilisateur qui crée le point de terminaison dispose également de l’autorisation de lire les secrets des connexions à l’espace de travail.
  • Si l’identité du point de terminaison est une SAI et que l’indicateur d’application n’est pas défini ou que l’identité utilisateur n’a pas l’autorisation de lire les secrets, il n’y a pas d’attribution automatique pour le rôle Lecteur des secrets des connexions de l’espace de travail Azure Machine Learning. Pour plus d’informations, consultez Guide pratique pour déployer un point de terminaison en ligne avec injection de secrets.
  • Si l’identité du point de terminaison est une UAI, il n’existe aucune attribution automatique de rôle pour le rôle de Lecteur des secrets de connexion de l’espace de travail Azure Machine Learning. Dans ce cas, vous devez attribuer manuellement des rôles à l’identité du point de terminaison.

Pour plus d’informations sur le rôle Lecteur des secrets de connexion de l’espace de travail de Azure Machine Learning, consultez Attribuer des autorisations à l’identité.