Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Dans ce tutoriel, vous apprenez à utiliser le service Azure App Configuration avec Azure Key Vault. App Configuration et Key Vault sont des services complémentaires utilisés côte à côte dans la plupart des déploiements d’applications.
App Configuration vous aide à utiliser ces services ensemble en créant des clés qui référencent des valeurs stockées dans Key Vault. Lorsque le service App Configuration crée de telles clés, il stocke les URI des valeurs Key Vault plutôt que les valeurs elles-mêmes.
Votre application utilise le fournisseur client de App Configuration pour récupérer les références Key Vault, tout comme pour toutes les autres clés stockées dans App Configuration. Dans ce cas, les valeurs stockées dans App Configuration sont des URI qui référencent les valeurs dans le coffre de clés. Ce ne sont pas des valeurs de Key Vault ou des informations d’identification. Étant donné que le fournisseur client reconnaît les clés comme des références Key Vault, il utilise Key Vault pour récupérer leurs valeurs.
Votre application est chargée de s’authentifier correctement auprès d’App Configuration et auprès de Key Vault. Les deux services ne communiquent pas directement.
Ce tutoriel vous montre comment implémenter des références Key Vault dans votre code. Il s’appuie sur l’application web introduite dans le guide de démarrage rapide. Avant de continuer, suivez d’abord Créer une application Java Spring avec App Configuration.
Vous pouvez utiliser l’éditeur de code de votre choix pour exécuter les étapes de ce tutoriel. Par exemple, Visual Studio Code est un éditeur de code multiplateforme qui est disponible pour les systèmes d’exploitation Windows, macOS et Linux.
Dans ce tutoriel, vous allez apprendre à :
- Créer une clé App Configuration qui référence une valeur stockée dans Key Vault.
- Accéder à la valeur de cette clé à partir d’une application Java Spring.
Prérequis
- Abonnement Azure : créez-en un gratuitement
- Kit de développement Java (JDK) compatible avec la version 17.
- Apache Maven version 3.0 ou ultérieure
- Terminez le guide de démarrage rapide Créer une application Java Spring avec App Configuration .
Créer un coffre de clés
Connectez-vous au Portail Azure, puis sélectionnez Créer une ressource.
Dans la zone de recherche, entrez Key Vault. Dans la liste des résultats, sélectionnez Key Vault.
Dans la page Key Vault , sélectionnez Créer.
Dans la page Créer un coffre de clés , entrez les informations suivantes :
- Pour l’abonnement : sélectionnez un abonnement.
- Pour le groupe de ressources : entrez le nom d’un groupe de ressources existant ou sélectionnez Créer et entrez un nom de groupe de ressources.
- Pour le nom du coffre de clés : entrez un nom unique.
- Pour la région : sélectionnez un emplacement.
Pour les autres options, utilisez les valeurs par défaut.
Sélectionnez Vérifier + créer.
Une fois le système validé et affiché vos entrées, sélectionnez Créer.
À ce stade, votre compte Azure est le seul autorisé à accéder à ce nouveau coffre.
Ajouter un secret à Azure Key Vault
Ajoutez un secret au coffre pour tester l'extraction de Key Vault. Le secret est appelé Message et sa valeur est « Hello from Key Vault ».
Dans le menu de la ressource Key Vault, sélectionnez Objets>Secrets.
Sélectionnez Générer/Importer.
Dans la boîte de dialogue Créer un secret , entrez les valeurs suivantes :
- Pour les options de chargement : Entrer Manual.
- Nom : entrez le message.
- Pour la valeur secrète : entrez Bonjour depuis Key Vault.
Pour les autres options, utilisez les valeurs par défaut.
Sélectionnez Create (Créer).
Ajouter une référence Key Vault à App Configuration
Connectez-vous au portail Azure. Sélectionnez Toutes les ressources, puis sélectionnez votre magasin App Configuration.
Sélectionnez Explorateur de configuration.
Sélectionnez + Créer>Référence Key Vault, puis choisissez les valeurs suivantes :
- Clé : entrez /application/config.keyVaultMessage.
- Étiquette : Laissez cette valeur vide.
- Abonnement, groupe de ressources et coffre de clés : entrez les valeurs correspondant au coffre de clés que vous avez créé dans la section précédente.
- Secret : Sélectionnez le secret nommé Message que vous avez créé dans la section précédente.
Autoriser votre application à accéder à Key Vault
Votre application utilise DefaultAzureCredential pour s’authentifier auprès d’App Configuration et de Key Vault. Ces informations d’identification fonctionnent automatiquement avec les identités managées dans Azure et avec vos informations d’identification de développeur localement.
Accordez à votre identité l’accès à Key Vault. Attribuez le rôle Utilisateur des secrets Key Vault à votre compte d’utilisateur ou à votre identité gérée :
az role assignment create --role "Key Vault Secrets User" --scope /subscriptions/<subscriptionId>/resourceGroups/<group-name>/providers/Microsoft.KeyVault/vaults/<your-unique-keyvault-name> --assignee <your-azure-ad-user-or-managed-identity>Accordez à votre identité l’accès à App Configuration. Attribuez le rôle Lecteur de données App Configuration :
az role assignment create --role "App Configuration Data Reader" --scope /subscriptions/<subscriptionId>/resourceGroups/<group-name>/providers/Microsoft.AppConfiguration/configurationStores/<your-app-configuration-store> --assignee <your-azure-ad-user-or-managed-identity>
Mettre à jour votre code pour utiliser une référence Key Vault
Créez une variable d’environnement appelée APP_CONFIGURATION_ENDPOINT. Définissez sa valeur sur le point de terminaison de votre magasin App Configuration. Vous trouverez le point de terminaison dans le panneau Clés d’accès dans le portail Azure. Redémarrez l’invite de commandes pour que la modification soit prise en compte.
Ouvrez votre fichier de configuration dans le dossier resources . Mettez à jour ce fichier pour utiliser la valeur APP_CONFIGURATION_ENDPOINT. Supprimez toutes les références à une chaîne de connexion dans ce fichier.
spring:
config:
import: azureAppConfiguration
cloud:
azure:
appconfiguration:
stores:
- endpoint: ${APP_CONFIGURATION_ENDPOINT}
Note
Vous pouvez également utiliser les configurations globales Spring Cloud Azure pour vous connecter à Key Vault.
Ouvrez MyProperties.java. Ajoutez une nouvelle variable appelée keyVaultMessage :
private String keyVaultMessage; public String getKeyVaultMessage() { return keyVaultMessage; } public void setKeyVaultMessage(String keyVaultMessage) { this.keyVaultMessage = keyVaultMessage; }Ouvrez HelloController.java. Mettez à jour la méthode getMessage pour inclure le message récupéré à partir de Key Vault.
@GetMapping public String getMessage() { return "Message: " + properties.getMessage() + "\nKey Vault message: " + properties.getKeyVaultMessage(); }Générez votre application Spring Boot avec Maven, puis exécutez-la. Par exemple :
mvn clean package mvn spring-boot:runLorsque votre application s’exécute, utilisez curl pour la tester. Par exemple :
curl -X GET http://localhost:8080/Vous voyez le message que vous avez entré dans le magasin App Configuration. Vous voyez également le message que vous avez entré dans Key Vault.
Nettoyer les ressources
Si vous ne souhaitez plus utiliser les ressources créées dans cet article, supprimez le groupe de ressources que vous avez créé ici afin d’éviter des frais.
Important
La suppression d’un groupe de ressources est irréversible. Le groupe de ressources et toutes les ressources qu’il contient sont supprimés définitivement. Veillez à ne pas supprimer accidentellement les mauvaises ressources ou le mauvais groupe de ressources. Si vous avez créé les ressources pour cet article dans un groupe de ressources contenant d’autres ressources que vous souhaitez conserver, supprimez chaque ressource individuellement à partir de son volet, au lieu de supprimer l’intégralité du groupe de ressources.
- Connectez-vous au portail Azure, puis sélectionnez Groupes de ressources.
- Dans la zone Filtrer par nom, entrez le nom de votre groupe de ressources.
- Dans la liste de résultats, sélectionnez le nom du groupe de ressources pour afficher une vue d’ensemble.
- Sélectionnez Supprimer le groupe de ressources.
- Vous êtes invité à confirmer la suppression du groupe de ressources. Entrez le nom de votre groupe de ressources à confirmer, puis sélectionnez Supprimer.
Après quelques instants, le groupe de ressources et toutes ses ressources sont supprimés.
Étapes suivantes
Dans ce tutoriel, vous créez une clé App Configuration qui référence une valeur stockée dans Key Vault. Pour trouver les réponses à d’autres questions, consultez la documentation de référence qui contient tous les détails sur le fonctionnement de la bibliothèque Spring Cloud Azure App Configuration. Pour savoir comment utiliser les indicateurs de fonctionnalités dans votre application Java Spring, passez au tutoriel suivant.