Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Pendant le développement local, les applications doivent s’authentifier auprès d’Azure pour accéder à différents services Azure. Deux approches courantes pour l’authentification locale sont d’utiliser un principal de service ou d’utiliser un compte de développeur. Cet article explique comment utiliser un compte de développeur. 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 aux comptes de développeur 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
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
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.
Accédez à la page vue d’ensemble de l’ID Microsoft Entra dans le portail Azure.
Sélectionnez Tous les groupes dans le menu de gauche.
Dans la page Groupes , sélectionnez Nouveau groupe.
Dans la page Nouveau groupe , renseignez les champs de formulaire suivants :
- Type de groupe : Sélectionnez 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.
Sélectionnez le lien Aucun membre sélectionné sous Membres pour ajouter des membres au groupe.
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.
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.
Dans le portail Azure, accédez à la page Vue d’ensemble du groupe de ressources qui contient votre application.
Dans le menu de navigation de gauche, sélectionnez Contrôle d’accès (IAM) .
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.
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.
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 .
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
Ensuite, connectez-vous à Azure à l’aide de l’un des outils de développement qui peuvent être utilisés pour effectuer l’authentification dans votre environnement de développement. Le compte que vous authentifiez doit également exister dans le groupe Microsoft Entra que vous avez créé et configuré précédemment.
Les développeurs peuvent utiliser Azure CLI pour s’authentifier auprès de Microsoft Entra ID. Les applications utilisant DefaultAzureCredential ou AzureCliCredential peuvent ensuite utiliser ce compte pour authentifier les demandes d’application lors de l’exécution locale.
Pour vous authentifier auprès d’Azure CLI, exécutez la az login commande. Sur un système avec un navigateur web par défaut, Azure CLI lance le navigateur pour authentifier l’utilisateur.
az login
Pour les systèmes sans navigateur web par défaut, la commande az login utilise le flux d’authentification du code d’appareil. L’utilisateur peut également forcer Azure CLI à utiliser le flux de code de l’appareil plutôt que de lancer un navigateur en spécifiant l’argument --use-device-code.
az login --use-device-code
S’authentifier auprès des services Azure à partir de votre application
La bibliothèque Azure Identity fournit différentes implémentations d'informations d’identification adaptées à la prise en charge de TokenCredential différents scénarios et flux d’authentification Microsoft Entra. Les étapes à suivre montrent comment utiliser DefaultAzureCredential quand vous utilisez des comptes d’utilisateur localement.
Implémenter le code
DefaultAzureCredential est une séquence ordonnée de mécanismes d’authentification auprès de Microsoft Entra ID. Chaque mécanisme d’authentification est une classe dérivée de la classe TokenCredential et est appelée informations d’identification. Au moment de l’exécution, DefaultAzureCredential tente de s’authentifier à l’aide des premières informations d’identification. Si ces informations d’identification ne parviennent pas à acquérir un jeton d’accès, les informations d’identification suivantes de la séquence sont utilisées, et ainsi de suite jusqu’à l’obtention d’un jeton d’accès. De cette façon, votre application peut utiliser différentes informations d’identification dans différents environnements sans écrire de code spécifique à l’environnement.
Pour utiliser DefaultAzureCredential, ajoutez les packages @azure/identity à votre application. Dans un terminal de votre choix, accédez au répertoire du projet d’application et exécutez la commande suivante :
npm install @azure/identity
Les services Azure sont accessibles à l’aide de classes clientes spécialisées à partir des différentes bibliothèques clientes du Kit de développement logiciel (SDK) Azure. Ces classes et vos propres services personnalisés doivent être inscrits afin qu’ils soient accessibles tout au long de votre application. Effectuez les étapes programmatiques suivantes pour créer une classe cliente et DefaultAzureCredential:
- Importez le
@azure/identitypackage. - Créez le client de service Azure et transmettez-lui une nouvelle instance de
DefaultAzureCredential.
import { DefaultAzureCredential } from "@azure/identity";
import { SomeAzureServiceClient } from "@azure/arm-some-service";
const client = new SomeAzureServiceClient(new DefaultAzureCredential());