Partager via


Authentifier des applications Python auprès des services Azure pendant le développement local à l’aide de comptes de développeur

Pendant le développement local, les applications doivent s’authentifier auprès d’Azure pour utiliser différents services Azure. Authentifiez-vous localement à l’aide de l’une des approches suivantes :

Cet article explique comment s’authentifier à l’aide d’un compte de développeur avec des outils pris en charge par la bibliothèque Azure Identity. Dans les sections à venir, vous allez apprendre :

  • Comment utiliser des groupes Microsoft Entra pour gérer efficacement les autorisations pour plusieurs comptes de développeur.
  • Comment attribuer des rôles à des comptes de développeurs pour définir les autorisations.
  • Comment se connecter aux outils de développement locaux pris en charge.
  • Comment s’authentifier à l’aide d’un compte de développeur à partir de votre code d’application.

Outils de développement pris en charge pour l’authentification

Pour qu’une application s’authentifie auprès d’Azure pendant le développement local à l’aide des informations d’identification Azure du développeur, le développeur doit être connecté à Azure à partir de l’un des outils de développement suivants :

  • Azure CLI
  • Interface en ligne de commande Azure pour les développeurs
  • Azure PowerShell
  • Visual Studio Code

La bibliothèque d’identités Azure peut détecter que le développeur est connecté à partir de l’un de ces outils. La bibliothèque peut ensuite obtenir le jeton d’accès Microsoft Entra via l’outil pour authentifier l’application auprès d’Azure en tant qu’utilisateur connecté.

Cette approche tire parti des comptes Azure existants du développeur pour simplifier le processus d’authentification. Toutefois, le compte d’un développeur a probablement plus d’autorisations que nécessaire par l’application, ce qui dépasse les autorisations avec laquelle l’application s’exécute en production. En guise d’alternative, vous pouvez créer des principaux de service d’application à utiliser pendant le développement local, qui peuvent être limités pour avoir uniquement l’accès nécessaire par l’application.

Créer un groupe Microsoft Entra pour le développement local

Créez un groupe Microsoft Entra pour encapsuler les rôles (autorisations) dont l’application a besoin dans le développement local plutôt que d’affecter les rôles à des objets de principal de service individuels. Cette approche offre les avantages suivants :

  • Chaque développeur a les mêmes rôles attribués au niveau du groupe.
  • Si un nouveau rôle est nécessaire pour l’application, il doit uniquement être ajouté au groupe de l’application.
  • Si un nouveau développeur rejoint l’équipe, un nouveau principal du service d’application est créé pour le développeur et ajouté au groupe, ce qui garantit que le développeur dispose des autorisations appropriées pour travailler sur l’application.
  1. Accédez à la page de vue d’ensemble Microsoft Entra ID dans le portail Azure.

  2. Sélectionnez Tous les groupes dans le menu de gauche.

  3. Dans la page Groupes , sélectionnez Nouveau groupe.

  4. Dans la page Nouveau groupe , renseignez les champs de formulaire suivants :

    • type de groupe: sélectionnez la sécurité .
    • Nom du groupe : entrez un nom pour le groupe qui inclut une référence à l’application ou au nom de l’environnement.
    • Description du groupe : entrez une description qui explique l’objectif du groupe.

    Capture d’écran montrant comment créer un groupe dans le portail Azure.

  5. Sélectionnez le lien Aucun membre sélectionné sous Membres pour ajouter des membres au groupe.

  6. Dans le volet volant qui s’ouvre, recherchez le principal de service que vous avez créé précédemment et sélectionnez-le dans les résultats filtrés. Choisissez le bouton Sélectionner en bas du panneau pour confirmer votre sélection.

  7. Sélectionnez Créer en bas de la page Nouveau groupe pour créer le groupe et revenir à la page Tous les groupes . Si vous ne voyez pas le nouveau groupe répertorié, attendez un instant et actualisez la page.

Attribuer des rôles au groupe

