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.
Azure Key Vault est un service cloud qui fournit un magasin sécurisé pour les secrets, tels que les clés, les mots de passe, les certificats et d’autres secrets. Ce guide de démarrage rapide se concentre sur le processus de déploiement d’un modèle Azure Resource Manager (modèle ARM) pour créer un coffre de clés et un secret.
Un modèle Azure Resource Manager est un fichier JSON (JavaScript Object Notation) qui définit l’infrastructure et la configuration de votre projet. Le modèle utilise la syntaxe déclarative. Vous décrivez votre déploiement prévu sans écrire la séquence de commandes de programmation pour créer le déploiement.
Si votre environnement remplit les prérequis et que vous êtes déjà familiarisé avec l’utilisation des modèles ARM, sélectionnez le bouton Déployer sur Azure. Le modèle s’ouvre dans le portail Azure.
Prerequisites
Pour terminer cet article :
Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
Votre ID d’objet utilisateur Microsoft Entra est nécessaire par le modèle pour configurer les autorisations. La procédure suivante obtient l’ID d’objet (GUID).
Exécutez la commande Azure PowerShell ou Azure CLI suivante en sélectionnant Essayer, puis collez le script dans le volet d’interpréteur de commandes. Pour coller le script, cliquez avec le bouton droit dans l’interpréteur de commandes, puis sélectionnez Coller.
echo "Enter your email address that is used to sign in to Azure:" && read upn && az ad user show --id $upn --query "Id" && echo "Press [ENTER] to continue ..."Notez l’ID d’objet. Vous en avez besoin dans la section suivante de ce guide de démarrage rapide.
Vérifier le modèle
Le modèle utilisé dans ce démarrage rapide est tiré des modèles de démarrage rapide Azure.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.26.54.24096",
"templateHash": "8629186205194254058"
}
},
"parameters": {
"keyVaultName": {
"type": "string",
"metadata": {
"description": "Specifies the name of the key vault."
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Specifies the Azure location where the key vault should be created."
}
},
"enabledForDeployment": {
"type": "bool",
"defaultValue": false,
"metadata": {
"description": "Specifies whether Azure Virtual Machines are permitted to retrieve certificates stored as secrets from the key vault."
}
},
"enabledForDiskEncryption": {
"type": "bool",
"defaultValue": false,
"metadata": {
"description": "Specifies whether Azure Disk Encryption is permitted to retrieve secrets from the vault and unwrap keys."
}
},
"enabledForTemplateDeployment": {
"type": "bool",
"defaultValue": false,
"metadata": {
"description": "Specifies whether Azure Resource Manager is permitted to retrieve secrets from the key vault."
}
},
"tenantId": {
"type": "string",
"defaultValue": "[subscription().tenantId]",
"metadata": {
"description": "Specifies the Azure Active Directory tenant ID that should be used for authenticating requests to the key vault. Get it by using Get-AzSubscription cmdlet."
}
},
"objectId": {
"type": "string",
"metadata": {
"description": "Specifies the object ID of a user, service principal or security group in the Azure Active Directory tenant for the vault. The object ID must be unique for the list of access policies. Get it by using Get-AzADUser or Get-AzADServicePrincipal cmdlets."
}
},
"keysPermissions": {
"type": "array",
"defaultValue": [
"list"
],
"metadata": {
"description": "Specifies the permissions to keys in the vault. Valid values are: all, encrypt, decrypt, wrapKey, unwrapKey, sign, verify, get, list, create, update, import, delete, backup, restore, recover, and purge."
}
},
"secretsPermissions": {
"type": "array",
"defaultValue": [
"list"
],
"metadata": {
"description": "Specifies the permissions to secrets in the vault. Valid values are: all, get, list, set, delete, backup, restore, recover, and purge."
}
},
"skuName": {
"type": "string",
"defaultValue": "standard",
"allowedValues": [
"standard",
"premium"
],
"metadata": {
"description": "Specifies whether the key vault is a standard vault or a premium vault."
}
},
"secretName": {
"type": "string",
"metadata": {
"description": "Specifies the name of the secret that you want to create."
}
},
"secretValue": {
"type": "securestring",
"metadata": {
"description": "Specifies the value of the secret that you want to create."
}
}
},
"resources": [
{
"type": "Microsoft.KeyVault/vaults",
"apiVersion": "2023-07-01",
"name": "[parameters('keyVaultName')]",
"location": "[parameters('location')]",
"properties": {
"enabledForDeployment": "[parameters('enabledForDeployment')]",
"enabledForDiskEncryption": "[parameters('enabledForDiskEncryption')]",
"enabledForTemplateDeployment": "[parameters('enabledForTemplateDeployment')]",
"tenantId": "[parameters('tenantId')]",
"enableSoftDelete": true,
"softDeleteRetentionInDays": 90,
"accessPolicies": [
{
"objectId": "[parameters('objectId')]",
"tenantId": "[parameters('tenantId')]",
"permissions": {
"keys": "[parameters('keysPermissions')]",
"secrets": "[parameters('secretsPermissions')]"
}
}
],
"sku": {
"name": "[parameters('skuName')]",
"family": "A"
},
"networkAcls": {
"defaultAction": "Allow",
"bypass": "AzureServices"
}
}
},
{
"type": "Microsoft.KeyVault/vaults/secrets",
"apiVersion": "2023-07-01",
"name": "[format('{0}/{1}', parameters('keyVaultName'), parameters('secretName'))]",
"properties": {
"value": "[parameters('secretValue')]"
},
"dependsOn": [
"[resourceId('Microsoft.KeyVault/vaults', parameters('keyVaultName'))]"
]
}
],
"outputs": {
"location": {
"type": "string",
"value": "[parameters('location')]"
},
"name": {
"type": "string",
"value": "[parameters('keyVaultName')]"
},
"resourceGroupName": {
"type": "string",
"value": "[resourceGroup().name]"
},
"resourceId": {
"type": "string",
"value": "[resourceId('Microsoft.KeyVault/vaults', parameters('keyVaultName'))]"
}
}
}
Deux ressources Azure sont définies dans le modèle :
- Microsoft.KeyVault/vaults : créez un coffre de clés Azure.
- Microsoft.KeyVault/vaults/secrets : créez un secret de coffre de clés.
Vous trouverez d’autres exemples de modèles Azure Key Vault dans les modèles de démarrage rapide Azure.
Déployer le modèle
Cliquez sur l’image ci-après pour vous connecter à Azure et ouvrir un modèle. Le modèle crée un coffre de clés et un secret.
Sélectionnez ou entrez les valeurs suivantes.
Sauf s’il est spécifié, utilisez la valeur par défaut pour créer le coffre de clés et un secret.
- Abonnement : sélectionnez un abonnement Azure.
- Groupe de ressources : sélectionnez Créer, entrez un nom unique pour le groupe de ressources, puis cliquez sur OK.
- Emplacement : sélectionnez un emplacement. Par exemple, USA Centre.
- Nom du coffre de clés : entrez un nom pour le coffre de clés, qui doit être globalement unique dans l’espace de noms .vault.azure.net. Vous avez besoin du nom dans la section suivante lorsque vous validez le déploiement.
- ID de locataire : la fonction de modèle récupère automatiquement votre ID de locataire. Ne modifiez pas la valeur par défaut.
- ID d’utilisateur publicitaire : entrez votre ID d’objet utilisateur Microsoft Entra que vous avez récupéré à partir des prérequis.
- Nom du secret : entrez un nom pour le secret que vous stockez dans le coffre de clés. Par exemple, adminpassword.
- Valeur secrète : entrez la valeur du secret. Si vous stockez un mot de passe, il est recommandé d’utiliser le mot de passe généré que vous avez créé dans les conditions préalables.
- J’accepte les termes et conditions mentionnés ci-dessus : cochez la case.
Sélectionnez Acheter. Une fois que le Key Vault est déployé avec succès, vous recevez une notification :
Le portail Azure est utilisé pour déployer le modèle. Outre le portail Azure, vous pouvez également utiliser Azure PowerShell, l’interface Azure CLI et l’API REST. Pour découvrir d’autres méthodes de déploiement, consultez Déployer des modèles.
Passer en revue les ressources déployées
Vous pouvez utiliser le portail Azure pour vérifier le coffre de clés et le secret, ou utiliser l’interface de ligne de commande Azure ou le script Azure PowerShell suivant pour répertorier le secret créé.
echo "Enter your key vault name:" &&
read keyVaultName &&
az keyvault secret list --vault-name $keyVaultName &&
echo "Press [ENTER] to continue ..."
Le résultat est similaire à ceci :
Nettoyer les ressources
D’autres guides de démarrage rapide et didacticiels Key Vault s’appuient sur ce guide de démarrage rapide. Si vous avez l'intention de continuer à travailler avec d'autres démarrages rapides et didacticiels, vous pouvez souhaiter laisser ces ressources en place. Quand vous n’en avez plus besoin, supprimez le groupe de ressources, qui supprime le coffre de clés et les ressources associées. Pour supprimer le groupe de ressources avec Azure CLI ou Azure PowerShell :
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."
Étapes suivantes
Dans ce guide de démarrage rapide, vous avez créé un coffre de clés et un secret à l'aide d'un modèle ARM, puis validé le déploiement. Pour en savoir plus sur Key Vault et Azure Resource Manager, passez aux articles ci-dessous.
- Lire un aperçu d’Azure Key Vault
- En savoir plus sur Azure Resource Manager
- Passer en revue la Vue d’ensemble de la sécurité de Key Vault