Partager via


Authentifier Java applications pour Azure services pendant le développement local à l’aide de comptes de développeur

Pendant le développement local, les applications doivent s’authentifier auprès de Azure pour accéder à différents services Azure. Vous pouvez vous authentifier 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 d’identités Azure. Dans cet article, vous apprenez :

  • Comment utiliser Microsoft Entra groupes 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

Pendant le développement local, une application peut s’authentifier auprès de Azure à l’aide de vos informations d’identification Azure. Pour que cette authentification fonctionne, vous devez être connecté à Azure à partir d’un outil de développement tel que l’un des éléments suivants :

  • Azure CLI
  • Azure Developer CLI
  • Azure PowerShell
  • Visual Studio Code
  • IntelliJ IDEA

La bibliothèque Azure Identity 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 pour 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 l’application n’en a besoin, 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 présentation 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 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 A montrant comment créer un groupe dans le Azure portal.

  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 en un seul groupe de ressources.

  1. Dans le portail Azure, accédez à la page Overview 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 A montrant comment attribuer un rôle au groupe Microsoft Entra group.

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

Connectez-vous à Azure à l’aide des outils de développement

Ensuite, connectez-vous à Azure à l’aide de l’un des outils de développement que vous pouvez utiliser 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 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 Azure Resources. Cette extension vous permet d’afficher et de gérer des ressources Azure directement à partir de Visual Studio Code. Il utilise également le fournisseur d’authentification Microsoft intégré Visual Studio Code pour s’authentifier auprès de Azure.

    Screenshot montrant l’extension Azure Resources.

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

    Screenshot montrant comment se connecter à Azure dans Visual Studio Code.

    Conseil / Astuce

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

S’authentifier auprès de Azure services à 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 suivantes vous 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 la azure-identity dépendance à votre pom.xml fichier :

    <dependency>
        <groupId>com.azure</groupId>
        <artifactId>azure-identity</artifactId>
    </dependency>
    
  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 instance TokenCredential correspondant à un outil de développement spécifique au constructeur client de service Azure, tel que AzureCliCredential.

import com.azure.identity.AzureCliCredential;
import com.azure.identity.AzureCliCredentialBuilder;
import com.azure.security.keyvault.secrets.SecretClient;
import com.azure.security.keyvault.secrets.SecretClientBuilder;

AzureCliCredential credential = new AzureCliCredentialBuilder().build();

SecretClient client = new SecretClientBuilder()
    .vaultUrl("https://<your-key-vault-name>.vault.azure.net")
    .credential(credential)
    .buildClient();

Chaque information d’identification d’outil suit le même modèle. Remplacez le type d'identifiant et son constructeur correspondant en fonction des besoins :

  • AzureCliCredential / AzureCliCredentialBuilder
  • AzureDeveloperCliCredential / AzureDeveloperCliCredentialBuilder
  • AzurePowerShellCredential / AzurePowerShellCredentialBuilder
  • IntelliJCredential / IntelliJCredentialBuilder
  • VisualStudioCodeCredential / VisualStudioCodeCredentialBuilder

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.

import com.azure.identity.DefaultAzureCredential;
import com.azure.identity.DefaultAzureCredentialBuilder;
import com.azure.security.keyvault.secrets.SecretClient;
import com.azure.security.keyvault.secrets.SecretClientBuilder;

DefaultAzureCredential credential = new DefaultAzureCredentialBuilder()
    .requireEnvVars(AzureIdentityEnvVars.AZURE_TOKEN_CREDENTIALS)
    .build();

SecretClient client = new SecretClientBuilder()
    .vaultUrl("https://<your-key-vault-name>.vault.azure.net")
    .credential(credential)
    .buildClient();

Prochaines étapes

Cet article a abordé l’authentification pendant le développement à l’aide d’informations d’identification disponibles sur votre ordinateur. Cette forme d’authentification est l’une des différentes façons dont vous pouvez vous authentifier dans le Azure SDK pour Java. Les articles suivants décrivent d’autres façons :

Si vous rencontrez des problèmes liés à l’authentification de l’environnement de développement, consultez Résoudre les problèmes d’authentification de l’environnement de développement.

Une fois l’authentification principale effectuée, consultez Configure de journalisation dans le Azure SDK pour Java pour plus d’informations sur les fonctionnalités de journalisation fournies par le Kit de développement logiciel (SDK).