Authentifier des applications JavaScript auprès des services Azure pendant le développement local à l’aide de comptes de développeur
Lorsque vous créez des applications cloud, les développeurs doivent déboguer et tester des applications sur leur station de travail locale. Lorsqu’une application est exécutée sur la station de travail d’un développeur pendant le développement local, elle doit toujours s’authentifier auprès des services Azure utilisés par l’application. Cet article explique comment utiliser les informations d’identification Azure d’un développeur pour authentifier l’application auprès d’Azure pendant le développement local.
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’extension Visual Studio Code Azure Tools, d’Azure CLI ou d’Azure PowerShell. Le Kit de développement logiciel (SDK) Azure pour JavaScript est en mesure de détecter que le développeur est connecté à partir de l’un de ces outils, puis d’obtenir les informations d’identification nécessaires à partir du cache d’informations d’identification pour authentifier l’application auprès d’Azure en tant qu’utilisateur connecté.
Cette approche est plus simple à configurer pour une équipe de développement, car elle tire parti des comptes Azure existants des développeurs. Toutefois, le compte d’un développeur aura 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.
1 - Créer un groupe Microsoft Entra pour le développement local
Étant donné qu’il existe presque toujours plusieurs développeurs qui travaillent sur une application, il est recommandé de créer d’abord un groupe Microsoft Entra pour encapsuler les rôles (autorisations) dont l’application a besoin dans le développement local. Cela offre les avantages suivants.
- Chaque développeur est assuré d’avoir les mêmes rôles attribués, car les rôles sont attribués au niveau du groupe.
- Si un nouveau rôle est nécessaire pour l’application, il doit uniquement être ajouté au groupe Microsoft Entra pour l’application.
- Si un nouveau développeur rejoint l’équipe, il doit simplement être ajouté au groupe Microsoft Entra approprié pour obtenir les autorisations appropriées pour travailler sur l’application.
Si vous disposez d’un groupe Microsoft Entra existant pour votre équipe de développement, vous pouvez utiliser ce groupe. Sinon, effectuez les étapes suivantes pour créer un groupe Microsoft Entra.
2 - Attribuer des rôles au groupe Microsoft Entra
Ensuite, vous devez déterminer les rôles (autorisations) dont votre application a besoin sur les ressources et affecter ces rôles à votre application. Dans cet exemple, les rôles sont attribués au groupe Microsoft Entra créé à l’étape 1. Les rôles peuvent se voir attribuer un rôle au niveau d’une ressource, d’un groupe de ressources ou d’une étendue d’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.
3 - Se connecter à Azure à l’aide de VS Code, d’Azure CLI ou d’Azure PowerShell
Ouvrez un terminal sur votre station de travail de développeur et connectez-vous à Azure à partir d’Azure PowerShell.
Connect-AzAccount
4 - Implémenter DefaultAzureCredential dans votre application
Pour authentifier les objets clients du Kit de développement logiciel (SDK) Azure sur Azure, votre application doit utiliser la DefaultAzureCredential
classe à partir du @azure/identity
package. Dans ce scénario, DefaultAzureCredential
case activée séquentiellement pour voir si le développeur s’est connecté à Azure à l’aide de l’extension d’outils Azure VS Code, d’Azure CLI ou d’Azure PowerShell. Si le développeur est connecté à Azure à l’aide de l’un de ces outils, les informations d’identification utilisées pour se connecter à l’outil seront utilisées par l’application pour s’authentifier auprès d’Azure.
Commencez par ajouter le package @azure/identity à votre application.
npm install @azure/identity
Ensuite, pour tout code JavaScript qui crée un objet client azure SDK dans votre application, vous devez :
- Importez la
DefaultAzureCredential
classe à partir du@azure/identity
module. - Créez un objet
DefaultAzureCredential
. - Transmettez l’objet
DefaultAzureCredential
au constructeur d’objet client du Kit de développement logiciel (SDK) Azure.
Un exemple de cela est illustré dans le segment de code suivant.
import { BlobServiceClient } from '@azure/storage-blob';
import { DefaultAzureCredential } from '@azure/identity';
// Acquire a credential object
const tokenCredential = DefaultAzureCredential();
const blobServiceClient = BlobServiceClient(
`https://${accountName}.blob.core.windows.net`,
tokenCredential
);
DefaultAzureCredential
détecte automatiquement le mécanisme d’authentification configuré pour l’application et obtient les jetons nécessaires pour authentifier l’application auprès d’Azure. Si une application utilise plusieurs clients sdk, le même objet d’informations d’identification peut être utilisé avec chaque objet client sdk.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour