Démarrage rapide : Définir et récupérer un secret depuis Azure Key Vault à l’aide de PowerShellQuickstart: Set and retrieve a secret from Azure Key Vault using PowerShell

Azure Key Vault est un service cloud qui fonctionne comme un magasin des secrets sécurisé.Azure Key Vault is a cloud service that works as a secure secrets store. Vous pouvez stocker des clés, des mots de passe, des certificats et d’autres secrets en toute sécurité.You can securely store keys, passwords, certificates, and other secrets. Pour plus d’informations sur Key Vault, consultez la présentation.For more information on Key Vault, you may review the Overview. Dans ce démarrage rapide, vous allez utiliser PowerShell pour créer un coffre de clés.In this quickstart, you use PowerShell to create a key vault. Ensuite, vous stockerez un secret dans le coffre que vous venez de créer.You then store a secret in the newly created vault.

Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.If you don't have an Azure subscription, create a free account before you begin.

Utiliser Azure Cloud ShellUse Azure Cloud Shell

Azure héberge Azure Cloud Shell, un environnement d’interpréteur de commandes interactif que vous pouvez utiliser dans votre navigateur.Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Vous pouvez utiliser Bash ou PowerShell avec Cloud Shell pour utiliser les services Azure.You can use either Bash or PowerShell with Cloud Shell to work with Azure services. Vous pouvez utiliser les commandes préinstallées Cloud Shell pour exécuter le code de cet article sans avoir à installer quoi que ce soit dans votre environnement local.You can use the Cloud Shell preinstalled commands to run the code in this article without having to install anything on your local environment.

Pour démarrer Azure Cloud Shell :To start Azure Cloud Shell:

OptionOption Exemple/LienExample/Link
Sélectionnez Essayer dans le coin supérieur droit d’un bloc de code.Select Try It in the upper-right corner of a code block. La sélection de Essayer ne copie pas automatiquement le code dans Cloud Shell.Selecting Try It doesn't automatically copy the code to Cloud Shell. Exemple Essayer pour Azure Cloud Shell
Accédez à https://shell.azure.com ou sélectionnez le bouton Lancer Cloud Shell pour ouvrir Cloud Shell dans votre navigateur.Go to https://shell.azure.com, or select the Launch Cloud Shell button to open Cloud Shell in your browser. Lancer Cloud Shell dans une nouvelle fenêtreLaunch Cloud Shell in a new window
Sélectionnez le bouton Cloud Shell dans la barre de menus en haut à droite du portail Azure.Select the Cloud Shell button on the menu bar at the upper right in the Azure portal. Bouton Cloud Shell du portail Azure

Pour exécuter le code de cet article dans Azure Cloud Shell :To run the code in this article in Azure Cloud Shell:

  1. Démarrez Cloud Shell.Start Cloud Shell.

  2. Sélectionnez le bouton Copier dans un bloc de code pour copier le code.Select the Copy button on a code block to copy the code.

  3. Collez le code dans la session Cloud Shell en sélectionnant Ctrl+Maj+V sur Windows et Linux, ou en sélectionnant Cmd+Maj+V sur macOS.Paste the code into the Cloud Shell session by selecting Ctrl+Shift+V on Windows and Linux or by selecting Cmd+Shift+V on macOS.

  4. Sélectionnez Entrée pour exécuter le code.Select Enter to run the code.

Si vous choisissez d’installer et d’utiliser PowerShell localement, ce tutoriel nécessite le module Azure PowerShell version 5.0.0 ou ultérieure.If you choose to install and use PowerShell locally, this tutorial requires Azure PowerShell module version 5.0.0 or later. Tapez $PSVersionTable.PSVersion pour connaître la version.Type $PSVersionTable.PSVersion to find the version. Si vous devez effectuer une mise à niveau, consultez Installer le module Azure PowerShell.If you need to upgrade, see Install Azure PowerShell module. Si vous exécutez PowerShell en local, vous devez également lancer Connect-AzAccount pour créer une connexion avec Azure.If you are running PowerShell locally, you also need to run Connect-AzAccount to create a connection with Azure.

Connect-AzAccount

Créer un groupe de ressourcesCreate a resource group

Créez un groupe de ressources Azure avec New-AzResourceGroup.Create an Azure resource group with New-AzResourceGroup. Un groupe de ressources est un conteneur logique dans lequel les ressources Azure sont déployées et gérées.A resource group is a logical container into which Azure resources are deployed and managed.

New-AzResourceGroup -Name ContosoResourceGroup -Location EastUS

Créer un coffre de clésCreate a Key Vault

Vous allez à présent créer un coffre de clés.Next you create a Key Vault. Lorsque vous effectuez cette opération, vous devez disposer de certaines informations :When doing this step, you need some information:

Bien que nous utilisions « Contoso KeyVault2 » comme nom pour notre coffre de clés dans ce guide de démarrage rapide, vous devez utiliser un nom unique.Although we use "Contoso KeyVault2" as the name for our Key Vault throughout this quickstart, you must use a unique name.

  • Nom du coffre Contoso-Vault2.Vault name Contoso-Vault2.
  • Nom du groupe de ressources ContosoResourceGroup.Resource group name ContosoResourceGroup.
  • Emplacement USA Est.Location East US.