Ensuite, déterminez les rôles (autorisations) dont votre application a besoin sur les ressources et attribuez ces rôles au groupe Microsoft Entra que vous avez créé. Les groupes peuvent être affectés à un rôle au niveau de la ressource, du groupe de ressources ou de l’étendue de l’abonnement. Cet exemple montre comment attribuer des rôles à l’étendue du groupe de ressources, car la plupart des applications regroupent toutes leurs ressources Azure dans un seul groupe de ressources.

  1. Dans le portail Azure, accédez à la page Vue d’ensemble du groupe de ressources qui contient votre application.

  2. Dans le menu de navigation de gauche, sélectionnez Contrôle d’accès (IAM) .

  3. Dans la page Contrôle d’accès (IAM), sélectionnez + Ajouter , puis choisissez Ajouter une attribution de rôle dans le menu déroulant. La page Ajouter une attribution de rôle fournit plusieurs onglets pour configurer et attribuer des rôles.

  4. Sous l’onglet Rôle , utilisez la zone de recherche pour localiser le rôle que vous souhaitez attribuer. Sélectionnez le rôle, puis choisissez Suivant.

  5. Sous l’onglet Membres :

    • Pour la valeur Attribuer l’accès à, sélectionnez Utilisateur, groupe ou principal de service.
    • Pour la valeur Membres , choisissez + Sélectionner des membres pour ouvrir le volet volant Sélectionner des membres .
    • Recherchez le groupe Microsoft Entra que vous avez créé précédemment et sélectionnez-le dans les résultats filtrés. Choisissez Sélectionner pour choisir le groupe et fermer le volet déroulant.
    • Sélectionnez Vérifier + affecter en bas de l’onglet Membres .

    Capture d’écran montrant comment attribuer un rôle au groupe Microsoft Entra.

  6. Sous l’onglet Révision + affectation , sélectionnez Vérifier + affecter en bas de la page.

Se connecter à Azure à l’aide des outils de développement

Pour vous authentifier auprès de votre compte Azure, choisissez l’une des méthodes suivantes :

Les développeurs utilisant Visual Studio Code peuvent s’authentifier auprès de leur compte de développeur directement via l’éditeur via le répartiteur. Les applications qui utilisent DefaultAzureCredential ou VisualStudioCodeCredential peuvent ensuite utiliser ce compte pour authentifier les demandes d’application via une expérience d’authentification unique transparente.

  1. Dans Visual Studio Code, accédez au panneau Extensions et installez l’extension Ressources Azure . Cette extension vous permet d’afficher et de gérer les ressources Azure directement à partir de Visual Studio Code. Il utilise également le fournisseur d’authentification Microsoft intégré de Visual Studio Code pour s’authentifier auprès d’Azure.

    Capture d’écran montrant l’extension Ressources Azure.

  2. Ouvrez la palette de commandes dans Visual Studio Code, puis recherchez et sélectionnez Azure : Connectez-vous.

    Capture d’écran montrant comment se connecter à Azure dans Visual Studio Code.

    Conseil / Astuce

    Ouvrez la palette de commandes à l’aide Ctrl+Shift+P de Windows/Linux ou Cmd+Shift+P sur macOS.

  3. Ajoutez le azure-identity-broker package Python à votre application :

    pip install azure-identity-broker
    

S’authentifier auprès des services Azure à partir de votre application

La bibliothèque d’identités Azure fournit des implémentations de TokenCredential qui prennent en charge différents scénarios et flux d’authentification Microsoft Entra. Les étapes à suivre montrent comment utiliser DefaultAzureCredential ou des informations d’identification d’outil de développement spécifiques lors de l’utilisation de comptes d’utilisateur localement.

Implémenter le code

  1. Ajoutez le package azure-identity à votre application :

    pip install azure-identity
    

    Remarque

    Lors de l’utilisation VisualStudioCodeCredential, vous devez également installer le azure-identity-broker package :

    pip install azure-identity-broker
    

    Ajoutez les instructions nécessaires pour le module azure.identity et le module client Azure import dont votre application a besoin.

  2. Choisissez l’une des implémentations d’identifiants en fonction de votre situation.

Utiliser des informations d’identification spécifiques à votre outil de développement

Transmettez une TokenCredential instance correspondant à un outil de développement spécifique au constructeur client du service Azure, tel que AzureCliCredential.

from azure.identity import AzureCliCredential
from azure.storage.blob import BlobServiceClient

credential = AzureCliCredential()

blob_service_client = BlobServiceClient(
   account_url="https://<account-name>.blob.core.windows.net",
   credential=credential)

Utilisez des informations d’identification disponibles dans n’importe quel outil de développement.

Utilisez une DefaultAzureCredential instance optimisée pour tous les outils de développement locaux. Cet exemple nécessite que la variable AZURE_TOKEN_CREDENTIALS d’environnement soit définie sur dev. Pour plus d’informations, consultez Exclure une catégorie de type d’informations d’identification.

from azure.identity import DefaultAzureCredential
from azure.storage.blob import BlobServiceClient

credential = DefaultAzureCredential(require_envvar=True)

blob_service_client = BlobServiceClient(
   account_url="https://<account-name>.blob.core.windows.net",
   credential=credential)

Conseil / Astuce

Lorsque votre équipe utilise plusieurs outils de développement pour s’authentifier auprès d’Azure, préférez DefaultAzureCredential les informations d’identification spécifiques à l’outil.