Version : 1.2 · Date : 2026-10-21 · Domaine 1 de l'examen : Manage identity, access, and governance (20 à 25 %)
En une phrase : Azure Key Vault garde les clés, les secrets et les certificats hors du code ; on le protège couche par couche (réseau privé, identité Entra, rôle de données minimal, protection contre la suppression, journaux et Defender), et l'on fait tourner ce qu'il contient avant que cela n'expire ou ne fuie.

Ce que l'examen demande#
Repris mot pour mot du guide d'étude SC-500 (section Secure secrets and keys by using Azure Key Vault) :
| # | Compétence mesurée (guide officiel, en anglais) | Section de ce chapitre |
|---|---|---|
| 1 | Deploy Key Vault | 2 |
| 2 | Configure Key Vault settings | 3 |
| 3 | Configure access to Key Vault | 4 |
| 4 | Configure firewall settings on Key Vault | 5 |
| 5 | Manage keys, secrets, and certificates | 6 |
| 6 | Scan for secrets by using Defender Cloud Security Posture Management (Defender CSPM) | 7 |
| 7 | Implement Defender for Key Vault | 8 |
Les sections 9 (journaux, Azure Policy) et 10 (Managed HSM) sont des compléments de l'ancienne AZ-500, utiles en entreprise et souvent cachés dans une question.
1. Les bases à maîtriser#
1.1 Ce que range un Key Vault#
Key Vault est un service PaaS qui stocke et contrôle l'accès à trois types d'objets :
| Objet | Ce que c'est | Exemples | Point clé |
|---|---|---|---|
| Key (clé) | Clé de chiffrement (format JWK) qui ne sort pas du service : on lui demande de chiffrer, signer, envelopper | Clé RSA d'une customer-managed key (CMK) pour le stockage, SQL TDE, les disques | Opérations : encrypt, decrypt, wrapKey, unwrapKey, sign, verify… |
| Secret | Suite d'octets que l'on lit telle quelle | Mot de passe, chaîne de connexion, clé d'API | Taille maximale 25 Ko ; le service ne l'interprète pas |
| Certificate (certificat) | Certificat X.509 avec son cycle de vie (création, renouvellement) | Certificat TLS d'un site, d'une Application Gateway | Crée aussi une clé et un secret du même nom |
Chaque objet est versionné : une modification crée une nouvelle version, l'ancienne reste lisible par son URI avec version.
1.2 Deux types de ressources, deux niveaux#
Vault (vaults) Standard |
Vault Premium | Managed HSM (managedHSMs) |
|
|---|---|---|---|
| Objets | Clés (logicielles), secrets, certificats | Clés logicielles et protégées par HSM, secrets, certificats | Clés uniquement (protégées par HSM) |
| Locataire | Multilocataire | Multilocataire | Monolocataire (cluster dédié) |
| Conformité des clés | FIPS 140-2 niveau 1 (logiciel) | FIPS 140-3 niveau 3 (plateforme HSM 2, toutes les nouvelles clés) | FIPS 140-3 niveau 3 |
| Contrôle d'accès | Azure RBAC ou access policies | Azure RBAC ou access policies | Managed HSM local RBAC |
| Point de terminaison | https://<vault>.vault.azure.net |
idem | https://<hsm>.managedhsm.azure.net |
| Coût | $ | $$ | $$$ |
Piège : le niveau Standard ne fait pas de clés protégées par HSM. Une question qui exige des clés « dans un HSM » pour une CMK appelle Premium (minimum recommandé pour les CMK) ou Managed HSM (souveraineté des clés, monolocataire).
1.3 Plan de contrôle et plan de données#

