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.
Cet article explique comment commencer à utiliser Azure Key Vault à l’aide d’Azure CLI. Vous pouvez voir des informations sur :
- Comment créer un conteneur renforcé (un coffre) dans Azure
- Ajout d’une clé, d’un secret ou d’un certificat au coffre de clés
- Inscription d’une application avec l’ID Microsoft Entra
- Autorisation d’une application pour utiliser une clé ou un secret
- Définition des stratégies d’accès avancées pour le coffre de clés
- Utilisation de modules de sécurité matériels (HSM)
- Supprimer le coffre de clés et les clés et secrets associés
- Commandes d’interface de ligne de commande multiplateforme Azure diverses
Azure Key Vault est disponible dans la plupart des régions. Pour plus d’informations, consultez la page de tarification de Key Vault.
Remarque
Cet article n’inclut pas d’instructions sur l’écriture de l’application Azure que l’une des étapes inclut, ce qui montre comment autoriser une application à utiliser une clé ou un secret dans le coffre de clés.
Pour obtenir une vue d’ensemble d’Azure Key Vault, consultez Qu’est-ce qu’Azure Key Vault ?) Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
Conditions préalables
Pour utiliser les commandes Azure CLI de cet article, vous devez disposer des éléments suivants :
- Un abonnement à Microsoft Azure. Si vous n’en avez pas, vous pouvez vous inscrire pour bénéficier d’un essai gratuit.
- Azure CLI version 2.0 ou ultérieure. Pour installer la dernière version, consultez Installer Azure CLI.
- Application qui sera configurée pour utiliser la clé ou le mot de passe que vous créez dans cet article. Un exemple d’application est disponible à partir du Centre de téléchargement Microsoft. Pour obtenir des instructions, consultez le fichier Lisez-moi inclus.
Obtenir de l’aide avec l’interface multiplateforme Command-Line d’Azure
Cet article suppose que vous connaissez l’interface de ligne de commande (Bash, Terminal, Invite de commandes).
Le paramètre --help ou -h peut être utilisé pour afficher l’aide pour des commandes spécifiques. Sinon, le format d’aide Azure [commande] [options] peut également être utilisé. En cas de doute sur les paramètres nécessaires par une commande, reportez-vous à l’aide. Par exemple, les commandes suivantes retournent toutes les mêmes informations :
az account set --help
az account set -h
Vous pouvez également lire les articles suivants pour vous familiariser avec Azure Resource Manager dans l’interface de Command-Line multiplateforme Azure :
Comment créer un conteneur renforcé (un coffre) dans Azure
Les coffres sont des conteneurs sécurisés sauvegardés par des modules de sécurité matériels. Les coffres contribuent à réduire les risques de perte accidentelle des informations de sécurité en centralisant le stockage des secrets d’application. Les coffres de clés contrôlent également et journalisent l’accès à tout ce qui est stocké dans ces coffres. Azure Key Vault peut gérer la demande et le renouvellement de certificats TLS (Transport Layer Security), fournissant les fonctionnalités requises pour une solution de gestion du cycle de vie des certificats robuste. Dans les étapes suivantes, vous allez créer un coffre.
Se connecter à vos abonnements
Pour vous connecter de manière interactive, utilisez la commande suivante :
az login
Pour vous connecter à l’aide d’un compte d’organisation, vous pouvez transmettre votre nom d’utilisateur et votre mot de passe.
az login -u username@domain.com -p password
Si vous avez plusieurs abonnements et que vous devez spécifier lequel utiliser, tapez ce qui suit pour afficher les abonnements pour votre compte :
az account list
Spécifiez un abonnement avec le paramètre d’abonnement.
az account set --subscription <subscription name or ID>
Pour plus d’informations sur la configuration de l’interface de Command-Line multiplateforme Azure, consultez Installer Azure CLI.
Création d’un groupe de ressources
Lors de l’utilisation d’Azure Resource Manager, toutes les ressources associées sont créées à l’intérieur d’un groupe de ressources. Vous pouvez créer un coffre de clés dans un groupe de ressources existant. Si vous souhaitez utiliser un nouveau groupe de ressources, vous pouvez en créer un.
az group create -n "ContosoResourceGroup" -l "East Asia"
Le premier paramètre est le nom du groupe de ressources et le deuxième paramètre est l’emplacement. Pour obtenir la liste de tous les emplacements possibles, tapez :
az account list-locations
Inscrire le fournisseur de ressources Key Vault
Vous pouvez voir l'erreur « L'abonnement n'est pas inscrit pour utiliser le namespace 'Microsoft.KeyVault' » lorsque vous essayez de créer un nouveau coffre de clés. Si ce message s’affiche, assurez-vous que le fournisseur de ressources Key Vault est inscrit dans votre abonnement. Il s’agit d’une opération ponctuelle pour chaque abonnement.
az provider register -n Microsoft.KeyVault
Créer un coffre de clés
Utilisez la az keyvault create commande pour créer un coffre de clés. Ce script a trois paramètres obligatoires : un nom de groupe de ressources, un nom de coffre de clés et l’emplacement géographique.
Pour créer un coffre portant le nom ContosoKeyVault, dans le groupe de ressources ContosoResourceGroup, résidant à l’emplacement Asie de l'Est, tapez :
az keyvault create --name "ContosoKeyVault" --resource-group "ContosoResourceGroup" --location "East Asia"
La sortie de cette commande affiche les propriétés du coffre de clés que vous avez créé. Les deux propriétés les plus importantes sont :
- nom : Dans l’exemple, le nom est ContosoKeyVault. Vous utiliserez ce nom pour d’autres commandes Key Vault.
-
vaultUri : Dans l’exemple, l’URI est
https://contosokeyvault.vault.azure.net. Les applications qui utilisent votre coffre via son API REST doivent utiliser cet URI.
Votre compte Azure est désormais autorisé à effectuer toutes les opérations sur ce coffre de clés. À l’heure actuelle, personne d’autre n’y est autorisé.
Ajout d’une clé, d’un secret ou d’un certificat au coffre de clés
Si vous souhaitez qu’Azure Key Vault crée une clé protégée par logiciel pour vous, utilisez la az key create commande.
az keyvault key create --vault-name "ContosoKeyVault" --name "ContosoFirstKey" --protection software
Si vous disposez d’une clé existante dans un fichier .pem, vous pouvez la charger dans Azure Key Vault. Vous pouvez choisir de protéger la clé avec un logiciel ou un HSM. Cet exemple importe la clé à partir du fichier .pem et la protège avec un logiciel à l’aide du mot de passe « hVFkk965BuUv » :
az keyvault key import --vault-name "ContosoKeyVault" --name "ContosoFirstKey" --pem-file "./softkey.pem" --pem-password "hVFkk965BuUv" --protection software
Vous pouvez maintenant référencer la clé que vous avez créée ou chargée dans Azure Key Vault à l’aide de son URI. Permet https://ContosoKeyVault.vault.azure.net/keys/ContosoFirstKey d’obtenir toujours la version actuelle. Permet https://<keyvault-name>.vault.azure.net/keys/<keyname>/<key-unique-id> d’obtenir cette version spécifique. Par exemple : https://ContosoKeyVault.vault.azure.net/keys/ContosoFirstKey/cgacf4f763ar42ffb0a1gca546aygd87.
Ajoutez un secret au coffre, c'est-à-dire un mot de passe nommé SQLPassword avec la valeur « hVFkk965BuUv » dans Azure Key Vault.
az keyvault secret set --vault-name "ContosoKeyVault" --name "SQLPassword" --value "hVFkk965BuUv "
Référencez ce mot de passe à l’aide de son URI. Permet https://ContosoVault.vault.azure.net/secrets/SQLPassword d’obtenir toujours la version actuelle et https://<keyvault-name>.vault.azure.net/secret/<secret-name>/<secret-unique-id> d’obtenir cette version spécifique. Par exemple : https://ContosoVault.vault.azure.net/secrets/SQLPassword/90018dbb96a84117a0d2847ef8e7189d.
Importez un certificat dans le coffre à l’aide d’un fichier .pem ou .pfx.
az keyvault certificate import --vault-name "ContosoKeyVault" --file "c:\cert\cert.pfx" --name "ContosoCert" --password "hVFkk965BuUv"
Examinons la clé, le secret ou le certificat que vous avez créé :
- Pour afficher vos clés, tapez :
az keyvault key list --vault-name "ContosoKeyVault"
- Pour afficher vos secrets, tapez :
az keyvault secret list --vault-name "ContosoKeyVault"
- Pour afficher les certificats, tapez :
az keyvault certificate list --vault-name "ContosoKeyVault"
Inscription d’une application avec l’ID Microsoft Entra
Cette étape serait généralement effectuée par un développeur sur un ordinateur distinct. Elle n’est pas spécifique à Azure Key Vault, mais elle est incluse ici pour la sensibilisation. Pour terminer l’inscription de l’application, votre compte, le coffre et l’application doivent se trouver dans le même répertoire Azure.
Les applications qui utilisent un coffre de clés doivent s’authentifier à l’aide d’un jeton à partir de l’ID Microsoft Entra. Le propriétaire de l’application doit d’abord l’inscrire dans Microsoft Entra. À la fin de l’inscription, le propriétaire de l’application obtient les valeurs suivantes :
- ID d’application (également appelé ID client Microsoft Entra ou appID)
- Clé d’authentification (également appelée secret partagé).
L’application doit présenter ces deux valeurs à l’ID Microsoft Entra pour obtenir un jeton. La façon dont une application est configurée pour obtenir un jeton dépend de l’application. Pour l’exemple d’application Key Vault, le propriétaire de l’application définit ces valeurs dans le fichier app.config.
Pour obtenir des instructions détaillées sur l’inscription d’une application auprès de Microsoft Entra ID, vous devez consulter les articles intitulés Intégration d’applications avec l’ID Microsoft Entra, utiliser le portail pour créer une application Microsoft Entra et un principal de service pouvant accéder aux ressources, et créer un principal de service Azure avec Azure CLI.
Pour inscrire une application dans l’ID Microsoft Entra :
az ad sp create-for-rbac -n "MyApp" --password "hVFkk965BuUv" --role Contributor --scopes /subscriptions/<subscription id>
# If you don't specify a password, one will be created for you.
Autorisation d’une application pour utiliser une clé ou un secret
Pour autoriser l’application à accéder à la clé ou au secret dans le coffre, utilisez la az keyvault set-policy commande.
Par exemple, si votre nom de coffre est ContosoKeyVault et que vous souhaitez autoriser l’application à déchiffrer et à se connecter avec des clés dans votre coffre, utilisez la commande suivante avec votre ID d’application :
az keyvault set-policy --name "ContosoKeyVault" --spn {application-id} --key-permissions decrypt sign
Pour autoriser cette même application à lire les secrets de votre coffre, saisissez la commande suivante :
az keyvault set-policy --name "ContosoKeyVault" --spn {application-id} --secret-permissions get
Définition des stratégies d’accès avancées pour le coffre de clés
Utilisez az keyvault update pour activer les stratégies avancées pour le coffre de clés.
Activer Key Vault pour le déploiement : permet aux machines virtuelles de récupérer des certificats stockés en tant que secrets à partir du coffre.
az keyvault update --name "ContosoKeyVault" --resource-group "ContosoResourceGroup" --enabled-for-deployment "true"
Activer Key Vault pour le chiffrement de disque : obligatoire lors de l’utilisation du coffre pour le chiffrement de disque Azure.
az keyvault update --name "ContosoKeyVault" --resource-group "ContosoResourceGroup" --enabled-for-disk-encryption "true"
Activer Key Vault pour le déploiement d’un modèle : permet au gestionnaire des ressources de récupérer des secrets dans le coffre.
az keyvault update --name "ContosoKeyVault" --resource-group "ContosoResourceGroup" --enabled-for-template-deployment "true"
Utilisation de modules de sécurité matériels (HSM)
Pour plus d’assurance, vous pouvez importer ou générer des clés à partir de modules de sécurité matériels (HSM) qui ne quittent jamais la limite HSM. Les modules HSM sont validés FIPS 140. Si cette exigence ne s’applique pas à vous, ignorez cette section et accédez à Supprimer le coffre de clés et les clés et secrets associés.
Pour créer ces clés protégées par HSM, vous devez disposer d’un abonnement de coffre qui prend en charge les clés protégées par HSM.
Lorsque vous créez le coffre de clés, ajoutez le paramètre « sku » :
az keyvault create --name "ContosoKeyVaultHSM" --resource-group "ContosoResourceGroup" --location "East Asia" --sku "Premium"
Vous pouvez ajouter des clés protégées par logiciel (comme indiqué plus haut) et des clés protégées par HSM dans ce coffre. Pour créer une clé protégée par HSM, définissez le paramètre de destination sur « HSM » :
az keyvault key create --vault-name "ContosoKeyVaultHSM" --name "ContosoFirstHSMKey" --protection "hsm"
Vous pouvez utiliser la commande suivante pour importer une clé à partir d’un fichier .pem sur votre ordinateur. Cette commande importe la clé dans des modules HSM dans le service Key Vault :
az keyvault key import --vault-name "ContosoKeyVaultHSM" --name "ContosoFirstHSMKey" --pem-file "/.softkey.pem" --protection "hsm" --pem-password "PaSSWORD"
La commande suivante importe un package BYOK (Bring Your Own Key). Cela vous permet de générer votre clé dans votre HSM local et de la transférer vers des modules HSM dans le service Key Vault, sans que la clé quitte la limite HSM :
az keyvault key import --vault-name "ContosoKeyVaultHSM" --name "ContosoFirstHSMKey" --byok-file "./ITByok.byok" --protection "hsm"
Pour obtenir des instructions plus détaillées sur la façon de générer ce package BYOK, consultez Comment utiliser HSM-Protected clés avec Azure Key Vault.
Supprimer le coffre de clés et les clés et secrets associés
Si vous n’avez plus besoin du coffre de clés et de ses clés ou secrets, vous pouvez supprimer le coffre de clés à l’aide de la az keyvault delete commande :
az keyvault delete --name "ContosoKeyVault"
Vous pouvez également supprimer un groupe de ressources Azure entier, qui inclut le coffre de clés et toutes les autres ressources que vous avez incluses dans ce groupe :
az group delete --name "ContosoResourceGroup"
Commandes d’interface de ligne de commande multiplateforme Azure diverses
D’autres commandes que vous pouvez trouver utiles pour gérer Azure Key Vault.
Cette commande répertorie un affichage tabulaire de toutes les clés et propriétés sélectionnées :
az keyvault key list --vault-name "ContosoKeyVault"
Cette commande affiche une liste complète des propriétés de la clé spécifiée :
az keyvault key show --vault-name "ContosoKeyVault" --name "ContosoFirstKey"
Cette commande répertorie un affichage tabulaire de tous les noms de secrets et propriétés sélectionnées :
az keyvault secret list --vault-name "ContosoKeyVault"
Voici un exemple de suppression d’une clé spécifique :
az keyvault key delete --vault-name "ContosoKeyVault" --name "ContosoFirstKey"
Voici un exemple de suppression d’un secret spécifique :
Remarque
La commande az keyvault secret delete est déconseillée. Lorsque la suppression réversible est activée sur votre coffre de clés (qui est désormais la valeur par défaut), cette commande déplace le secret vers un état supprimé de manière réversible plutôt que de le supprimer définitivement. Vous pouvez ensuite l’utiliser az keyvault secret recover pour le restaurer ou az keyvault secret purge pour le supprimer définitivement. Pour plus d’informations, consultez Vue d’ensemble de la suppression douce d’Azure Key Vault.
az keyvault secret delete --vault-name "ContosoKeyVault" --name "SQLPassword"
Étapes suivantes
Pour accéder à une documentation de référence complète sur l’interface Azure CLI pour les commandes Key Vault, consultez le document de référence sur l’interface de ligne de commande Key Vault.
Voir les informations de référence sur la programmation dans le Guide du développeur Azure Key Vault.
Pour plus d’informations sur Azure Key Vault et les modules HSM, consultez Comment utiliser des clés HSM-Protected avec Azure Key Vault.