Partager via


authentication Module

Contient des fonctionnalités permettant de gérer différents types d’authentification dans Azure Machine Learning.

Types d’authentification pris en charge :

  • Connexion interactive : mode par défaut lors de l’utilisation du Kit de développement logiciel (SDK) Azure Machine Learning. Utilise une boîte de dialogue interactive.
  • Azure CLI : pour une utilisation avec le package azure-cli .
  • Principal de service : pour une utilisation avec des flux de travail Machine Learning automatisés.
  • MSI : pour une utilisation avec des ressources managed Service Identity, comme avec une machine virtuelle Azure.
  • Jeton Azure ML : utilisé pour acquérir des jetons Azure ML pour les exécutions envoyées uniquement.

Pour en savoir plus sur ces mécanismes d’authentification, consultez https://aka.ms/aml-notebook-auth.

Classes

AbstractAuthentication

Classe parente abstraite pour toutes les classes d’authentification dans Azure Machine Learning.

Les classes dérivées fournissent différents moyens d’authentifier et d’acquérir un jeton en fonction de leur cas d’usage ciblé. Pour obtenir des exemples d’authentification, consultez https://aka.ms/aml-notebook-auth.

Constructeur AbstractAuthentication de classe.

AccessToken

Créer une instance d’AccessToken(token, expires_on)

ArmTokenAuthentication

Utilisé en interne pour acquérir des jetons d’accès ARM à l’aide du principe de service ou de l’authentification d’identité de service managée.

Pour les flux de travail automatisés où le contrôle d’accès managé est nécessaire, utilisez plutôt.ServicePrincipalAuthentication

Constructeur ArmTokenAuthentification de classe.

AzureCliAuthentication

Gère l’authentification et acquiert un jeton d’accès à l’aide d’Azure CLI.

Pour utiliser cette classe, vous devez installer le package azure-cli . Pour une meilleure expérience Azure Notebooks, utilisez la InteractiveLoginAuthentication classe.

Constructeur d’authentification Azure Cli de classe.

AzureMLTokenAuthentication

Gère les jetons d’authentification et d’accès dans le contexte des exécutions soumises.

Le jeton Azure Machine Learning est généré lorsqu’une exécution est envoyée et n’est disponible que pour le code qui a envoyé l’exécution. La classe AzureMLTokenAuthentication ne peut être utilisée que dans le contexte de l’exécution soumise. Le jeton retourné ne peut pas être utilisé par rapport aux opérations Azure Resource Manager (ARM), comme le provisionnement du calcul. Le jeton Azure Machine Learning est utile lors de l’exécution à distance d’un programme où il peut être dangereux d’utiliser les informations d’identification privées d’un utilisateur.

Autoriser les utilisateurs par leur jeton Azure ML.

Le jeton Azure ML est généré lorsqu’une exécution est envoyée et n’est disponible que pour le code envoyé. La classe ne peut être utilisée que dans le contexte de l’exécution soumise. Le jeton ne peut pas être utilisé par rapport à des opérations ARM telles que le calcul d’approvisionnement. Le jeton Azure ML est utile lors de l’exécution à distance d’un programme où il peut être dangereux d’utiliser les informations d’identification privées de l’utilisateur. Le consommateur de cette classe doit appeler la méthode de classe create qui crée un objet ou retourne une instance inscrite avec le même run_scope (subscription_id, resource_group_name, workspace_name, experiment_name, run_id) fournie.

InteractiveLoginAuthentication

Gère l’authentification et acquiert un jeton d’autorisation dans les flux de travail de connexion interactifs.

L’authentification de connexion interactive convient à l’expérimentation locale sur votre propre ordinateur et est le modèle d’authentification par défaut lors de l’utilisation du Kit de développement logiciel (SDK) Azure Machine Learning. Par exemple, lorsque vous travaillez localement dans un bloc-notes Jupyter, le processus d’authentification de connexion interactive ouvre une fenêtre de navigateur pour demander des informations d’identification si les informations d’identification n’existent pas déjà.

Constructeur d’authentification interactive de connexion interactive de classe.

Ce constructeur invite l’utilisateur à se connecter, puis enregistre les informations d’identification pour toutes les tentatives suivantes. Si l’utilisateur est déjà connecté à Azure CLI ou s’il s’est connecté précédemment, le constructeur charge les informations d’identification existantes sans invite. Lorsque ce processus Python s’exécute dans le service Azure Notebook, le constructeur tente d’utiliser la fonctionnalité « se connecter à Azure » dans Azure Notebooks. Si ce processus Python s’exécute sur une machine virtuelle Notebook, le constructeur tente d’utiliser l’authentification MSI.

MsiAuthentication

Gère l’authentification à l’aide d’une identité managée dans Azure Active Directory.

Lorsque vous utilisez le Kit de développement logiciel (SDK) Azure ML sur une machine virtuelle Azure, vous pouvez vous authentifier avec une identité managée (anciennement managed service identity - MSI). L’utilisation d’une identité managée permet à la machine virtuelle de se connecter à votre espace de travail sans stocker d’informations d’identification dans le code Python, découplant ainsi le processus d’authentification à partir de toute connexion utilisateur spécifique.

Constructeur MsiAuthentication de classe.

ServicePrincipalAuthentication

Gère l’authentification à l’aide d’un principe de service au lieu d’une identité utilisateur.

L’authentification du principal de service convient aux flux de travail automatisés comme pour les scénarios CI/CD. Ce type d’authentification dissocie le processus d’authentification de toute connexion utilisateur spécifique et autorise le contrôle d’accès managé.

Constructeur ServicePrincipalAuthentication de classe.

TokenAuthentication

Gérez l’authentification à l’aide d’un jeton AAD délimité par l’audience.

L’authentification par jeton convient lorsque la génération de jetons et son actualisation sont en dehors du Kit de développement logiciel (SDK) AML. Ce type d’authentification permet un meilleur contrôle sur la génération de jetons et son actualisation.

Pour les flux de travail automatisés où le contrôle d’accès managé est nécessaire, utilisez plutôt.ServicePrincipalAuthentication

Cette classe nécessite que get_token_for_audience méthode soit fournie, qui sera appelée pour récupérer le jeton.

Exemple de la façon dont get_token_for_audience sera appelée et sera transmise à un public get_token_for_audience(audience)

Gérez l’authentification à l’aide d’un jeton AAD délimité par l’audience.

L’authentification par jeton convient lorsque la génération de jetons et son actualisation sont en dehors du Kit de développement logiciel (SDK) AML. Ce type d’authentification permet un meilleur contrôle sur la génération de jetons et son actualisation.

Pour les flux de travail automatisés où le contrôle d’accès managé est nécessaire, utilisez plutôt.ServicePrincipalAuthentication

Cette classe nécessite que get_token_for_audience méthode soit fournie, qui sera appelée pour récupérer le jeton.

Exemple de la façon dont get_token_for_audience sera appelée et sera transmise à un public get_token_for_audience(audience)

où l’audience peut être arm ou AML auth = TokenAuthentication(get_token_for_audience)

  AML audience value passed to get_token_for_audience can be retrieved by :
  auth.get_aml_resource_id(cloud)

  ARM audience value passed to get_token_for_audience can be retrieved by :
  auth._cloud_type.endpoints.active_directory_resource_id

Énumérations

Audience

Audience prise en charge par AML. Pour être utilisé uniquement avec la classe TokenAuthentication .