| Plan de contrôle (control plane) | Plan de données (data plane) | |
|---|---|---|
| Point de terminaison | management.azure.com (Azure Resource Manager) |
<vault>.vault.azure.net |
| Opérations | Créer, supprimer, lire les propriétés, réseau, étiquettes, définir des access policies | Clés, secrets, certificats (get, list, set, encrypt, sign…) |
| Autorisation | Azure RBAC | Azure RBAC ou access policies (héritées) |
| Filtré par le Key Vault firewall | Non | Oui |
Les deux plans authentifient par Microsoft Entra ID ; les contrôles d'accès sont indépendants. Exemple : le rôle Key Vault Contributor gère le Key Vault mais ne donne aucun accès aux secrets.
1.4 Choisir la bonne solution de gestion des clés#
flowchart TD
A[Besoin de stocker une clé, un secret ou un certificat] --> B{Traitement des codes PIN de paiement ?<br/>PCI PIN, cartes}
B -- Oui --> P[Azure Payment HSM]
B -- Non --> C{"Application IaaS existante en PKCS 11,<br/>JCA, CNG, AD CS ou TDE Oracle sur VM ?"}
C -- Oui --> H[Azure Cloud HSM]
C -- Non --> D{Souveraineté des clés, monolocataire,<br/>contrôle de la racine de confiance ?}
D -- Oui --> M[Key Vault Managed HSM<br/>clés uniquement]
D -- Non --> E{Clés protégées par HSM<br/>par exemple pour une CMK ?}
E -- Oui --> K2[Key Vault Premium]
E -- Non --> K1[Key Vault Standard]
| Solution | Modèle | Pour quoi |
|---|---|---|
| Key Vault Standard / Premium | PaaS multilocataire | Chiffrement au repos, CMK, secrets et certificats des applications |
| Key Vault Managed HSM | PaaS monolocataire | Clés de grande valeur, souveraineté, PCI DSS, TLS sans clé (F5, NGINX) ; s'intègre aux services Azure |
| Azure Cloud HSM | Service HSM de style IaaS | Lift-and-shift PKCS#11, AD CS, TDE SQL Server ou Oracle sur VM ; ne s'intègre pas aux services PaaS |
| Azure Payment HSM | HSM de paiement | Codes PIN, autorisation de paiement, PCI PIN |
| En retrait | Support jusqu'au 31 juillet 2028, plus de nouveaux clients ; remplacé par Cloud HSM ou Managed HSM |
2. Déployer Key Vault#
2.1 Les règles de conception#
- Un Key Vault par application, par région et par environnement (dev, préproduction, production) : le Key Vault est une limite de sécurité ; tout mettre dans un seul Key Vault augmente le rayon d'impact d'une compromission.
- Solution SaaS multilocataire : un Key Vault par client.
- Key Vault n'est pas un magasin de configuration (prendre App Configuration) ni de données client (Azure Storage, Cosmos DB).
- Ne pas stocker un certificat en tant que secret : utiliser l'objet Certificate et son renouvellement automatique.
- Nom : 3 à 24 caractères (lettres, chiffres, tirets), unique au monde ; un nom supprimé de façon réversible reste réservé pendant toute la période de rétention.
2.2 Le changement de 2026 : Azure RBAC par défaut#
| Fait | Détail |
|---|---|
Version d'API 2026-02-01 |
Un nouveau Key Vault est créé en Azure RBAC (enableRbacAuthorization = true) par défaut, comme dans le portail |
| Key Vaults existants | Gardent leur modèle ; null (anciennes API) = access policies |
| Garder les access policies sur un nouveau Key Vault | Mettre explicitement enableRbacAuthorization = false (--enable-rbac-authorization false, -DisableRbacAuthorization) |
| Retrait des anciennes API du plan de contrôle | 27 février 2027 |
| Outils minimaux | Azure CLI 2.90.0, Azure PowerShell 16.3.0 |
2.3 Mise en œuvre#
Azure CLI :
az keyvault create \
--name kv-app-prd-frc --resource-group rg-app-prd --location francecentral \
--sku premium \
--enable-rbac-authorization true \
--enable-purge-protection true \
--retention-days 90 \
--public-network-access Disabled
Azure PowerShell :
New-AzKeyVault -Name "kv-app-prd-frc" -ResourceGroupName "rg-app-prd" -Location "francecentral" `
-Sku Premium -EnablePurgeProtection -SoftDeleteRetentionInDays 90
Bicep :
resource coffre 'Microsoft.KeyVault/vaults@2026-02-01' = {
name: 'kv-app-prd-frc'
location: 'francecentral'
properties: {
tenantId: subscription().tenantId
sku: { family: 'A', name: 'premium' }
enableRbacAuthorization: true // RBAC Azure (défaut à partir de 2026-02-01, écrit pour être explicite)
enablePurgeProtection: true // irréversible : obligatoire pour les CMK
softDeleteRetentionInDays: 90 // fixé à la création, non modifiable ensuite
publicNetworkAccess: 'Disabled' // accès par private endpoint uniquement
networkAcls: { bypass: 'AzureServices', defaultAction: 'Deny' }
}
}
Terraform (fournisseur azurerm 5.x, arguments vérifiés dans le registre) :
resource "azurerm_key_vault" "app" {
name = "kv-app-prd-frc"
location = "francecentral"
resource_group_name = "rg-app-prd"
tenant_id = data.azurerm_client_config.current.tenant_id
sku_name = "premium"
rbac_authorization_enabled = true # obligatoire en 5.x (s'appelait enable_rbac_authorization en 4.x)
purge_protection_enabled = true
soft_delete_retention_days = 90
public_network_access_enabled = false
network_acls {
bypass = "AzureServices"
default_action = "Deny"
}
}
3. Configurer les paramètres de Key Vault#
3.1 Soft delete et purge protection#
| Paramètre | Défaut | Ce qu'il faut savoir |
|---|---|---|
| Soft delete (suppression réversible) | Activé sur tout nouveau Key Vault | Ne peut plus être désactivé. Key Vault ou objet supprimé récupérable pendant 7 à 90 jours (90 par défaut) |
| Durée de rétention | 90 jours | Choisie à la création, non modifiable ensuite ; la même durée vaut pour la purge protection |
| Purge protection (protection contre le vidage) | Désactivée | Une fois activée, impossible à désactiver. Plus personne (ni l'organisation, ni Microsoft) ne peut purger avant la fin de la rétention |
| Purger (supprimer définitivement) | — | Exige l'autorisation purge : rôle Key Vault Purge Operator ou Owner de l'abonnement |
stateDiagram-v2
state "Actif" as A
state "Soft-deleted, 7 à 90 jours" as S
state "Supprimé définitivement" as P
A --> S : supprimer
S --> A : récupérer
S --> P : purger, interdit si purge protection
S --> P : fin de la période de rétention
Pièges :
- La plupart des services qui utilisent une customer-managed key (Azure Storage, Azure Backup, Azure AI services…) exigent le soft delete et la purge protection.
- Quand un Key Vault est supprimé de façon réversible, ses role assignments Azure RBAC et ses Event Grid subscriptions sont supprimés ; la récupération du Key Vault ne les restaure pas.
- Sans soft delete (anciens Key Vaults), supprimer une clé la supprime définitivement : imposer le paramètre par Azure Policy.
az keyvault list-deleted # Key Vaults en soft delete
az keyvault recover --name kv-app-prd-frc # récupérer un Key Vault
az keyvault secret list-deleted --vault-name kv-app-prd-frc
az keyvault secret recover --vault-name kv-app-prd-frc --name sql-password
3.2 Les autres paramètres du Key Vault#
| Paramètre (portail : Access configuration) | Effet |
|---|---|
| Permission model | Azure RBAC (recommandé) ou Vault access policy (héritée) |
Azure Virtual Machines for deployment (enabled_for_deployment) |
Les VM peuvent récupérer des certificats stockés comme secrets |
Azure Resource Manager for template deployment (enabled_for_template_deployment) |
ARM peut lire des secrets pendant un déploiement (paramètre reference d'un modèle) |
Azure Disk Encryption for volume encryption (enabled_for_disk_encryption) |
ADE peut lire les secrets et désenvelopper les clés |
| Networking | Voir section 5 |
| Diagnostic settings | Voir section 9 |
| Certificate contacts | Destinataires des alertes d'expiration des certificats |
4. Configurer l'accès à Key Vault#
4.1 S'authentifier auprès de Key Vault#
| Méthode | Recommandation Microsoft |
|---|---|
| Managed identity de la ressource Azure (VM, App Service, Functions, AKS…) | Recommandée : Azure fait tourner l'identifiant tout seul (voir chapitre 01) |
| Service principal + certificat | Déconseillée : il faut faire tourner le certificat |
| Service principal + secret | Déconseillée : le « secret d'amorçage » est difficile à faire tourner |
sequenceDiagram
participant App as Application (managed identity)
participant E as Microsoft Entra ID
participant KV as Key Vault (plan de données)
App->>E: Demande un jeton pour https://vault.azure.net
E-->>App: Jeton d'accès (aucun secret côté application)
App->>KV: GET /secrets/sql-password + jeton (HTTPS, TLS 1.2 ou 1.3)
KV->>KV: Key Vault firewall, puis rôle Azure RBAC du principal
KV-->>App: Valeur de la dernière version du secret
4.2 Azure RBAC ou access policies#

| Azure RBAC (recommandé) | Access policies (hérité) | |
|---|---|---|
| Plans couverts | Contrôle et données | Données uniquement |
| Qui peut donner l'accès aux données | Owner, User Access Administrator, ou Key Vault Data Access Administrator (limité aux rôles Key Vault) | Quiconque a Microsoft.KeyVault/vaults/write (Contributor, Key Vault Contributor) : il peut s'accorder lui-même l'accès |
| PIM, juste-à-temps | Oui | Non |
| Deny assignments | Oui | Non |
| Étendue | Management group, abonnement, resource group, Key Vault, objet individuel | Key Vault uniquement |
| Limite | Gestion centralisée avec les autres ressources Azure | Jusqu'à 1 024 access policies par Key Vault |
Changer de modèle exige
Microsoft.Authorization/roleAssignments/writesans condition (Owner ou User Access Administrator) ; le Key Vault Data Access Administrator ne peut pas. Passer en RBAC invalide toutes les access policies : attribuer d'abord les rôles équivalents (sinon panne). Guide de migration : Migrate from vault access policy to an Azure role-based access control permission model.
4.3 Les built-in roles du plan de données#
| Rôle | Ce qu'il permet | Cas typique |
|---|---|---|
| Key Vault Administrator | Toutes les opérations de données sur tous les objets ; ne gère ni le Key Vault, ni les attributions | Administrateur du Key Vault (éligible PIM) |
| Key Vault Reader | Lire les métadonnées (pas les valeurs sensibles) | Auditeur |
| Key Vault Secrets Officer | Toute action sur les secrets, sauf gérer les autorisations | Équipe qui gère les secrets |
| Key Vault Secrets User | Lire le contenu des secrets (y compris la partie secrète d'un certificat) | Application, Key Vault reference d'App Service |
| Key Vault Crypto Officer | Toute action sur les clés (dont rotation policy) | Équipe sécurité des clés |
| Key Vault Crypto User | Opérations de chiffrement avec les clés | Application qui chiffre ou signe |
| Key Vault Crypto Service Encryption User | Lire les métadonnées des clés, wrap / unwrap | Managed identity d'un service avec CMK (Azure Storage, Azure SQL, Azure Backup) |
| Key Vault Crypto Service Release User | Libérer une clé (Secure Key Release) pour l'informatique confidentielle | VM confidentielles |
| Key Vault Certificates Officer | Toute action sur les certificats | Équipe PKI |
| Key Vault Certificate User | Lire tout le contenu d'un certificat (partie clé et secret) | Secrets Store CSI Driver d'AKS avec le type cert |
| Key Vault Purge Operator | Purger les Key Vaults supprimés de façon réversible | Opération exceptionnelle |
| Key Vault Data Access Administrator | Ajouter ou retirer les rôles Key Vault ci-dessus (condition ABAC intégrée) | Délégation sans donner Owner |
| Key Vault Contributor (plan de contrôle) | Gérer le Key Vault ; aucun accès aux données | Équipe d'exploitation |
Bonnes pratiques :
- Attribuer les rôles à l'étendue du Key Vault (un Key Vault par application) ; les attributions sur un secret individuel sont réservées à des cas précis (clé SSH personnelle lue via Azure Bastion, secret partagé entre deux applications).
- Une attribution au niveau d'un objet ne donne que la lecture ; réseau, supervision et gestion des objets demandent des droits sur le Key Vault. Les attributions par objet ne suffisent pas à isoler des équipes : un Key Vault par application.
- Rendre les rôles d'administration éligibles dans PIM, avec MFA et approbation ; Conditional Access s'applique aussi.
- Dans les scripts, utiliser l'ID du rôle plutôt que son nom (exemple : Key Vault Secrets User =
4633458b-17de-408a-b874-0445c86b69e6). - ABAC (préversion) : des conditions limitent un rôle, par exemple aux secrets dont le nom suit un modèle ; uniquement pour les actions sur les secrets pour l'instant.
# Donner la lecture des secrets à une managed identity, à l'étendue du Key Vault
az role assignment create --role "Key Vault Secrets User" \
--assignee-object-id <principalId> --assignee-principal-type ServicePrincipal \
--scope /subscriptions/<sub>/resourceGroups/rg-app-prd/providers/Microsoft.KeyVault/vaults/kv-app-prd-frc
# Vérifier le permission model de tous les Key Vaults d'un abonnement (lecture seule)
az keyvault list --query "[].{nom:name, rbac:properties.enableRbacAuthorization}" --output table
Custom role (actions de données, donc DataActions) :
{
"Name": "Backup Keys Operator",
"Description": "Sauvegarder et restaurer les clés",
"Actions": [],
"DataActions": [
"Microsoft.KeyVault/vaults/keys/read",
"Microsoft.KeyVault/vaults/keys/backup/action",
"Microsoft.KeyVault/vaults/keys/restore/action"
],
"NotDataActions": [],
"AssignableScopes": ["/subscriptions/{subscriptionId}"]
}
5. Configurer le pare-feu et le réseau#

5.1 Les options, de la plus restrictive à la plus ouverte#
| Configuration | Ce qui passe | Quand |
|---|---|---|
| Accès public désactivé + private endpoint | Le trafic par Private Link ; les trusted Microsoft services si l'exception est cochée | Cible pour la production |
| Network Security Perimeter (NSP) en mode Enforced | Ce que les règles du périmètre autorisent ; le private endpoint n'est pas soumis au périmètre ; l'exception trusted services ne s'applique plus | Isoler un ensemble de PaaS (Key Vault, Azure Storage, Azure SQL) |
| Allow public access from specific virtual networks and IP addresses (pare-feu activé) | IPv4 publiques listées ; sous-réseaux avec service endpoint Microsoft.KeyVault |
Pas de private endpoint possible |
| Allow public access from all networks (pare-feu désactivé, défaut) | Tout réseau ; l'accès reste soumis à Entra ID et aux autorisations | À éviter en production |
Limites et règles :
- 200 virtual network rules et 1 000 règles IPv4 au maximum ; IPv4 uniquement.
- Les règles IP n'acceptent que des IP publiques (pas de 10.x, 172.16-31.x, 192.168.x) : depuis un réseau privé, utiliser un service endpoint ou un private endpoint.
- L'activation d'un service endpoint sur un sous-réseau peut prendre jusqu'à 15 minutes.
- Le pare-feu filtre aussi le portail : un administrateur hors des réseaux autorisés voit le Key Vault mais ne peut pas lister les secrets.
- Le pare-feu ne filtre que le plan de données : créer un Key Vault, changer le réseau, ou déployer un secret par un modèle ARM
(qui passe par
management.azure.com) n'est pas bloqué.
5.2 Les trusted Microsoft services#
L'exception Allow trusted Microsoft services to bypass this firewall (--bypass AzureServices) laisse passer une
liste fermée de services dont tout le code est contrôlé par Microsoft. Exemples : Azure Storage, Azure SQL Database (TDE avec CMK),
Azure Backup, Azure Disk Encryption, Azure Disk Storage (Disk Encryption Set), Application Gateway, API Management,
Front Door, Azure Firewall Premium, Azure Policy, ARM template deployment, Event Hubs, Service Bus, Azure Container Registry,
Azure Monitor (cluster Log Analytics avec CMK).
Pièges : Azure DevOps n'est pas un trusted service (on peut y exécuter du code personnalisé) : il lui faut une règle IP, une règle VNet ou un private endpoint. App Service n'est approuvé que pour le déploiement de certificats ; pour les Key Vault references, il faut la VNet integration. Un trusted service doit toujours présenter un jeton Entra et avoir un rôle sur le Key Vault. L'exception continue de s'appliquer quand l'accès public est désactivé, mais pas avec un Network Security Perimeter en mode Enforced.
5.3 Le private endpoint et le DNS#
- Créer le private endpoint (Target sub-resource
vault) dans un sous-réseau du VNet. - Intégrer la Private DNS zone
privatelink.vaultcore.azure.net, liée au VNet, avec un enregistrement A au nom simple du Key Vault (exemplekv-app-prd-frc) qui pointe vers l'IP privée. - Depuis le VNet,
nslookup kv-app-prd-frc.vault.azure.netdoit renvoyer l'IP privée (aliaskv-app-prd-frc.privatelink.vaultcore.azure.net). - Désactiver l'accès public une fois la connexion validée.
- Depuis un réseau local : redirecteurs conditionnels pour
vault.azure.netetvaultcore.azure.netvers un Azure DNS Private Resolver.
États d'une private endpoint connection : Pending (demande manuelle), Approved, Rejected, Disconnected.
Même accès public désactivé, le nom du Key Vault reste résolu publiquement (CNAME vers
privatelink.vaultcore.azure.net) : c'est voulu et cela ne révèle ni l'IP privée ni les données. Ne pas mettre d'informations sensibles dans le nom du Key Vault.
# Pare-feu : refuser par défaut, autoriser un sous-réseau et une IP publique, garder les trusted services
az network vnet subnet update -g rg-app-prd --vnet-name vnet-app --name snet-app --service-endpoints "Microsoft.KeyVault"
az keyvault network-rule add -g rg-app-prd --name kv-app-prd-frc --subnet <id-sous-réseau>
az keyvault network-rule add -g rg-app-prd --name kv-app-prd-frc --ip-address "191.10.18.0/24"
az keyvault update -g rg-app-prd --name kv-app-prd-frc --default-action Deny --bypass AzureServices
# Private endpoint, puis fermeture de l'accès public
az network private-endpoint create -g rg-app-prd --vnet-name vnet-app --subnet snet-pe --name pe-kv-app \
--private-connection-resource-id <id-du-coffre> --group-ids vault --connection-name kv-app
az keyvault update -g rg-app-prd --name kv-app-prd-frc --public-network-access Disabled
6. Gérer les clés, les secrets et les certificats#
6.1 Les clés#
| Type | Tailles ou courbes | Niveau |
|---|---|---|
| RSA (logicielle) | 2048, 3072, 4096 bits | Standard et Premium |
| EC (logicielle) | P-256, P-384, P-521, P-256K | Standard et Premium |
| RSA-HSM | 2048, 3072, 4096 bits | Premium |
| EC-HSM | P-256, P-384, P-521, P-256K | Premium |
| oct-HSM (symétrique AES) | 128, 192, 256 bits | Premium (préversion), Managed HSM |
- Une HSM-protected key n'est pas exportable.
- Bonne pratique Microsoft : faire tourner une clé de chiffrement au moins tous les deux ans.
- Les débits sont limités par Key Vault et par région sur 10 secondes (exemple : 4 000 GET de clé logicielle RSA 2048 ; 2 000 pour une clé HSM RSA 2048 ; 250 pour une HSM RSA 4096) ; au-delà, le service répond HTTP 429 (throttling). La limite d'abonnement vaut cinq fois celle du Key Vault.
az keyvault key create --vault-name kv-app-prd-frc --name cmk-stockage --kty RSA-HSM --size 3072
6.2 Les secrets#
- Valeur de 25 Ko maximum, chiffrée au repos par une hiérarchie de clés protégée par des modules validés FIPS.
contentType(255 caractères) pour indiquer la nature du secret (mot de passe, chaîne de connexion…) ; jusqu'à 15 tags.- Attributs
exp(expiration),nbf(pas avant),enabled.expetnbfsont informatifs : un get fonctionne même sur un secret expiré (utile en récupération) ; c'est Azure Policy ou le code qui doivent faire respecter l'expiration. - Ne jamais passer la valeur en clair dans la ligne de commande ou le code : la lire d'un fichier ou d'une variable protégée.
az keyvault secret set --vault-name kv-app-prd-frc --name sql-password \
--file ./sql-password.txt --content-type "mot de passe" --expires 2027-04-30T00:00:00Z
6.3 Les certificats#
- À la création d'un certificat, Key Vault crée une clé adressable et un secret du même nom : la clé sert aux opérations (signer…), le secret permet de récupérer le certificat (PFX ou PEM) avec la clé privée si la stratégie la dit exportable.
- La certificate policy décrit : sujet et SAN, type et taille de clé, exportable ou non, réutilisation de la clé au
renouvellement, lifetime actions (déclencheur en jours avant expiration ou en pourcentage de durée de vie ; action
emailContactsouautoRenew), émetteur. - Émetteurs partenaires avec renouvellement automatique : DigiCert et GlobalSign. Une autre autorité est possible, mais sans renouvellement automatique. Autosigné : régénéré automatiquement.
- Les Certificate contacts sont communs à tout le Key Vault.
az keyvault certificate create --vault-name kv-app-prd-frc --name cert-site \
--policy "$(az keyvault certificate get-default-policy)"
6.4 La rotation automatique#

| Objet | Mécanisme | À retenir |
|---|---|---|
| Clé | Rotation policy native : nouvelle version créée à un moment donné après la création ou avant l'expiration ; notification d'expiration proche par Event Grid | Intervalle minimum 7 jours ; rôle Key Vault Crypto Officer ; chaque rotation planifiée est facturée ; les services doivent utiliser l'URI de clé sans version |
| Secret | Event Grid (SecretNearExpiry, 30 jours avant) qui déclenche une Azure Function : elle change le mot de passe dans le service cible puis écrit une nouvelle version |
Deux modèles : un jeu d'identifiants, ou deux jeux (alternance) |
| Certificat | Renouvellement automatique par l'émetteur (pourcentage de durée de vie ou jours avant expiration) | Notifications par e-mail aux contacts |
Exemple de rotation policy (rotation à 18 mois, expiration à 2 ans, notification 30 jours avant) :
{
"lifetimeActions": [
{ "trigger": { "timeAfterCreate": "P18M" }, "action": { "type": "Rotate" } },
{ "trigger": { "timeBeforeExpiry": "P30D" }, "action": { "type": "Notify" } }
],
"attributes": { "expiryTime": "P2Y" }
}
az keyvault key rotation-policy update --vault-name kv-app-prd-frc --name cmk-stockage --value ./policy.json
az keyvault key rotate --vault-name kv-app-prd-frc --name cmk-stockage # rotation à la demande
La rotation d'une CMK réenveloppe les clés de chiffrement des données (DEK) avec la nouvelle version : les données ne sont pas rechiffrées. Garder l'ancienne version activée jusqu'à la fin du réenveloppement ; selon le service, la nouvelle version est prise en compte en 1 à 24 heures ou plus.
Événements Event Grid publiés par un Key Vault (il faut s'abonner sur le Key Vault) :
| Événement | Déclenché quand |
|---|---|
SecretNewVersionCreated, KeyNewVersionCreated, CertificateNewVersionCreated |
Nouvel objet ou nouvelle version |
SecretNearExpiry, CertificateNearExpiry |
30 jours avant l'expiration de la version courante |
KeyNearExpiry |
Délai réglé dans la rotation policy |
SecretExpired, KeyExpired, CertificateExpired |
Version courante expirée |
VaultAccessPolicyChanged |
Access policy modifiée, y compris le passage vers ou depuis Azure RBAC |
6.5 Les customer-managed keys (CMK) et le BYOK#

Principe de l'envelope encryption (chiffrement d'enveloppe) : le service (Azure Storage, Azure SQL, disques managés…) chiffre les données avec une DEK (data encryption key) ; la KEK (key encryption key) gardée dans Key Vault enveloppe la DEK. Le service passe par sa managed identity (rôle Key Vault Crypto Service Encryption User, ou en access policy : get, wrapKey, unwrapKey).
Exigences pour une CMK d'Azure Storage : soft delete et purge protection ; clé RSA ou RSA-HSM de 2048, 3072 ou 4096 bits ; à la création du compte, il faut une managed identity user-assigned. Azure SQL TDE n'accepte que 2048 ou 3072 bits.
BYOK (Bring Your Own Key) : importer dans Key Vault une clé générée dans un HSM local, sans qu'elle existe jamais en clair hors d'un HSM.
sequenceDiagram
actor A as Administrateur
participant KV as Key Vault Premium ou Managed HSM
participant H as HSM local (outil BYOK du fabricant)
A->>KV: 1. Crée la KEK (RSA-HSM, opération import uniquement)
KV-->>A: 2. Clé publique de la KEK (fichier .pem)
A->>H: 3. Enveloppe la clé cible avec la KEK publique
H-->>A: Fichier de transfert .byok
A->>KV: 4. az keyvault key import --byok-file
Note over KV: La clé cible n'a jamais existé en clair hors d'un HSM
6.6 Consommer les secrets sans les copier#
Key Vault references dans App Service, Azure Functions et Logic Apps (Standard) :
@Microsoft.KeyVault(SecretUri=https://kv-app-prd-frc.vault.azure.net/secrets/sql-password)
@Microsoft.KeyVault(VaultName=kv-app-prd-frc;SecretName=sql-password)
- L'application utilise par défaut son identité system-assigned ; pour une identité user-assigned,
renseigner
keyVaultReferenceIdentity. - Rôle Key Vault Secrets User (ou Get sur les secrets en access policy).
- Sans version dans la référence : la dernière version est prise dans les 24 heures (cache) ; une modification de la
configuration ou l'API
config/configreferences/appsettings/refreshforce la relecture. - Key Vault fermé au réseau : l'application doit sortir par la VNet integration (sur Linux,
vnetRouteAllEnabledsauf plan Flex Consumption) ; ne pas compter sur ses IP sortantes publiques. - Si la référence ne se résout pas, la chaîne
@Microsoft.KeyVault(...)elle-même est passée à l'application.
AKS : le fournisseur Azure Key Vault du Secrets Store CSI Driver monte les secrets dans le pod (SecretProviderClass),
avec une workload identity ou une managed identity (détails au chapitre 09).
6.7 Sauvegarder et restaurer#
- Sauvegarde objet par objet (pas de sauvegarde d'un Key Vault entier) ; le fichier est chiffré et ne se restaure que dans un Key Vault du même abonnement et de la même geography Azure.
- Au plus 500 versions par objet sauvegardé.
- Microsoft conseille de ne sauvegarder que sur besoin réel (déplacement, exigence réglementaire, région sans réplication) : redondance automatique et soft delete suffisent le plus souvent.
- Une copie restaurée est indépendante : désactiver ou purger l'original n'a aucun effet sur elle. Surveiller
KeyBackup,KeyRestore,SecretBackup,SecretRestore,CertificateBackupdans les journaux.
Réponse à la compromission d'une clé (piège : ne pas désactiver tout de suite) :
flowchart LR
A[Clé suspectée compromise] --> B[Contenir : retirer les droits<br/>backup et restore, lire les journaux]
B --> C[Créer une NOUVELLE clé<br/>dans un Key Vault distinct]
C --> D[Reconfigurer les services<br/>dépendants vers la nouvelle clé]
D --> E[Vérifier que tout fonctionne]
E --> F[Seulement alors désactiver<br/>l'ancienne clé]
Désactiver trop tôt met hors service tout ce qui en dépend (bases TDE inaccessibles, storage accounts en erreur, VM ADE qui ne démarrent plus), sans gêner un attaquant qui aurait restauré une copie ailleurs.
7. Rechercher les secrets exposés avec Defender CSPM#

Les attaquants cherchent des secrets en clair (fichiers, disques de VM, conteneurs, déploiements) pour se déplacer latéralement. Defender for Cloud les trouve sans agent :
| Type d'analyse | Ce qui est analysé | Plan requis |
|---|---|---|
| Machines | Disques de VM multicloud (Azure, AWS, GCP), par snapshots, sans impact sur la VM | Defender CSPM ou Defender for Servers Plan 2 |
| Cloud deployment resources | Déploiements ARM, stacks CloudFormation (API du plan de contrôle) | Defender CSPM |
| Code repositories | Dépôts Azure DevOps (DevOps security) | Defender CSPM |
Prérequis pour les machines : l'agentless scanning for machines activé. Rôles pour consulter : Security Reader, Security Admin, Reader, Contributor ou Owner.
Où voir les résultats :
- Recommendations (security control Remediate vulnerabilities) : Machines should have secrets findings resolved, Azure Resource Manager deployments should have secrets findings resolved (et équivalents AWS, GCP) ;
- Inventory ;
- Cloud security explorer (requêtes sur le cloud security graph, templates intégrés) ;
- Attack paths (un secret exposé qui mène à une ressource critique).
Secrets détectés (extrait) : clés privées SSH, chaînes de connexion Azure SQL, PostgreSQL, MySQL, Cosmos DB, chaînes de connexion et SAS tokens de stockage, clés d'accès AWS, client secrets Entra ID, personal access tokens Azure DevOps et GitHub, clés d'API OpenAI. Le moteur vérifie si une clé SSH permet réellement un mouvement latéral ; sinon elle est classée unverified. Remédiation : supprimer le secret, appliquer le moindre privilège, le déplacer dans Key Vault, préférer des secrets courts (SAS token plutôt que chaîne de connexion).
8. Implémenter Defender for Key Vault#
8.1 Activer le plan#
Prérequis : Defender for Cloud sur l'abonnement. Portail : Defender for Cloud > Environment settings > abonnement > Defender
plans > Key Vault = On. Le plan s'appelle KeyVaults dans l'API.
az security pricing create --name KeyVaults --tier standard
Le workbook Coverage de Defender for Cloud montre quels plans sont actifs sur quels abonnements.
8.2 Les alertes#
Defender for Key Vault analyse les accès et lève des alertes (page Security du Key Vault, page Security alerts de Defender for Cloud, e-mail facultatif) :
| Alerte | Signification | Severity |
|---|---|---|
KV_TORAccess |
Accès depuis un nœud de sortie TOR | Moyenne |
KV_SuspiciousIPAccess |
Accès réussi depuis une IP jugée suspecte par Microsoft Threat Intelligence | Moyenne |
KV_ListGetAnomaly |
Liste anormale des secrets suivie de lectures (vidage des secrets) | Moyenne |
KV_PutGetAnomaly |
Modification anormale de la access policy (VaultPut) suivie de lectures de secrets | Moyenne |
KV_OperationVolumeAnomaly |
Volume anormal d'opérations | Moyenne |
KV_AppAnomaly, KV_UserAnomaly, KV_UserAppAnomaly |
Application, utilisateur ou couple inhabituel | Moyenne |
KV_AccountVolumeAnomaly |
Un compte accède à un nombre anormal de Key Vaults | Moyenne |
KV_UserAccessDeniedAnomaly, KV_AccountVolumeAccessDeniedAnomaly, KV_SuspiciousIPAccessDenied |
Tentatives refusées inhabituelles | Low |
Tester : accéder au Key Vault depuis le navigateur TOR déclenche une alerte après un certain délai.
8.3 Répondre à une alerte#
- Identifier la source : le trafic vient-il du locataire ? Une alerte peut porter une IP Microsoft (les VM Azure ont des IP Microsoft) : enquêter quand même. Ne pas ignorer une alerte parce que l'on connaît l'utilisateur : le but est de détecter le vol d'identifiants.
- Répondre : IP inconnue → activer le Key Vault firewall ; application ou utilisateur suspect → retirer ou réduire son accès ; rôle Entra en cause → voir avec l'administrateur.
- Mesurer l'impact : liste des secrets consultés et horodatage dans l'alerte, diagnostic logs.
- Agir : faire tourner immédiatement les secrets, clés et certificats consultés, les désactiver ou les supprimer, auditer les applications qui les utilisaient.
Une suppression rule peut réduire le bruit d'une alerte connue et légitime.
9. Journalisation et gouvernance#
9.1 Les journaux (Complément AZ-500)#
- Diagnostic setting sur le Key Vault, catégorie
AuditEvent(groupes audit et allLogs), vers Log Analytics, un storage account (conteneurinsights-logs-auditevent) ou Event Hubs. Journaux disponibles en 10 minutes au plus. - Dans Log Analytics : table
AzureDiagnostics(mode historique) ou tables spécifiquesAZKVAuditLogsetAZKVPolicyEvaluationDetailsLogs. - Noms d'opérations au format ObjetVerbe :
VaultPut,SecretGet,SecretList,KeySign,KeyRotateIfDue,CertificateRenew,SecretNearExpiryEventGridNotification… - L'Activity log d'Azure, lui, ne voit que le plan de contrôle.
az monitor diagnostic-settings create --name diag-kv --resource <id-du-coffre> \
--logs '[{"category": "AuditEvent","enabled": true}]' --workspace <id-espace-log-analytics>
// Qui lit ou liste les secrets, et avec quel résultat ?
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.KEYVAULT"
| where OperationName in ("SecretGet", "SecretList")
| summarize nb = count() by CallerIPAddress, OperationName, ResultSignature
La même question sur la table spécifique AZKVAuditLogs (colonnes documentées OperationName, CallerIpAddress, Identity,
HttpStatusCode, IsRbacAuthorized) :
AZKVAuditLogs
| where OperationName in ("SecretGet", "SecretList")
| summarize nb = count() by CallerIpAddress, OperationName, HttpStatusCode, IsRbacAuthorized
9.2 Azure Policy pour Key Vault#
| Built-in policy definition | Effets |
|---|---|
| Key vaults should have soft delete enabled | Audit, Deny, Disabled |
| Key vaults should have deletion protection enabled (purge protection) | Audit, Deny, Disabled |
| Azure Key Vault should disable public network access | Audit, Deny, Disabled |
| Key Vault secrets should have an expiration date | Audit, Deny, Disabled |
| Secrets should have more than the specified number of days before expiration | Audit, Deny, Disabled |
| Secrets should have the specified maximum validity period | Audit, Deny, Disabled |
| Secrets should have content type set | Audit, Deny, Disabled |
| Keys should be backed by a hardware security module (HSM) | Audit, Deny, Disabled |
| Keys should have a rotation policy ensuring that their rotation is scheduled within the specified number of days after creation | Audit, Disabled |
| Azure Key Vault Managed HSM should have purge protection enabled | Audit, Deny, Disabled |
Les stratégies qui portent sur les objets (secrets, clés) s'évaluent dans le plan de données : Azure Policy scan fait partie des trusted services. L'évaluation d'une nouvelle policy assignment peut prendre jusqu'à 24 heures. Détails sur Azure Policy au chapitre 03.
10. Le Managed HSM (Complément AZ-500)#
- Monolocataire, haute disponibilité, HSM validés FIPS 140-3 niveau 3, clés uniquement (pas de secrets ni de certificats), mêmes API que Key Vault pour les clés.
- Managed HSM local RBAC : les administrateurs du HSM gardent la main que même les Owners de l'abonnement ou du management group ne peuvent pas contourner. Rôles : Managed HSM Administrator, Managed HSM Crypto Officer, Managed HSM Crypto User (crée des clés mais ne peut pas en supprimer), Managed HSM Crypto Service Encryption User (identité d'un service avec CMK).
- Activation par le téléchargement du security domain : au moins 3 et au plus 10 clés publiques RSA, et un quorum (nombre minimal de clés privées pour le déchiffrer, algorithme de partage de secret de Shamir). Sans activation, aucune opération de données n'est possible. Microsoft ne peut pas récupérer le security domain : le perdre peut faire perdre l'accès aux clés.
- Limites : 5 HSM par région et par abonnement, 5 000 clés par HSM, 100 versions par clé.
- Secure Key Release : libérer une clé exportable uniquement vers une charge de travail attestée (informatique confidentielle, lancement approuvé).
- External Key Management : la KEK reste dans un HSM du client hors de Microsoft (dernier recours réglementaire ; le SLA du Managed HSM ne couvre pas la disponibilité de bout en bout).
11. Labs conseillés#
À faire dans un abonnement de test (coût de quelques euros ; tout supprimer à la fin, et ne pas activer la purge protection sur un Key Vault que l'on veut supprimer tout de suite : il resterait réservé pendant la rétention).
Lab 1. Un secret lu sans secret.
- Créer un Key Vault Standard en Azure RBAC, vous donner Key Vault Secrets Officer, créer le secret
sql-password. - Créer une App Service (plan Basic), activer sa system-assigned managed identity.
- Donner Key Vault Secrets User à cette identité, à l'étendue du Key Vault.
- Ajouter le paramètre d'application
DB_PASSWORD = @Microsoft.KeyVault(VaultName=<coffre>;SecretName=sql-password). - Résultat attendu : dans Environment variables, la source du paramètre est la Key Vault reference, marquée d'une coche verte ; retirez le rôle, redémarrez l'application et observez l'erreur de résolution.
Lab 2. Key Vault firewall, private endpoint et DNS.
- Mettre le Key Vault firewall en Selected networks (refus par défaut), sans votre IP : la liste des secrets échoue dans le portail.
- Ajouter votre IP publique : la liste revient.
- Créer un VNet, une petite VM et un private endpoint (
vault) avec la zoneprivatelink.vaultcore.azure.net. - Depuis la VM :
nslookup <coffre>.vault.azure.netrenvoie l'IP privée ; puis désactiver l'accès public. - Résultat attendu : la VM lit le secret, votre poste ne le peut plus.
Lab 3. Soft delete et récupération.
- Supprimer le secret, puis
az keyvault secret list-deleted: il apparaît avec sa date de purge prévue. az keyvault secret recover: il revient avec toutes ses versions.- Supprimer un second Key Vault de test, le retrouver avec
az keyvault list-deleted, le récupérer. - Résultat attendu : le Key Vault revient, mais ses role assignments ont disparu (à recréer).
Lab 4. Rotation d'une clé.
- Créer une clé RSA, définir une rotation policy (JSON de la section 6.4).
az keyvault key rotate, puisaz keyvault key list-versions: une nouvelle version existe.- Résultat attendu : l'URI sans version de la clé pointe vers la nouvelle version.
Lab 5. Journaux et Defender for Key Vault.
- Diagnostic setting
AuditEventvers un Log Analytics workspace (Resource specific). - Activer le plan Defender for Key Vault sur l'abonnement de test.
- Lire le secret plusieurs fois, puis lancer la requête
AZKVAuditLogsde la section 9.1. - Facultatif (test documenté par Microsoft) : accéder au Key Vault depuis le navigateur Tor et attendre l'alerte
KV_TORAccess.
12. Les pièges d'examen#
| Situation dans la question | Réponse attendue | Pourquoi |
|---|---|---|
| Un Contributor lit les secrets d'un Key Vault en access policies | Il s'est accordé une access policy : passer en Azure RBAC | Avec les access policies, vaults/write suffit pour s'accorder les données |
| Donner la gestion du Key Vault sans accès aux secrets | Key Vault Contributor (plan de contrôle) | Aucun accès aux données |
| Une application doit lire un secret, rien d'autre | Managed identity + Key Vault Secrets User à l'étendue du Key Vault | Moindre privilège |
| Azure Storage doit utiliser une CMK du Key Vault | Managed identity + Key Vault Crypto Service Encryption User ; soft delete + purge protection | wrap/unwrap seulement |
| Clés protégées par HSM exigées | Premium ou Managed HSM | Standard = logiciel uniquement |
| Souveraineté des clés, monolocataire, clés uniquement | Managed HSM | Key Vault multilocataire sinon |
| Application PKCS#11 migrée sur VM | Azure Cloud HSM | Le Managed HSM n'offre qu'un PKCS#11 limité |
| Nouveau client qui veut Dedicated HSM | Impossible : retrait, plus de nouveaux clients | Cloud HSM ou Managed HSM |
| Réduire la rétention de soft delete d'un Key Vault existant | Impossible : fixée à la création | Recréer le Key Vault |
| Désactiver la purge protection | Impossible une fois activée | Prévoir avant d'activer |
| Recréer un Key Vault du même nom juste après sa suppression | Bloqué pendant la rétention, sauf purge (interdite avec la protection) | Nom réservé |
| Key Vault récupéré, mais les accès ne marchent plus | Les role assignments et Event Grid subscriptions sont à recréer | Non restaurés |
| Pipeline Azure DevOps bloqué par le pare-feu, Allow trusted Microsoft services coché | DevOps n'est pas un trusted service : règle IP, VNet ou private endpoint | Liste fermée |
| Règle IP avec une adresse 10.0.0.0/16 | Refusée : IP publiques uniquement ; utiliser un service endpoint ou un private endpoint | — |
| Un secret déployé par un modèle ARM malgré le pare-feu | Normal : le plan de contrôle n'est pas filtré | — |
| Private endpoint créé mais le nom renvoie l'IP publique | Zone privatelink.vaultcore.azure.net manquante ou non liée au VNet, enregistrement A absent |
DNS |
| Les trusted services ne passent plus | Le Key Vault est dans un Network Security Perimeter en mode Enforced | L'exception ne s'applique plus |
| Faire tourner une clé automatiquement | Rotation policy (Crypto Officer), URI sans version côté service | Native pour les clés |
| Faire tourner un secret automatiquement | Event Grid (SecretNearExpiry) + Function |
Pas de rotation native des secrets |
| Une application voit encore l'ancien secret après rotation | Référence App Service en cache 24 h (ou référence avec version) | — |
| Trouver des secrets en clair sur des disques de VM et dans des déploiements ARM | Defender CSPM (analyse sans agent) ; VM aussi avec Defender for Servers P2 | — |
| Alerte de vidage des secrets depuis TOR | Defender for Key Vault (KV_TORAccess, KV_ListGetAnomaly) |
Menaces sur le Key Vault |
| Clé compromise : la désactiver tout de suite ? | Non : nouvelle clé, migrer les services, puis désactiver | Éviter la panne ; copie restaurée indépendante |
13. Scénarios d'entraînement#
1. Contoso crée des Key Vaults par Terraform avec une version récente de l'API. L'équipe s'étonne que ses blocs access_policy
ne donnent aucun accès. Pourquoi ?
À partir de l'API
2026-02-01, un nouveau Key Vault est en Azure RBAC par défaut : les access policies sont ignorées. Soit attribuer des rôles RBAC (recommandé), soit mettrerbac_authorization_enabled = false(Terraformazurerm5.x).
2. Une Function App doit lire une chaîne de connexion. Le Key Vault a l'accès public désactivé et un private endpoint. La référence
Key Vault affiche la chaîne @Microsoft.KeyVault(...) au lieu de la valeur. Que vérifier ?
La managed identity de la fonction a-t-elle Key Vault Secrets User ? La fonction sort-elle par la VNet integration (Route All) vers un VNet qui résout
privatelink.vaultcore.azure.net? La syntaxe et le nom du secret sont-ils justes ? Le détecteur Key Vault Application Settings Diagnostics aide.
3. Fabrikam veut chiffrer un storage account avec sa propre clé RSA 4096, créée dans un HSM, et que personne ne puisse purger la clé. Configuration ?
Key Vault Premium (ou Managed HSM), clé RSA-HSM 4096, soft delete et purge protection activées, managed identity user-assigned (création du compte) avec Key Vault Crypto Service Encryption User, rotation policy sur la clé.
4. Un auditeur doit voir la liste des secrets et leurs dates d'expiration, sans jamais lire leur valeur. Quel rôle ?
Key Vault Reader (métadonnées uniquement) à l'étendue du Key Vault.
5. Une équipe sécurité veut savoir si des mots de passe SQL traînent dans des fichiers sur des VM Azure et AWS, et dans les paramètres de déploiements ARM. Quoi activer ?
Le plan Defender CSPM avec l'agentless scanning for machines ; consulter les recommandations secrets findings resolved, le Cloud security explorer et les Attack paths, puis déplacer les secrets dans Key Vault.
6. Une alerte KV_ListGetAnomaly concerne un service principal de production. L'équipe applicative dit « c'est nous ». Que
faire ?
Ne pas ignorer : vérifier avec le propriétaire que l'activité est légitime (le but est de détecter un vol d'identifiants) ; sinon couper l'accès du principal, lister les secrets lus, les faire tourner. Si l'activité est confirmée légitime et récurrente, créer une suppression rule.
7. Après la suppression accidentelle d'un Key Vault, l'administrateur le récupère ; les applications reçoivent des erreurs 403. Pourquoi ?
Le soft delete du Key Vault a supprimé ses role assignments Azure RBAC (et Event Grid subscriptions) : la récupération ne les restaure pas. Il faut les recréer (d'où l'intérêt de l'IaC).
8. Le pipeline Azure DevOps (agents hébergés par Microsoft) doit lire un secret d'un Key Vault dont le pare-feu refuse par défaut, avec l'exception trusted Microsoft services. Il échoue. Solution ?
Azure DevOps n'est pas un trusted service. Utiliser des agents auto-hébergés dans un VNet avec private endpoint (ou service endpoint), ou autoriser des IP publiques fixes ; l'identité du pipeline (fédération, chapitre 01) a besoin de Key Vault Secrets User.
14. Pour aller plus loin (au-delà de l'examen)#
- Chiffrement côté client et TLS sans clé avec les bibliothèques Key Vault (la clé privée ne quitte jamais le HSM).
- Cryptographie post-quantique : les clés symétriques AES 256 bits (oct-HSM) sont considérées comme résistantes aux attaques quantiques.
- Multilocataire : un Key Vault par client et le guide d'architecture La multilocation et Azure Key Vault.
- Conditional Access : Key Vault le prend en charge (emplacement, appareil) pour les accès des utilisateurs.
- Key Vault VM extension (Windows, Linux) pour déployer et renouveler des certificats sur des VM.
- Microsoft Sentinel : règles d'analyse sur
AZKVAuditLogs(lecture massive de secrets, changement de permission model), voir le chapitre 11. - Épingler les clients en TLS 1.2 ou 1.3 et surveiller les versions TLS dans les journaux.
15. Fiche à retenir#
- Key Vault = clés, secrets (25 Ko), certificats ; Managed HSM = clés uniquement, monolocataire, FIPS 140-3 niveau 3.
- Standard = clés logicielles ; Premium = clés protégées par HSM (minimum recommandé pour les CMK).
- Un Key Vault par application, région et environnement ; nom 3 à 24 caractères, unique au monde.
- API
2026-02-01: Azure RBAC par défaut sur les nouveaux Key Vaults ; anciennes API retirées le 27/02/2027. - Plan de contrôle (ARM, Azure RBAC, pas filtré par le pare-feu) ≠ plan de données (
vault.azure.net, filtré). - Access policies : un Contributor peut s'accorder les secrets ; RBAC : seuls Owner, User Access Administrator, Key Vault Data Access Administrator.
- Rôles clés : Secrets User (lire), Crypto Service Encryption User (CMK), Crypto Officer (rotation), Reader (métadonnées), Contributor (gestion, pas de données).
- Soft delete toujours actif, 7 à 90 jours (90), fixé à la création ; purge protection désactivée par défaut, irréversible, exigée par les CMK.
- Récupérer un Key Vault ne restaure ni les rôles RBAC ni Event Grid.
- Pare-feu : 200 règles VNet, 1 000 règles IPv4, IP publiques et IPv4 uniquement ; trusted services (pas Azure DevOps) ; NSP en Enforced = plus d'exception.
- Private endpoint : sous-ressource
vault, zoneprivatelink.vaultcore.azure.netliée au VNet ; accès public désactivé ensuite. - Rotation : clés = rotation policy (min 7 jours, Crypto Officer, facturée) ; secrets = Event Grid + Function ; certificats = autoRenew (DigiCert, GlobalSign).
-
SecretNearExpiry/CertificateNearExpiry: 30 jours avant ; références App Service : cache 24 h. - Sauvegarde objet par objet, même abonnement et même zone géographique, 500 versions max ; copie restaurée indépendante.
- Defender CSPM : secrets en clair sur VM (aussi Defender for Servers P2), déploiements ARM, dépôts Azure DevOps.
- Defender for Key Vault (plan
KeyVaults) : TOR, IP suspecte, vidage de secrets, anomalies ; répondre puis faire tourner. - Journaux : catégorie AuditEvent ; tables
AzureDiagnosticsouAZKVAuditLogs.
Références#
Toutes lues le 21/10/2026 sur Microsoft Learn :
- Guide d'étude de l'examen SC-500
- Concepts de base d'Azure Key Vault
- Sécuriser votre Azure Key Vault
- Azure RBAC pour les opérations de plan de données Key Vault
- Azure RBAC et access policies (héritées)
- Azure RBAC comme modèle de contrôle d'accès par défaut (API 2026-02-01)
- Vue d'ensemble du soft delete
- Configurer la sécurité réseau pour Azure Key Vault
- Service endpoints et trusted services
- Intégrer Key Vault à Azure Private Link
- À propos des clés
- Informations sur les secrets
- À propos des certificats
- Comprendre l'autorotation dans Azure Key Vault
- Configurer la rotation automatique des clés
- Azure Key Vault comme source Event Grid
- Spécification BYOK
- Customer-managed keys pour le chiffrement du Stockage Azure
- Key Vault references dans App Service, Functions et Logic Apps
- Sauvegarde et restauration Azure Key Vault
- Limites du service Azure Key Vault
- Journalisation Azure Key Vault
- Référence de la table AZKVAuditLogs
- Référence Azure CLI : az keyvault, az keyvault secret, az security pricing
- Définitions Azure Policy intégrées pour Key Vault
- Protection des secrets dans Defender for Cloud
- Vue d'ensemble de Microsoft Defender for Key Vault
- Alertes pour Azure Key Vault
- Qu'est-ce qu'Azure Key Vault Managed HSM ?
- Domaine de sécurité du Managed HSM
- Choisir la solution de gestion des clés Azure
- Migrer depuis Azure Dedicated HSM
- Registre Terraform : azurerm_key_vault (fournisseur 5.10.0)