New-AzKeyVault -Name 'Contoso-Vault2' -ResourceGroupName 'ContosoResourceGroup' -Location 'East US'

La sortie de cette cmdlet affiche les propriétés du coffre de clés que vous venez de créer.The output of this cmdlet shows properties of the newly created key vault. Notez les deux propriétés ci-dessous :Take note of the two properties listed below:

  • Nom du coffre : dans l’exemple, il s’agit de Contoso-Vault2.Vault Name: In the example that is Contoso-Vault2. Vous allez utiliser ce nom pour les autres applets de commande Key Vault.You will use this name for other Key Vault cmdlets.
  • URI du coffre : dans l’exemple, il s’agit de https://Contoso-Vault2.vault.azure.net/.Vault URI: In this example that is https://Contoso-Vault2.vault.azure.net/. Les applications qui utilisent votre coffre via son API REST doivent utiliser cet URI.Applications that use your vault through its REST API must use this URI.

Une fois le coffre créé, votre compte Azure est le seul compte autorisé à exécuter des actions sur ce nouveau coffre.After vault creation your Azure account is the only account allowed to do anything on this new vault.

Donner à votre compte d’utilisateur des autorisations pour gérer les secrets dans Key VaultGive your user account permissions to manage secrets in Key Vault

Utilisez l’applet de commande Azure PowerShell Set-AzKeyVaultAccessPolicy pour mettre à jour la stratégie d’accès au coffre de clés et accorder des autorisations de secret à votre compte d’utilisateur.Use the Azure PowerShell Set-AzKeyVaultAccessPolicy cmdlet to update the Key Vault access policy and grant secret permissions to your user account.

Set-AzKeyVaultAccessPolicy -VaultName 'Contoso-Vault2' -UserPrincipalName 'user@domain.com' -PermissionsToSecrets get,set,delete

Ajout d’un secret au coffre de clésAdding a secret to Key Vault

Pour ajouter un secret au coffre, vous devez effectuer deux opérations.To add a secret to the vault, you just need to take a couple of steps. Dans ce cas précis, vous ajoutez un mot de passe qu’une application est susceptible d’utiliser.In this case, you add a password that could be used by an application. Le mot de passe est appelé ExamplePassword et stocke la valeur hVFkk965BuUv.The password is called ExamplePassword and stores the value of hVFkk965BuUv in it.

Commencez par convertir la valeur hVFkk965BuUv en une chaîne sécurisée en tapant la commande suivante :First convert the value of hVFkk965BuUv to a secure string by typing:

$secretvalue = ConvertTo-SecureString 'hVFkk965BuUv' -AsPlainText -Force

Ensuite, tapez les commandes PowerShell ci-après pour créer dans Key Vault un secret appelé ExamplePassword, avec la valeur hVFkk965BuUv :Then, type the PowerShell commands below to create a secret in Key Vault called ExamplePassword with the value hVFkk965BuUv :

$secret = Set-AzKeyVaultSecret -VaultName 'Contoso-Vault2' -Name 'ExamplePassword' -SecretValue $secretvalue

Récupérer un secret à partir de Key VaultRetrieve a secret from Key Vault

Pour afficher sous forme de texte brut la valeur contenue dans le secret :To view the value contained in the secret as plain text:

$secret = Get-AzKeyVaultSecret -VaultName 'Contoso-Vault2' -Name 'ExamplePassword'
$ssPtr = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($secret.SecretValue)
try {
   $secretValueText = [System.Runtime.InteropServices.Marshal]::PtrToStringBSTR($ssPtr)
} finally {
   [System.Runtime.InteropServices.Marshal]::ZeroFreeBSTR($ssPtr)
}
Write-Output $secretValueText

Vous venez de créer un coffre de clés, d’y stocker un secret et de récupérer ce dernier.Now, you have created a Key Vault, stored a secret, and retrieved it.

Nettoyer les ressourcesClean up resources

D’autres guides de démarrage rapide et didacticiels de cette collection reposent sur ce guide.Other quickstarts and tutorials in this collection build upon this quickstart. Si vous prévoyez d’utiliser d’autres démarrages rapides et didacticiels, il peut être utile de conserver ces ressources.If you plan to continue on to work with other quickstarts and tutorials, you may want to leave these resources in place.

Quand vous n’en avez plus besoin, vous pouvez utiliser la commande Remove-AzResourceGroup pour supprimer le groupe de ressources, le coffre Key Vault et toutes les ressources associées.When no longer needed, you can use the Remove-AzResourceGroup command to remove the resource group, Key Vault, and all related resources.

Remove-AzResourceGroup -Name ContosoResourceGroup

Étapes suivantesNext steps

Dans ce guide de démarrage rapide, vous avez créé un coffre de clés Key Vault et vous y avez stocké un secret.In this quickstart you created a Key Vault and stored a secret in it. Pour en savoir plus sur Key Vault et sur la manière de l’intégrer à vos applications, consultez les articles ci-dessous.To learn more about Key Vault and how to integrate it with your applications, continue on to the articles below.