Authentification Azure dans les environnements de développement Java
Cet article donne un aperçu de la prise en charge de l'authentification par jeton Microsoft Entra par la bibliothèque Azure Identity. Cette prise en charge permet l’authentification pour les applications qui s’exécutent localement sur les ordinateurs de développement via un ensemble d’implémentations de TokenCredential
.
Cet article aborde les sujets suivants :
- Informations d’identification du code d’appareil
- Informations d’identification du navigateur interactif
- Informations d’identification d’Azure CLI
- Informations d’identification IntelliJ
Pour résoudre les problèmes d'authentification dans les environnements de développement, consultez Dépannage de l'authentification dans les environnements de développement.
Informations d’identification du code d’appareil
Les informations d’identification du code d’appareil authentifient de manière interactive un utilisateur sur les appareils avec une interface utilisateur limitée. Elle fonctionne en invitant l'utilisateur à visiter une URL de connexion sur une machine dotée d'un navigateur lorsque l'application tente de s'authentifier. L'utilisateur saisit alors le code de l'appareil mentionné dans les instructions ainsi que ses identifiants de connexion. Une fois l’authentification réussie, l’application qui a demandé l’authentification est correctement authentifiée sur l’appareil sur lequel elle s’exécute.
Pour en savoir plus, consultez Plateforme d’identités Microsoft et flux d’octroi d’autorisation d’appareil OAuth 2.0.
Activer les applications pour le flux de code d’appareil
Pour authentifier un utilisateur par le biais du flux de code d’appareil, procédez comme suit :
- Allez sur Microsoft Entra ID dans le portail Azure et trouvez l'enregistrement de votre application.
- Faites défiler jusqu’à la section Authentification.
- Sous URI redirigés suggérés, recherchez l’URI qui se termine par
/common/oauth2/nativeclient
. - Sous Type de client par défaut, sélectionnez Oui pour Considérer l’application comme un client public.
Ces étapes permettent à l'application de s'authentifier, mais elle n'a toujours pas la permission de vous connecter à Microsoft Entra ID, ni d'accéder à des ressources en votre nom. Pour résoudre ce problème, accédez à Autorisations d’API, puis activez Microsoft Graph et les ressources auxquelles vous souhaitez accéder.
Vous devez également être l'administrateur de votre locataire pour accorder le consentement à votre application lorsque vous vous connectez pour la première fois.
Si vous ne pouvez pas configurer l'option de flux de code d'appareil sur votre Microsoft Entra ID, il se peut que votre application doive être multi-locataire. Pour que votre application soit multi-locataire, accédez au panneau Authentification, puis sélectionnez Comptes dans n’importe quel annuaire d’organisation. Sélectionnez Oui pour Considérer l’application comme un client public.
Authentifier un compte d’utilisateur avec le flux de code d’appareil
L’exemple suivant illustre l’authentification du SecretClient
à partir de la bibliothèque de client azure-security-keyvault-secrets à l’aide des informations d’identification DeviceCodeCredential
sur un appareil IoT.
DeviceCodeCredential deviceCodeCredential = new DeviceCodeCredentialBuilder()
.challengeConsumer(challenge -> {
// lets user know of the challenge
System.out.println(challenge.getMessage());
}).build();
// Azure SDK client builders accept the credential as a parameter
SecretClient client = new SecretClientBuilder()
.vaultUrl("https://<your Key Vault name>.vault.azure.net")
.credential(deviceCodeCredential)
.buildClient();
Informations d’identification du navigateur interactif
Cette méthode authentifie de manière interactive un utilisateur avec le navigateur système par défaut et offre une expérience d’authentification fluide en vous permettant d’utiliser vos propres informations d’identification pour authentifier votre application.
Activer les applications pour le flux OAuth 2 de navigateur interactif
Pour utiliser InteractiveBrowserCredential
, vous devez enregistrer une application dans Microsoft Entra ID avec des permissions pour se connecter au nom d'un utilisateur. Suivez les étapes précédentes pour le flux de code d'appareil pour enregistrer votre application. Comme mentionné précédemment, un administrateur de votre locataire doit accorder le consentement à votre application avant que tout compte d'utilisateur puisse se connecter.
Notez que dans InteractiveBrowserCredentialBuilder
, une URL de redirection est requise. Ajoutez l'URL de redirection à la sous-section Redirection des URI dans la section Authentification de votre application Microsoft Entra enregistrée.
Authentifier un compte d’utilisateur de manière interactive dans le navigateur
L’exemple suivant illustre l’authentification du SecretClient
à partir de la bibliothèque de client azure-security-keyvault-secrets à l’aide des informations d’identification InteractiveBrowserCredential
.
InteractiveBrowserCredential interactiveBrowserCredential = new InteractiveBrowserCredentialBuilder()
.clientId("<your client ID>")
.redirectUrl("http://localhost:8765")
.build();
// Azure SDK client builders accept the credential as a parameter
SecretClient client = new SecretClientBuilder()
.vaultUrl("https://<your Key Vault name>.vault.azure.net")
.credential(interactiveBrowserCredential)
.buildClient();
Informations d’identification d’Azure CLI
Le justificatif d'identité Azure CLI s'authentifie dans un environnement de développement avec l'utilisateur ou le principal de service activé dans Azure CLI. Il utilise l'Azure CLI avec un utilisateur déjà connecté et utilise l'Azure CLI pour authentifier l'application par rapport à Microsoft Entra ID.
Se connecter à Azure CLI pour AzureCliCredential
Connectez-vous en tant qu’utilisateur avec la commande Azure CLI suivante :
az login
Connectez-vous en tant que principal du service à l’aide de la commande suivante :
az login \
--service-principal \
--username <client-ID> \
--password <client-secret> \
--tenant <tenant-ID>
Si le compte ou le principal du service a accès à plusieurs locataires, assurez-vous que le locataire ou l’abonnement souhaité est dans l’état « Activé » dans la sortie de la commande suivante :
az account list
Avant d’utiliser AzureCliCredential
dans le code, exécutez la commande suivante pour vérifier que le compte a été configuré avec succès.
az account get-access-token
Vous devrez peut-être répéter ce processus au bout d’un certain temps, en fonction de la validité du jeton d’actualisation dans votre organisation. En règle générale, la période de validité du jeton d’actualisation est de quelques semaines à quelques mois. AzureCliCredential
vous invite à vous connecter à nouveau.
Authentifier un compte d’utilisateur avec Azure CLI
L’exemple suivant illustre l’authentification du SecretClient
à partir de la bibliothèque de client azure-security-keyvault-secrets à l’aide des informations d’identification AzureCliCredential
sur une station de travail sur laquelle Azure CLI est installée et connectée.
AzureCliCredential cliCredential = new AzureCliCredentialBuilder().build();
// Azure SDK client builders accept the credential as a parameter.
SecretClient client = new SecretClientBuilder()
.vaultUrl("https://<your Key Vault name>.vault.azure.net")
.credential(cliCredential)
.buildClient();
Informations d’identification IntelliJ
L'identifiant IntelliJ s'authentifie dans un environnement de développement avec le compte dans Azure Toolkit for IntelliJ. Il utilise les informations de l'utilisateur connecté sur l'IntelliJ IDE et les utilise pour authentifier l'application par rapport à Microsoft Entra ID.
Se connecter à Azure Toolkit for IntelliJ pour IntelliJCredential
Pour vous connecter, effectuez les étapes suivantes :
- Dans votre fenêtre IntelliJ, ouvrez Fichier > Paramètres > Plug-ins.
- Recherchez « Azure Toolkit for IntelliJ » sur la place de marché. Installez et redémarrez l’IDE.
- Trouvez le nouvel élément de menu Outils > Azure > Connexion à Azure
- Connexion à l'appareil vous aide à vous connecter en tant que compte utilisateur. Suivez les instructions pour vous connecter sur le site web
login.microsoftonline.com
avec le code de l'appareil. IntelliJ vous invite à sélectionner vos abonnements. Sélectionnez l’abonnement contenant les ressources auxquelles vous voulez accéder.
Authentifier un compte d’utilisateur avec l’IDEA IntelliJ
L’exemple suivant illustre l’authentification SecretClient
à partir de la bibliothèque cliente azure-security-keyvault-secrets à l’aide IntelliJCredential
d’une station de travail où IntelliJ IDEA est installé et que l’utilisateur s’est connecté avec un compte Azure au Kit de ressources Azure pour IntelliJ.
IntelliJCredential intelliJCredential = new IntelliJCredentialBuilder()
.build();
// Azure SDK client builders accept the credential as a parameter
SecretClient client = new SecretClientBuilder()
.vaultUrl("https://<your Key Vault name>.vault.azure.net")
.credential(intelliJCredential)
.buildClient();
Étapes suivantes
Cet article a abordé l’authentification pendant le développement à l’aide des informations d’identification disponibles sur votre ordinateur. Cette forme d’authentification est l’une des nombreuses méthodes permettant de s’authentifier dans le Kit de développement logiciel (SDK) Azure pour Java. Les articles suivants décrivent d’autres méthodes :
- Authentification d’applications hébergées dans Azure
- Authentification avec des principaux de service
- Authentification avec des informations d’identification d’utilisateur
Si vous rencontrez des problèmes liés à l'authentification de l'environnement de développement, consultez la section Dépannage de l'authentification de l'environnement de développement.
Une fois l’authentification maître effectuée, consultez Configurer la journalisation dans le Kit de développement logiciel (SDK) Azure pour Java pour en savoir plus sur la fonctionnalité de journalisation fournie par le SDK.