authentication Module

Contient les 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 SDK Azure Machine Learning. Utilise une boîte de dialogue interactive.
  • Interface Azure CLI : à utiliser avec le package azure-cli.
  • Principal de service : à utiliser avec les flux de travail de Machine Learning automatisé.
  • MSI : à utiliser pour les ressources avec Managed Service Identity, comme les machines virtuelles Azure.
  • Jeton Azure ML : utilisé afin d’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 un instance d’AccessToken(token, expires_on)

ArmTokenAuthentication

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

Pour les flux de travail automatisés où le contrôle d’accès géré 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 de l’interface de ligne de commande Azure.

Pour utiliser cette classe, vous devez avoir installé le package Azure-CLI. Pour une meilleure expérience Azure Notebooks, utilisez la classe InteractiveLoginAuthentication.

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é quand une exécution est soumise et est disponible uniquement pour le code qui a envoyé l’exécution. La classe AzureMLTokenAuthentication peut être utilisée uniquement dans le contexte de l’exécution envoyée. Le jeton retourné ne peut pas être utilisé avec des opérations Azure Resource Manager (ARM) comme le provisionnement du calcul. Le jeton Azure Machine Learning est utile lors de l’exécution d’un programme à distance quand il peut être risqué d’utiliser les informations d’identification privées d’un utilisateur.

Autoriser les utilisateurs par leur jeton Azure ML.

Jeton Azure ML est généré quand une exécution est soumise et est disponible uniquement pour le code envoyé. La classe ne peut être utilisée que dans le contexte de l’exécution envoyée. Le jeton ne peut pas être utilisé contre des opérations ARM telles que l’approvisionnement de calcul. Le jeton Azure ML est utile lors de l’exécution d’un programme à distance 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 un instance inscrit avec le même run_scope (subscription_id, resource_group_name, workspace_name, experiment_name, run_id).

InteractiveLoginAuthentication

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

L’authentification par connexion interactive est adaptée à l’expérimentation locale sur votre ordinateur. Il s’agit du modèle d’authentification par défaut quand vous utilisez le kit SDK Azure Machine Learning. Par exemple, quand vous travaillez localement dans un notebook Jupyter, le processus d’authentification par connexion interactive ouvre une fenêtre de navigateur pour demander les informations d’identification si elles n’existent pas déjà.

Constructeur d’authentification interactive de connexion 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 déjà connecté, le constructeur charge les informations d’identification existantes sans invite. Lorsque ce processus Python est en cours d’exécution dans le service Azure Notebook, le constructeur tente d’utiliser la fonctionnalité « se connecter à Azure » dans Azure Notebooks. Si ce processus Python est en cours d’exécution sur une machine virtuelle Notebook, le constructeur tente d’utiliser l’authentification MSI.

MsiAuthentication

Gère l’authentification à l’aide d’une identité géré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é gérée (anciennement appelée Managed Service Identity - MSI). L’utilisation d’une identité managée permet à la machine virtuelle de se connecter à votre espace de travail sans stocker les informations d’identification dans le code Python, ce qui a pour conséquence de dissocier le processus d’authentification de toute connexion utilisateur spécifique.

Constructeur MsiAuthentication de classe.

ServicePrincipalAuthentication

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

L’authentification du principal du service est adaptée 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 permet un contrôle d’accès géré.

Constructeur ServicePrincipalAuthentication de classe.

TokenAuthentication

Gérer l’authentification à l’aide d’un jeton AAD étendu par audience.

L’authentification par jeton est appropriée lorsque la génération et l’actualisation du jeton se trouvent en dehors du kit de développement logiciel (SDK) AML. Ce type d’authentification permet un plus grand contrôle sur la génération et l’actualisation du jeton.

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

Cette classe requiert la méthode get_token_for_audience 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 passée à un public get_token_for_audience(audience)

Gérer l’authentification à l’aide d’un jeton AAD étendu par audience.

L’authentification par jeton est appropriée lorsque la génération et l’actualisation du jeton se trouvent en dehors du kit de développement logiciel (SDK) AML. Ce type d’authentification permet un plus grand contrôle sur la génération et l’actualisation du jeton.

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

Cette classe requiert la méthode get_token_for_audience 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 passée à un public get_token_for_audience(audience)

où 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. À utiliser uniquement avec la classe TokenAuthentication.