Version : 1.2 · Date : 2026-10-21 · Domaine 3 de l'examen : Calcul sécurisé (20 à 25 %)
En une phrase : on n'expose aucun port d'administration (Bastion, Just-in-time VM access), on démarre une machine vérifiée (Trusted Launch, confidential VM), on chiffre les disques de bout en bout (encryption at host, clé client), on impose les réglages de l'OS (Machine Configuration), et on surveille posture et menaces partout, y compris hors d'Azure (Defender for Servers, Azure Arc, agentless scanning).

Ce que l'examen demande#
Intitulés officiels, en anglais, du guide d'étude SC-500 :
| # | Compétence mesurée (guide officiel, en anglais) | Section de ce chapitre |
|---|---|---|
| 1 | Implement and configure disk encryption | 2 |
| 2 | Plan and implement Azure Bastion | 3 |
| 3 | Enable and enforce use of just-in-time (JIT) VM access | 4 |
| 4 | Extend security controls to hybrid and multicloud servers by using Azure Arc | 5 |
| 5 | Onboard servers to Defender for Servers in Defender for Cloud, including hybrid and multicloud scenarios | 6 |
| 6 | Configure Defender for Servers settings, including vulnerability scanning, and endpoint detection and response (EDR) | 7 |
| 7 | Implement and manage agentless scanning for VMs in Defender for Servers | 8 |
| 8 | Configure security features on a VM, including secure boot, virtual Trusted Platform Module (vTPM), integrity monitoring, and security type | 9 |
| 9 | Enforce security configuration of Azure-managed servers by using Azure Machine Configuration | 10 |
Les compléments de l'ancienne AZ-500 (connexion Entra ID aux VM, Run Command, Update Manager, images, sauvegarde) sont regroupés en 11.
1. Les bases à maîtriser avant tout#
1.1 Qui protège quoi sur une VM#
Une machine virtuelle est du IaaS : Microsoft protège l'hyperviseur, les hôtes et le réseau physique ; vous êtes responsable du système d'exploitation invité, de ses correctifs, de ses comptes, de ses ports ouverts et des données sur ses disques. Toutes les fonctionnalités de ce chapitre servent à remplir cette part de responsabilité.
1.2 Quel outil pour quel besoin ?#
| Besoin | Outil | Section |
|---|---|---|
| Administrer en RDP/SSH sans IP publique sur les VM | Azure Bastion | 3 |
| Ne pas laisser 3389/22 ouverts en permanence | Just-in-time VM access (JIT), Defender for Servers Plan 2 | 4 |
| Chiffrer disques temporaires, caches et flux | Encryption at host (+ Disk Encryption Set pour une clé client) | 2 |
| Contrôler soi-même la clé des disques | Customer-managed key dans Key Vault ou Managed HSM, via un Disk Encryption Set (DES) | 2.3 |
| Bloquer bootkits et rootkits | Trusted Launch : Secure Boot, vTPM, integrity monitoring | 9 |
| Protéger la mémoire même vis-à-vis de l'hôte | confidential VM (AMD SEV-SNP, Intel TDX) | 9.6 |
| Gérer et protéger des serveurs locaux, AWS ou GCP | Azure Arc + Defender for Servers | 5 |
| EDR, antivirus, vulnérabilités | Defender for Servers (Defender for Endpoint, Defender Vulnerability Management) | 6, 7 |
| Analyser sans installer d'agent | Agentless scanning (instantanés de disques) | 8 |
| Auditer ou imposer des réglages dans l'OS | Azure Machine Configuration (Azure Policy) | 10 |
1.3 Le plan de contrôle peut administrer l'OS#
Piège de fond : sur une VM ou un serveur Arc, quiconque peut déployer une extension ou lancer une Run Command depuis Azure exécute du code avec les privilèges les plus élevés dans l'OS. Microsoft le dit explicitement pour Arc : tout Contributor sur la ressource est un administrateur indirect du serveur. Le RBAC Azure fait donc partie de la sécurité du serveur (voir 03-gouvernance.md).
2. Chiffrement des disques#

2.1 Les quatre options#
| Option | Où se fait le chiffrement | Ce qui est couvert |
|---|---|---|
| Server-side encryption (SSE) du stockage sur disque | Dans le stockage Azure | Disques OS et données, instantanés, images. Toujours actif, AES-256, conforme FIPS 140-2, sans coût ni impact. Ne couvre ni le disque temporaire ni les caches |
| Encryption at host | Sur le serveur Azure qui héberge la VM | Tout ce que couvre SSE plus le disque temporaire, les disques OS éphémères, les caches, et les flux vers le stockage. N'utilise pas le CPU de la VM |
| Azure Disk Encryption (ADE) | Dans l'OS invité (BitLocker sous Windows, DM-Crypt sous Linux) | Volumes OS et données, disque temporaire selon l'option. Utilise le CPU de la VM, clé dans Key Vault, KEK optionnelle |
| Confidential disk encryption | Lié au vTPM d'une confidential VM | Disque OS (temporaire en option) ; seule la VM peut le lire, la clé contourne l'hyperviseur et l'OS de l'hôte |
Date à connaître : Azure Disk Encryption sera retiré le 15 septembre 2028. Après cette date, les disques chiffrés par ADE ne pourront plus être déverrouillés au redémarrage. Microsoft recommande le encryption at host pour les nouvelles VM, ou une confidential VM avec chiffrement du disque OS pour l'informatique confidentielle, et la migration de toutes les VM ADE (sauvegardes comprises) avant cette date. La migration ne se fait pas sur place : elle passe par de nouveaux disques et de nouvelles VM.
Les VM de version 5 et plus récentes (par exemple Dsv5, Dsv6) chiffrent automatiquement au repos leurs disques temporaires et, le cas échéant, leurs disques OS éphémères.
2.2 Le tableau comparatif officiel#
| SSE | Encryption at host | ADE | Disque confidentiel (OS) | |
|---|---|---|---|---|
| Disques OS et données au repos | Oui | Oui | Oui | Oui |
| Disque temporaire | Non | Oui (clés plateforme seulement) | Oui | Oui, sur inscription |
| Caches | Non | Oui | Oui | Oui |
| Flux calcul vers stockage chiffrés | Non | Oui | Oui | Oui |
| Clé client | Oui, avec un DES | Oui, avec un DES | Oui, avec une KEK | Oui, avec un DES |
| HSM | Key Vault Premium, Managed HSM | Key Vault Premium, Managed HSM | Key Vault Premium | Key Vault Premium, Managed HSM |
| N'utilise pas le CPU de la VM | Oui | Oui | Non | Non |
| Images personnalisées | Oui | Oui | Non pour les images Linux personnalisées | Oui |
| Protection renforcée des clés | Non | Non | Non | Oui |
| État dans Defender for Cloud | Non sain | Sain | Sain | Non applicable |
Recommandations Defender for Cloud liées : Virtual machines and virtual machine scale sets should have encryption at host enabled ; Windows (ou Linux) virtual machines should enable Azure Disk Encryption or EncryptionAtHost.
2.3 Customer-managed key et Disk Encryption Set#
Par défaut les disques utilisent des platform-managed keys. Pour contrôler la clé :
- Créer un coffre Key Vault (Premium recommandé pour une clé protégée par HSM) ou un Managed HSM, avec la protection contre le vidage (obligatoire pour chiffrer des disques managés) ; voir 02-key-vault.md.
- Créer une clé RSA 2048, 3072 ou 4096 bits (aucune autre clé n'est prise en charge).
- Créer un Disk Encryption Set (DES) qui pointe vers la clé : il reçoit une system-assigned managed identity.
- Donner à cette identité le droit d'utiliser la clé (encapsuler / désencapsuler).
- Associer les disques au DES (à la création ou après).
Le mécanisme est un chiffrement d'enveloppe : chaque disque est chiffré par une clé de données AES-256 (DEK), elle-même chiffrée par votre clé RSA. Une rotation ne rechiffre donc pas les données, seulement les DEK.
| Règle | Détail |
|---|---|
| Rotation automatique | Activée sur le DES : tous les disques, instantanés et images du DES passent à la nouvelle version en une heure, sans redémarrage des VM |
| Clé désactivée, supprimée ou expirée | Les VM qui utilisent cette clé s'arrêtent automatiquement et ne redémarrent plus tant que la clé n'est pas réactivée ; les E/S échouent en général une heure après |
| Région | Le DES, les disques et le coffre doivent être dans la même région (le coffre peut être dans un autre abonnement, et même un autre locataire avec la fonction inter-locataires) |
| Déplacement | Disques, instantanés et images chiffrés par clé client : pas de déplacement vers un autre abonnement ; changement de groupe de ressources seulement si la VM est désallouée |
| Limites | 5 000 DES par région et par abonnement ; un disque et ses instantanés incrémentiels doivent utiliser le même DES |
| Incompatibilité | Un disque chiffré (aujourd'hui ou par le passé) avec ADE ne peut pas utiliser de clé client SSE |
2.4 Encryption at host#
- Il faut inscrire la fonctionnalité
EncryptionAtHostdu fournisseurMicrosoft.Computesur l'abonnement (cela ne change rien aux VM existantes). - Une VM existante doit être désallouée puis réallouée pour être chiffrée ; sur un Virtual Machine Scale Set, seules les nouvelles instances le sont automatiquement.
- Incompatible avec ADE : impossible sur une VM qui a, ou a eu, ADE ; et ADE est impossible sur un disque chiffré sur l'hôte.
- Les tailles prises en charge se lisent dans la capacité
EncryptionAtHostSupporteddes SKU de VM. - Le double encryption at rest ajoute une seconde couche, d'un autre algorithme, au niveau de l'infrastructure (clés plateforme) ; il n'est pas pris en charge sur les disques Ultra et SSD Premium v2.
flowchart TD
A["Nouvelle VM à protéger"] --> B{"Données très sensibles,<br/>besoin de protéger la mémoire<br/>vis-à-vis de l'hôte ?"}
B -- Oui --> C["confidential VM<br/>+ confidential OS disk encryption"]
B -- Non --> D["Encryption at host<br/>(disque temporaire, caches, flux)"]
D --> E{"Contrôler soi-même la clé ?"}
E -- Oui --> F["Disk Encryption Set (DES)<br/>clé RSA dans Key Vault Premium ou Managed HSM<br/>rotation automatique"]
E -- Non --> G["Platform-managed keys"]
H["VM existante sous ADE"] --> I["Migrer vers l'encryption at host<br/>avant le 15/09/2028"]
2.5 Mise en œuvre#
Azure CLI (exemple avec clé client) :
# 1. Inscrire la fonctionnalité sur l'abonnement (une seule fois), puis vérifier l'état « Registered »
az feature register --namespace Microsoft.Compute --name EncryptionAtHost
az feature show --namespace Microsoft.Compute --name EncryptionAtHost
# 2. Disk Encryption Set pointant vers la clé du coffre (purge protection active)
keyUrl=$(az keyvault key show --vault-name kv-disques-prd --name cle-disques --query key.kid -o tsv)
az disk-encryption-set create -n des-disques-prd -g rg-vm-prd -l francecentral \
--key-url "$keyUrl" --enable-auto-key-rotation true
# 3. Droit de l'identité du DES sur le coffre (modèle RBAC ; en stratégies d'accès : get, wrapkey, unwrapkey)
desId=$(az disk-encryption-set show -n des-disques-prd -g rg-vm-prd --query identity.principalId -o tsv)
az role assignment create --assignee-object-id "$desId" --assignee-principal-type ServicePrincipal \
--role "Key Vault Crypto Service Encryption User" \
--scope "$(az keyvault show -n kv-disques-prd --query id -o tsv)"
# 4. Lister les tailles compatibles avec l'encryption at host
az vm list-skus --location francecentral --all --resource-type virtualMachines \
--query "[?capabilities[?name=='EncryptionAtHostSupported' && value=='True']].name" -o tsv
Terraform (azurerm 5.x, arguments vérifiés dans le registre) :
resource "azurerm_linux_virtual_machine" "app" {
name = "vm-app-prd-01"
resource_group_name = azurerm_resource_group.vm.name
location = azurerm_resource_group.vm.location
size = "Standard_D4s_v5"
admin_username = "azureadmin"
network_interface_ids = [azurerm_network_interface.app.id]
encryption_at_host_enabled = true # disque temporaire, caches et flux chiffrés
secure_boot_enabled = true # Trusted Launch
vtpm_enabled = true
admin_ssh_key {
username = "azureadmin"
public_key = var.ssh_public_key # clé publique uniquement, jamais la clé privée
}
identity {
type = "SystemAssigned" # requise par Machine Configuration et la connexion Entra ID
}
os_disk {
caching = "ReadWrite"
storage_account_type = "Premium_LRS"
disk_encryption_set_id = azurerm_disk_encryption_set.disques.id # customer-managed key
}
source_image_reference {
publisher = "Canonical"
offer = "0001-com-ubuntu-server-jammy"
sku = "22_04-lts-gen2"
version = "latest"
}
}
3. Azure Bastion#

3.1 Le principe#
Azure Bastion est un service PaaS déployé dans votre réseau virtuel : l'administrateur ouvre une session RDP ou SSH dans son navigateur (Azure portal, HTTPS 443) ou avec son native client (Azure CLI), et Bastion se connecte à la VM par son IP privée. Les VM n'ont pas besoin d'IP publique, ni d'agent, et 3389/22 ne sont jamais exposés à Internet.
3.2 Les quatre SKU#
| Fonctionnalité | Developer | Basic | Standard | Premium |
|---|---|---|---|---|
| Sous-réseau AzureBastionSubnet | Non (ressource partagée) | Oui | Oui | Oui |
| IP publique | Non | Oui | Oui | Non en private-only deployment |
| VNet appairés | Non | Oui | Oui | Oui |
| Connexions simultanées | Non (une VM à la fois) | Oui | Oui | Oui |
| RDP vers Linux, SSH vers Windows | Non | Non | Oui | Oui |
| Native client (Azure CLI), transfert de fichiers | Non | Non | Oui | Oui |
| Port personnalisé, connexion par IP, shareable link | Non | Non | Oui | Oui |
| Désactiver le copier/coller | Non | Non | Oui | Oui |
| Mise à l'échelle de l'hôte | Non | 2 instances fixes | 2 à 50 instances | 2 à 50 instances |
| Session recording | Non | Non | Non | Oui |
| Private-only deployment | Non | Non | Non | Oui |
| Coût | Gratuit | Payant | Payant | Payant |
Capacité : 20 sessions RDP et 40 sessions SSH par instance (jusqu'à 1 000 RDP et 2 000 SSH à 50 instances). On peut monter de SKU (environ 10 minutes), jamais descendre (il faut supprimer et recréer). Developer n'est pas adapté à la production. Microsoft présente Premium comme le choix recommandé en production, l'écart de prix avec Standard étant marginal.
3.3 Les prérequis réseau#
- Sous-réseau dédié nommé exactement
AzureBastionSubnet, de taille /26 ou plus (/27 toléré pour les déploiements d'avant le 2 novembre 2021), dans le même VNet et le même groupe de ressources que Bastion, sans autre ressource. - IP publique Standard, statique (sauf Developer et private-only deployment).
- Les user-defined routes (UDR) ne sont pas prises en charge sur le sous-réseau de Bastion.
- Un NSG sur
AzureBastionSubnetest possible, mais toutes les règles suivantes sont alors obligatoires (sinon plus de mises à jour de la plateforme, ni de connectivité) :
| Règle | Sens | Source | Destination | Ports |
|---|---|---|---|---|
| AllowHttpsInbound | Entrant | Internet (ou vos IP) | * | 443 TCP |
| AllowGatewayManagerInbound | Entrant | GatewayManager | * | 443 TCP |
| AllowBastionHostCommunication | Entrant | VirtualNetwork | VirtualNetwork | 8080, 5701 |
| AllowAzureLoadBalancerInbound | Entrant | AzureLoadBalancer | * | 443 TCP |
| AllowSshRdpOutbound | Sortant | * | VirtualNetwork | 22, 3389 |
| AllowAzureCloudOutbound | Sortant | * | AzureCloud | 443 TCP |
| AllowBastionCommunication | Sortant | VirtualNetwork | VirtualNetwork | 8080, 5701 |
| AllowHttpOutbound | Sortant | * | Internet | 80 |
Sur le sous-réseau des VM : autoriser 3389/22 (ou le port personnalisé) depuis la plage de AzureBastionSubnet seulement.
3.4 Les droits et l'authentification#
Pour se connecter, l'utilisateur a besoin de Reader sur la VM, sur la network interface (avec l'IP privée), sur la ressource Bastion, et sur le VNet de la VM si Bastion est dans un VNet appairé. Il doit aussi avoir les droits dans l'OS (par exemple membre de Utilisateurs du Bureau à distance).
Authentification : nom d'utilisateur et mot de passe, clé SSH (fichier ou Key Vault), Kerberos, et Microsoft Entra ID (RDP vers Windows et SSH vers Linux, avec le rôle Virtual Machine Administrator Login ou Virtual Machine User Login). L'Entra ID en RDP ne se combine pas avec l'session recording graphiques ni avec la connexion par IP.
3.5 Mise en œuvre#
# Bastion Premium dans le hub (le sous-réseau AzureBastionSubnet /26 et l'IP publique Standard existent déjà)
az network bastion create --name bas-hub-prd --resource-group rg-hub-prd --location francecentral \
--vnet-name vnet-hub-prd --public-ip-address pip-bas-hub-prd --sku Premium \
--enable-tunneling true # native client (az network bastion rdp/ssh/tunnel)
# Connexion par le native client avec Microsoft Entra ID
az network bastion rdp --name bas-hub-prd --resource-group rg-hub-prd \
--target-resource-id "<id-de-la-vm-windows>" --enable-mfa # Entra ID
az network bastion ssh --name bas-hub-prd --resource-group rg-hub-prd \
--target-resource-id "<id-de-la-vm-linux>" --auth-type "AAD"
4. Just-in-time (JIT) VM access#

4.1 Le principe#
Les ports d'administration ouverts sont scannés en permanence sur Internet. Le JIT de Defender for Cloud les ferme par défaut et ne les ouvre qu'à la demande, pour un port, une IP source et une durée. C'est une fonctionnalité de Defender for Servers Plan 2.
Fonctionnement côté Azure :
- Defender for Cloud s'assure que des règles « refuser tout le trafic entrant » existent pour les ports choisis, dans le NSG et dans les règles du Azure Firewall.
- Si des règles existent déjà pour ces ports, elles gardent la priorité ; sinon les nouvelles règles sont prioritaires.
- À une demande, Defender for Cloud vérifie que l'utilisateur a les droits Azure RBAC sur la VM, puis ajoute une autorisation depuis l'IP demandée, pour la durée demandée.
- À l'expiration, les NSG reviennent à leur état antérieur ; les connexions déjà établies ne sont pas coupées.
- Derrière Azure Firewall, l'utilisateur reçoit les détails de connexion avec le mappage de ports de la table DNAT.
- Sur AWS (préversion), JIT révoque les règles des groupes de sécurité EC2 et en crée un temporaire.
sequenceDiagram
actor A as Administrateur
participant D as Defender for Cloud (JIT)
participant N as NSG / Azure Firewall
participant V as VM
Note over N: Deny sur 22, 3389, 5985, 5986
A->>D: Demander l'accès (port 3389, mon IP, 1 h)
D->>D: Vérifier les droits RBAC du demandeur
D->>N: Ajouter une règle Allow prioritaire pour cette IP
A->>V: Session RDP
Note over N: Après 1 h, NSG restauré
D-->>D: Demande tracée dans le Activity log
4.2 Prérequis et limites#
| Point | Détail |
|---|---|
| Plan | Defender for Servers Plan 2 sur l'abonnement |
| Pris en charge | VM Azure Resource Manager ; VM protégées par un Azure Firewall du même VNet ; instances EC2 (préversion) |
| Non pris en charge | VM classiques ; VM derrière un Azure Firewall piloté par Azure Firewall Manager (le pare-feu doit utiliser des règles classiques, pas une Firewall Policy) |
| Prérequis réseau | Un NSG ou un Azure Firewall (sinon la VM est « non prise en charge ») |
| Nom | Nom de la stratégie JIT et de la VM : 56 caractères maximum |
| Ports recommandés | 22 (SSH), 3389 (RDP), 5985 et 5986 (WinRM) |
| Valeurs par défaut (activation depuis la page de la VM) | 3389 ou 22, 3 heures maximum, toutes les IP sources (à restreindre) |
| Lire l'état | Reader et Security Reader |
4.3 Les droits (rôle personnalisé à privilège minimal)#
| Action | Autorisations |
|---|---|
| Configurer une stratégie JIT | Microsoft.Security/locations/jitNetworkAccessPolicies/write et Microsoft.Compute/virtualMachines/write |
| Demander l'accès | Microsoft.Security/locations/jitNetworkAccessPolicies/initiate/action, …/jitNetworkAccessPolicies/*/read, Microsoft.Compute/virtualMachines/read, Microsoft.Network/networkInterfaces/*/read, Microsoft.Network/publicIPAddresses/read |
Microsoft fournit le script Set-JitLeastPrivilegedRole pour créer un rôle qui ne permet que de demander l'accès.
4.4 Mise en œuvre et audit#
Activation depuis Defender for Cloud (Workload protections > Just-in-time VM access > Not configured), depuis la page Configuration de la VM, ou par PowerShell et API REST :
# Stratégie JIT : ports 22 et 3389 fermés, ouverture de 3 heures au maximum
$JitPolicy = @{
id = "/subscriptions/<sub>/resourceGroups/rg-vm-prd/providers/Microsoft.Compute/virtualMachines/vm-app-prd-01"
ports = @(
@{ number = 22; protocol = "*"; allowedSourceAddressPrefix = @("203.0.113.10"); maxRequestAccessDuration = "PT3H" },
@{ number = 3389; protocol = "*"; allowedSourceAddressPrefix = @("203.0.113.10"); maxRequestAccessDuration = "PT3H" })
}
Set-AzJitNetworkAccessPolicy -Kind "Basic" -Location "francecentral" -Name "default" `
-ResourceGroupName "rg-vm-prd" -VirtualMachine @($JitPolicy)
# Demande d'accès au port 22 jusqu'à une heure donnée
$Demande = @{ id = $JitPolicy.id; ports = @(@{ number = 22; endTimeUtc = "2026-10-21T17:00:00Z"; allowedSourceAddressPrefix = @("203.0.113.10") }) }
Start-AzJitNetworkAccessPolicy -ResourceId "/subscriptions/<sub>/resourceGroups/rg-vm-prd/providers/Microsoft.Security/locations/francecentral/jitNetworkAccessPolicies/default" `
-VirtualMachine @($Demande)
Audit : onglet Configured > menu de la VM > Activity log (opérations, heure, abonnement, export CSV).
JIT ou Bastion ? Les deux se complètent : Bastion supprime l'exposition publique ; JIT ferme le port même côté réseau privé et trace chaque ouverture. L'examen peut demander l'un, l'autre, ou les deux.
5. Azure Arc pour les serveurs hybrides et multicloud#

5.1 Le principe#
Azure Arc pour les serveurs projette dans Azure les serveurs physiques ou virtuels hébergés hors d'Azure (datacenter, AWS,
GCP, autre hébergeur). Chaque machine reçoit un ID de ressource Azure (Microsoft.HybridCompute/machines), se range dans un
groupe de ressources, porte des étiquettes, reçoit des stratégies et des rôles RBAC, comme une VM Azure. Arc n'est pas fait
pour gérer les VM qui tournent dans Azure.
Il suffit d'installer l'Azure Connected Machine agent (azcmagent). Il donne aussi au serveur une managed identity (utilisable
par les applications locales pour obtenir des jetons Entra).
| État | Signification |
|---|---|
| Connecté | Pulsation reçue (l'agent en envoie toutes les 5 minutes) |
| Déconnecté | Plus de pulsation depuis 15 à 30 minutes |
| Expiré | Déconnecté depuis environ 45 jours : l'identifiant de la managed identity (valable 90 jours, renouvelé tous les 45 jours) a expiré ; il faut déconnecter puis reconnecter la machine |
5.2 Ce qu'Arc apporte à la sécurité#
- Gouverner : Azure Policy et Machine Configuration dans l'OS (10).
- Protéger : Defender for Servers et Defender for Endpoint (6), Microsoft Sentinel (11-sentinel.md).
- Configurer : Azure Update Manager, extensions de VM, Run Command (préversion), Automation, suivi des modifications.
- Surveiller : agent Azure Monitor (AMA), VM Insights.
- Extended Security Updates (ESU) facturées via Azure : Windows Server 2012 / 2012 R2 (période terminée le 13 octobre 2026, dernière mise à jour ce jour-là, licences désactivées le 14 octobre 2026) et Windows Server 2016. Les VM Azure reçoivent gratuitement les ESU 2012.
5.3 Intégrer les serveurs (onboarding)#
| Méthode | Usage |
|---|---|
| Interactive (navigateur local sous Windows, ou code d'appareil) | Quelques serveurs |
| Service principal | À l'échelle (script, stratégie de groupe, Configuration Manager, Ansible…) ; préférer un certificat à un secret (contrôlable par Conditional Access) |
| Jeton d'accès | Court terme, obtenu par un autre identifiant |
| Connecteurs multicloud de Defender for Cloud | AWS et GCP : provisionnement automatique de l'agent Arc sur les instances |
L'identifiant d'intégration ne sert qu'au moment du azcmagent connect ; s'il expire ou est supprimé, les serveurs restent
connectés. S'il fuite, un attaquant peut inscrire ses propres serveurs dans votre abonnement : d'où le rôle minimal et, au besoin,
les private endpoints.
# Service principal d'intégration, limité au groupe de ressources cible (secret valable un an : préférer un certificat)
az ad sp create-for-rbac --name "sp-arc-onboarding" --role "Azure Connected Machine Onboarding" \
--scopes "/subscriptions/<sub>/resourceGroups/rg-arc-serveurs"
sequenceDiagram
participant S as Serveur local
participant E as Microsoft Entra ID
participant A as Azure Resource Manager
participant H as Service Arc
S->>S: Installer l'Connected Machine agent
S->>E: azcmagent connect (service principal, rôle Onboarding)
E-->>S: Jeton
S->>A: Créer la ressource Microsoft.HybridCompute/machines
A-->>S: ID de ressource + managed identity
loop Toutes les 5 minutes
S->>H: Pulsation
end
5.4 Les rôles et les garde-fous#
| Rôle | Peut | Ne peut pas |
|---|---|---|
| Azure Connected Machine Onboarding | Lire et créer des serveurs Arc | Supprimer des serveurs, gérer les extensions |
| Azure Connected Machine Resource Administrator | Lire, modifier, réintégrer, supprimer des serveurs Arc, extensions, licences, Private Link Scopes | Gérer les autres ressources du groupe |
| Contributor, Owner | Tout, dont déployer des extensions : administrateur indirect du serveur | — |
Garde-fous dans le serveur :
- Listes d'autorisation et de blocage d'extensions de l'agent, par exemple
azcmagent config set extensions.blocklist "microsoft.cplat.core/runcommandhandlerwindows". - Le groupe local Hybrid agent extension applications (Windows) ou himds (Linux) contrôle qui peut demander des jetons à la managed identity du serveur.
5.5 Connectivité privée : l'Azure Arc Private Link Scope#
Une Azure Arc Private Link Scope relie un private endpoint (dans un VNet joint par VPN ou ExpressRoute) à vos serveurs Arc, pour que leur trafic Arc ne passe pas par Internet. À savoir :
- une seule portée par VNet ; un serveur ne se rattache qu'à une portée ; serveur et portée dans la même région ;
- le trafic vers Microsoft Entra ID et Azure Resource Manager ne passe pas par la portée (sortie Internet par défaut, ou lien privé de gestion des ressources) ;
- les autres services (Azure Monitor, Key Vault, Stockage pour Custom Script) demandent leurs propres private endpoints ;
- décocher Autoriser l'accès réseau public force le passage par le private endpoint ;
- agent 1.4 ou plus récent ; l'association d'un serveur peut prendre jusqu'à 15 minutes ;
- Windows Admin Center et SSH à distance ne sont pas pris en charge par le lien privé.
6. Intégrer les serveurs à Defender for Servers#

6.1 Deux plans#
- Plan 1 : l'entrée de gamme, centré sur l'EDR de Defender for Endpoint intégré à Defender for Cloud.
- Plan 2 : tout le Plan 1, plus l'agentless scanning, Defender Vulnerability Management Premium, le JIT, la FIM, les bases de référence de l'OS, l'évaluation des mises à jour, la carte du réseau, les alertes DNS et couche réseau, et 500 Mo par jour d'ingestion gratuite dans Log Analytics.
La licence Defender for Servers donne sur les serveurs les mêmes droits que Defender for Endpoint Plan 2 sur les postes, facturés à l'heure plutôt qu'à l'utilisateur. Si vous avez déjà des licences Defender for Endpoint pour serveurs, une remise évite la double facturation. Defender for Servers n'utilise plus l'agent Log Analytics (MMA) ni l'agent Azure Monitor pour la plupart des fonctionnalités : l'agentless scanning et l'intégration de Defender for Endpoint les remplacent.
6.2 L'étendue d'activation#
| Étendue | Plan 1 | Plan 2 |
|---|---|---|
| Activer sur un abonnement (recommandé) | Oui | Oui |
| Activer sur une ressource | Oui | Non |
| Désactiver sur une ressource | Oui | Oui |
Pour cibler des machines : script, stratégie de la catégorie Security Center – Granular Pricing (par étiquette ou groupe de
ressources), ou API pricings (pricingTier = standard, subPlan = P1). On peut aussi rétrograder un groupe de machines en
Plan 1 dans un abonnement en Plan 2.
# Plan 2 sur l'abonnement courant
Set-AzSecurityPricing -Name "VirtualMachines" -PricingTier "Standard" -SubPlan P2
az security pricing create -n VirtualMachines --tier standard --subplan P2
Dès l'activation : essai de 30 jours (ni arrêtable, ni prolongeable), extension Defender for Endpoint déployée automatiquement sur les machines prises en charge, évaluation des vulnérabilités active, agentless scanning active (Plan 2), évaluation de la configuration de l'OS (Plan 2, avec l'extension Machine Configuration). La FIM se configure ensuite.
Un Log Analytics workspace n'est nécessaire que pour la FIM et pour l'avantage d'ingestion de 500 Mo (Plan 2).
6.3 Hybride et multicloud#
| Origine | Comment l'intégrer | Couverture |
|---|---|---|
| VM Azure | Activer le plan sur l'abonnement | Complète |
| AWS (EC2) | Connecteur multicloud AWS de Defender for Cloud (pile CloudFormation) ; agent Arc provisionné automatiquement | Complète via Arc |
| GCP (Compute Engine) | Connecteur multicloud GCP (script d'intégration) ; agent Arc automatique | Complète via Arc |
| Local (recommandé) | Intégrer en serveurs Azure Arc | Complète |
| Local (alternative) | Installer directement Defender for Endpoint sans Arc | Plan 1, et en Plan 2 seulement les fonctions Premium de Defender Vulnerability Management |
Piège classique : « des serveurs locaux doivent bénéficier de la FIM, des bases de référence et de l'évaluation des mises à jour » : il faut Azure Arc. L'agent Defender for Endpoint seul ne suffit pas pour tout le Plan 2.
7. Configurer Defender for Servers, vulnérabilités et EDR#
Les réglages se trouvent dans Defender for Cloud > Environment settings > abonnement > Defender for Servers > Settings (Settings & monitoring).
| Composant | Par défaut | À savoir |
|---|---|---|
| Évaluation des vulnérabilités des machines | Active (P1 et P2) | Defender Vulnerability Management, avec ou sans agent |
| Protection des points de terminaison (Defender for Endpoint) | Active | Provisionnement automatique du capteur ; désactivable |
| Agentless scanning des machines | Active en P2 (et avec Defender CSPM) | Exclusion par étiquettes (8) |
| File Integrity Monitoring | Inactive | Plan 2 ; à activer et configurer |
| Machine Configuration (Guest Configuration agent) | Selon le réglage | Requis pour l'évaluation des bases de référence de l'OS |
7.1 EDR : Defender for Endpoint#
- Defender for Cloud déploie l'extension
MDE.WindowsouMDE.Linux. Pour déplacer une VM vers un autre abonnement du même locataire : supprimer l'extension, Defender for Cloud la redéploie. - Fonctions : EDR (détection, investigation, réponse, Advanced hunting), antivirus nouvelle génération, règles de réduction de la surface d'attaque, analyse des menaces, alertes unifiées visibles dans Defender for Cloud et détaillées dans le portail Defender.
- Un locataire Defender for Endpoint est créé automatiquement ; l'emplacement de ses données ne peut plus être changé ensuite.
- Les machines connues de Defender for Cloud mais sans capteur apparaissent dans l'inventaire Defender for Endpoint avec l'état Peut être intégré.
- État d'intégrité de Defender for Endpoint (problèmes d'installation, de pulsation), actualisé toutes les 4 heures : demande le Plan 2, ou Defender CSPM avec le Plan 1. L'agentless scanning vérifie aussi si une solution EDR est présente et bien configurée.
7.2 Vulnérabilités : Defender Vulnerability Management#
Inventaire logiciel, évaluation continue, score de sécurité des appareils, recommandations priorisées, correction ; fonctions Premium en Plan 2.
flowchart TD
A["Agentless scanning active"] --> B{"Solution d'analyse avec agent ?"}
B -- Aucune --> C["Résultats de l'agentless scanning<br/>(Defender Vulnerability Management)"]
B -- "Defender sensor for Endpoint" --> D{"Les deux méthodes<br/>sur la machine ?"}
D -- Oui --> E["Résultats avec agent seulement<br/>(plus frais)"]
D -- Non --> F["Résultats de la méthode présente"]
B -- "Scanner BYOL<br/>Qualys ou Rapid7" --> G["Résultats du partenaire par défaut<br/>sans agent pour les machines sans le partenaire"]
Les résultats se lisent dans Recommendations > Vulnerabilities (CVE, étapes de correction). Pour voir les résultats, il faut Security Reader ; pour déployer un scanner, Owner sur le groupe de ressources.
7.3 File Integrity Monitoring (FIM)#
- Plan 2, inactive par défaut ; on choisit un espace Log Analytics où stocker les événements.
- Collecte par Defender for Endpoint (quasi temps réel) et par l'agentless scanning (toutes les 24 heures, chemins personnalisés possibles).
- Surveille fichiers de l'OS, registre Windows, fichiers d'application et système Linux : création, suppression, taille, ACL, hachage, avec l'auteur et le processus de la modification.
- 500 règles maximum ; agent Defender for Endpoint Windows 10.8799 ou plus récent ; l'ancienne FIM fondée sur MMA ou AMA est à migrer vers Defender for Endpoint.
- Exemples recommandés :
/etc/crontab,/etc/*.conf,/usr/bin;C:\Windows\regedit.exe;HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run.
7.4 Posture de l'OS#
- Mises à jour de l'OS (Plan 2) : évaluation des correctifs manquants, intégrée à Azure Update Manager.
- Mauvaises configurations de l'OS (Plan 2) par rapport aux bases de référence de sécurité de calcul du Microsoft Cloud Security Benchmark, via l'extension Machine Configuration (10).
- Defender Experts for Servers (vendu à part) : service managé de détection et de réponse pour les alertes Defender for Servers.
8. Agentless scanning#

8.1 Ce qu'elle fait#
Sans agent, sans connectivité réseau et sans impact sur les performances, elle analyse :
| Capacité | Defender CSPM | Defender for Servers Plan 2 |
|---|---|---|
| Inventaire logiciel | Oui | Oui |
| Évaluation des vulnérabilités | Oui | Oui |
| Recherche de secrets en clair sur les disques (dont les clés SSH utilisables pour un mouvement latéral) | Oui | Oui |
| Analyse des programmes malveillants (antivirus Microsoft Defender, analyses rapides et complètes) | Non | Oui |
| Réglages EDR | Oui | Oui |
Elle couvre les VM Azure (et les Virtual Machine Scale Sets en orchestration flexible), les instances AWS EC2 et GCP Compute Engine, et les VM de nœuds Kubernetes (avec le Plan 2 ou Defender for Containers). Un seul interrupteur par environnement : on ne choisit pas les capacités une à une, ce sont les plans actifs qui décident.
8.2 Comment#
- Defender for Cloud prend un instantané des disques (OS + données) ; la copie reste dans la région de la VM.
- Il lit la configuration de l'OS et le système de fichiers dans un environnement d'analyse régional, volatil, isolé, puis supprime la copie dès les métadonnées obtenues (en général quelques minutes).
- Les moteurs (Defender Vulnerability Management, antivirus…) produisent recommandations et alertes, fusionnées avec les résultats des agents.
Cadence : toutes les 24 heures, non configurable ; une machine arrêtée ou désallouée pendant le cycle n'est pas analysée.
8.3 Droits et customer-managed keys#
- Le rôle intégré VM Scanner Operator (lecture des disques :
Microsoft.Compute/disks/read,…/beginGetAccess/action,…/diskEncryptionSets/read, lecture des VM et des Virtual Machine Scale Sets) est ajouté automatiquement à l'abonnement. - Disques chiffrés par clé client : donner au principal Microsoft Defender for Cloud Servers Scanner Resource Provider
(ID d'application
0c7668b5-3260-4ad0-9f53-34ed54fa19b2) Get, Wrap Key, Unwrap Key (stratégies d'accès) ou le rôle Key Vault Crypto Service Encryption User (coffre en RBAC). - AWS : permissions via la pile CloudFormation du connecteur (rôle VmScanner) ; GCP : via le script d'intégration.
8.4 Limites à connaître#
| Limite | Conséquence |
|---|---|
| Plus de 14 disques | VM non analysée |
| Total des disques > 4 To | Seul le disque OS (s'il fait moins de 4 To) est analysé |
| Disques UltraSSD_LRS, PremiumV2_LRS, OS éphémères AKS | VM non analysée |
| VM Databricks ; systèmes de fichiers UFS, ReFS, ZFS ; OracleASM, DRBD, RAID Linux ; DM_Verity, swap | VM non analysée |
| Paquets compressés > 1 Go, > 10 000 fichiers, > 5 niveaux d'archives | Analyse des malwares partielle |
| AMI AWS avec licence tierce | Non prises en charge |
Activation : Environment settings > abonnement (ou connecteur) > Defender CSPM ou Defender for Servers P2 > Settings > Agentless scanning des machines. Exclure des machines : Modifier la configuration puis des paires étiquette:valeur.
9. Sécurité de la VM elle-même, Trusted Launch et confidential VMs#

9.1 Le security type#
La propriété securityType du profil de sécurité d'une VM vaut Standard, TrustedLaunch ou ConfidentialVM.
Trusted Launch et confidential VM exigent une VM de génération 2.
9.2 Les briques de Trusted Launch#
| Brique | Rôle |
|---|---|
| Secure Boot (Secure Boot) | Dans le microprogramme : seuls un chargeur de démarrage, un noyau et des pilotes signés par des éditeurs approuvés démarrent. Si l'image n'est pas signée, la VM ne démarre pas |
| vTPM | TPM 2.0 virtuel dédié, hors de portée de la VM : coffre pour clés et mesures, il mesure toute la chaîne de démarrage (UEFI, OS, pilotes) |
| Boot integrity monitoring | Avec l'Guest Attestation extension, Defender for Cloud atteste à distance que la VM a démarré correctement |
| Sécurité basée sur la virtualisation (VBS) | Permet HVCI (intégrité du code protégée par l'hyperviseur) et Credential Guard (contre Pass-the-Hash) sous Windows |
Trusted Launch ne coûte rien de plus, existe en x64 et Arm64, et ne protège que l'OS et le disque OS (pas les disques de données). Non pris en charge : images managées (utiliser l'Azure Compute Gallery) et mise en veille prolongée des VM Linux. Certaines familles de tailles ne le prennent pas en charge (par exemple série M, A, Dv2, Dv3).
9.3 Par défaut, ou à activer#
- Nouvelles VM Gen2 créées par le portail, Azure CLI ou PowerShell : Trusted Launch par défaut.
- Modèles (ARM, Bicep, Terraform, SDK) : par défaut avec l'API Microsoft.Compute 2025-11-01 ou plus récente (si l'image, le disque
et la taille le permettent) ; sinon ajouter
securityProfile; inscriptionTrustedLaunchByDefaultPreviewpour les versions plus anciennes. - Pour s'en passer :
securityType = Standardexplicite. - VM Gen2 existante : la désallouer, passer
securityTypeàTrustedLaunchavec Secure Boot et vTPM, redémarrer. Une VM Gen1 peut aussi être mise à niveau. Le retour arrière vers Gen2 sans Trusted Launch est à sens unique : on ne pourra plus réactiver Trusted Launch sur cette VM.
"securityProfile": {
"securityType": "TrustedLaunch",
"uefiSettings": { "secureBootEnabled": true, "vTpmEnabled": true }
}
az vm deallocate -g rg-vm-prd -n vm-app-prd-01
az vm update -g rg-vm-prd -n vm-app-prd-01 --security-type TrustedLaunch --enable-secure-boot true --enable-vtpm true
az vm start -g rg-vm-prd -n vm-app-prd-01
9.4 Ce que Defender for Cloud en fait#
| Signal | Gravité |
|---|---|
| Recommandation : activer le Secure Boot | Faible |
| Recommandation : activer le vTPM | Faible |
| Recommandation : installer l'Guest Attestation extension | Faible |
| Évaluation de l'intégrité de l'attestation (boot integrity monitoring) | — |
| Alerte : échec de l'attestation de la VM (journal de démarrage différent de la référence, ou attestation qui ne vient pas du vTPM) | Moyenne |
| Alerte : module de noyau Linux non approuvé refusé au chargement | Faible |
L'attestation échoue si le Secure Boot est désactivé : si vous devez le désactiver, supprimez l'alerte pour éviter les faux positifs.
9.5 Mise en œuvre à l'échelle#
Azure Advisor recommande Trusted Launch pour les VM Gen2 existantes ; Azure Policy et Defender for Cloud remontent les VM non
conformes. En IaC, les arguments Terraform secure_boot_enabled et vtpm_enabled (voir 2.5).
9.6 Les confidential VMs#
| Trusted Launch | confidential VM | |
|---|---|---|
| Protège contre | Bootkits, rootkits, malwares bas niveau | En plus, l'hyperviseur et le code de gestion de l'hôte (isolation matérielle de la mémoire) |
| Matériel | Toute taille Gen2 compatible | Processeurs AMD SEV-SNP ou Intel TDX (séries DCasv5, DCadsv5, ECasv5, ECadsv5, v6, NCCadsH100v5…) |
| Démarrage | Secure Boot, vTPM | Démarre seulement après attestation réussie de la plateforme (Azure Attestation) ; vTPM dédié ; Secure Boot |
| Disque OS | Chiffrement habituel | Chiffrement de disque OS confidentiel facultatif (clé plateforme ou client), clés liées au vTPM, choix non modifiable après déploiement |
| Limites | — | Pas d'Azure Site Recovery, galerie limitée, pas d'accélération réseau, pas de migration à chaud ; rotation de la clé client hors ligne uniquement |
10. Azure Machine Configuration#

10.1 Le principe#
Azure Machine Configuration (anciennement Azure Policy Guest Configuration) audite ou configure, sous forme de code, des réglages dans l'OS : paramètres système, présence ou configuration d'applications, environnement. Elle s'applique aux VM Azure et aux serveurs Azure Arc, machine par machine ou à l'échelle par Azure Policy. Exemple : « toutes les machines doivent utiliser TLS 1.2 ». Chaque configuration est une ressource d'extension (« affectation d'invité ») attachée à la machine.
10.2 Les prérequis#
| Machine | Prérequis |
|---|---|
| VM Azure | Extension Machine Configuration + system-assigned managed identity (pour s'authentifier auprès du service) |
| Serveur Arc | Rien de plus : le service est intégré à l'Connected Machine agent ; les définitions d'audit couvrent Microsoft.HybridCompute/machines |
À l'échelle : affecter l'initiative intégrée « Deploy prerequisites to enable Guest Configuration policies on virtual machines » au groupe d'administration, à l'abonnement ou au groupe de ressources. Elle ajoute l'identité système en plus des identités utilisateur existantes (attention : une application qui ne précise pas son identité utilisera alors l'identité système). Une variante en préversion utilise une managed identity affectée par l'utilisateur.
Autres repères : extension 1.26.24 ou plus récente (agent Arc 1.10.0 ou plus récent) pour appliquer des configurations ; 50 affectations d'invités maximum par machine ; l'agent est limité à 5 % du CPU ; pas de Virtual Machine Scale Sets uniformes (flexibles oui) ; sortie HTTPS 443 ou lien privé.
# Prérequis sur une seule VM Linux
az vm identity assign -g rg-vm-prd -n vm-app-prd-01
az vm extension set -g rg-vm-prd --vm-name vm-app-prd-01 --name ConfigurationForLinux \
--publisher Microsoft.GuestConfiguration --enable-auto-upgrade
# Windows : --name ConfigurationForWindows
10.3 Les modes d'application#
assignmentType (sensible à la casse) |
Comportement |
|---|---|
Audit |
Rapporte l'état, ne change rien |
ApplyAndMonitor |
Applique une fois, puis signale la dérive (NonCompliant) sans corriger, sauf correction déclenchée |
ApplyAndAutoCorrect |
Applique, et corrige automatiquement la dérive à l'évaluation suivante (signale toujours Compliant, sauf erreur) |
- Les définitions qui modifient la machine utilisent l'effet DeployIfNotExists ; une tâche de correction (case Créer une tâche de correction à l'affectation) traite les machines déjà existantes.
- Avec le mode d'application de la stratégie désactivé, la configuration ne s'applique qu'à la correction.
- L'étiquette
CustomGuestConfigurationSetPolicy=disablesur une machine désactive la correction des paquets personnalisés (pas du contenu intégré). - Résultats : page Affectations d'invités et détails de conformité d'Azure Policy.
10.4 Contenu intégré et personnalisé#
- Initiatives intégrées de la catégorie Guest Configuration : bases de référence Windows et Linux (sécurité de calcul Azure), mots de passe, protocoles TLS, et la stratégie qui vérifie les ESU des serveurs Windows Server 2012 Arc.
- Paquets personnalisés : écrits en PowerShell DSC avec le module GuestConfiguration (PowerShell 7), puis publiés en
définitions personnalisées
AuditIfNotExistsouDeployIfNotExists(disponibilité générale). - Créer l'identité ou affecter une stratégie qui a le rôle Guest Configuration Resource Contributor demande les droits RBAC correspondants.
11. Compléments AZ-500#
11.1 Se connecter aux VM avec Microsoft Entra ID#
- Windows : extension
AADLoginForWindows; Linux : extensionAADSSHLoginForLinux(authentification SSH par certificat OpenSSH, connexion paraz ssh vm -n <vm> -g <rg>, ouaz ssh configpour tout client OpenSSH). L'identité managée système doit être activée (az vm identity assign). Linux : sortie 443 verslogin.microsoftonline.cometpas.windows.net, au moins 1 Go de mémoire. - Rôles Azure Virtual Machine Administrator Login (administrateur,
sudosous Linux) ou Virtual Machine User Login (utilisateur standard) : Owner ou Contributor ne suffisent pas pour ouvrir une session (séparation voulue entre qui gère la VM et qui y entre). Les attribuer au groupe de ressources plutôt qu'à chaque VM. - Avantages : comptes nominatifs, MFA et Conditional Access (applications Azure Windows VM Sign-In et Azure Linux VM Sign-In), plus de mot de passe local partagé (voir 01-entra-id.md).
- RDP : le poste client doit être joint, joint hybride ou inscrit à Entra ID dans le même annuaire. SSH : l'exigence d'appareil conforme ne fonctionne qu'avec Azure CLI sous Windows ou macOS (pas Cloud Shell).
11.2 Run Command : un accès administrateur caché#
Run Command exécute des scripts dans la VM par l'agent de VM, même sans port RDP/SSH ouvert. Exécuter une commande demande
Microsoft.Compute/virtualMachines/runCommand/action (ou …/runCommand/write pour les commandes managées), présent dans
Virtual Machine Contributor et au-dessus. Pour un serveur Arc, Microsoft.HybridCompute/machines/runCommands/write
(Resource Administrator et au-dessus), et blocage local possible par la liste de blocage d'extensions. À surveiller dans le journal
d'activité.
11.3 Azure Update Manager#
Gestion unifiée des correctifs Windows et Linux, VM Azure et serveurs Arc : évaluation périodique toutes les 24 heures (activable par Azure Policy), mises à jour immédiates ou planifiées dans des configurations de maintenance (orchestration Customer Managed Schedules requise sur les VM Azure), correctif à chaud (hotpatch) pour Windows Server Datacenter : Azure Edition, contrôle d'accès par RBAC. Seules les VM en marche sont évaluées.
11.4 Images et Azure Compute Gallery#
Trusted Launch n'accepte pas les images managées : utiliser l'Azure Compute Gallery. Des images durcies et versionnées, chiffrables par clé client, réduisent la dérive dès le déploiement.
11.5 Sauvegarde#
Protection des sauvegardes de VM (coffres, soft delete, immuabilité, Multi-user authorization) : voir 03-gouvernance.md. Les confidential VMs ont une prise en charge de Azure Backup en préversion.
12. Labs conseillés#
À faire dans un abonnement de test (petites tailles de VM, tout supprimer à la fin ; l'essai de 30 jours de Defender for Servers suffit).
Lab 1 : encryption at host avec clé client.
- Inscrire
EncryptionAtHost, créer un Key Vault Premium avec purge protection, une clé RSA 3072 et un DES avec rotation automatique (2.5). - Créer une VM Linux Gen2 (taille v5) avec
--encryption-at-host trueet le DES sur le disque OS. - Désactiver la version de la clé dans le coffre, attendre, observer la VM.
- Résultat attendu : la VM s'arrête et ne redémarre pas tant que la clé n'est pas réactivée ; dans Defender for Cloud, la recommandation « encryption at host » passe au vert pour cette VM.
Lab 2 : Bastion et connexion Entra ID.
- Créer
AzureBastionSubnet/26 et un Bastion Standard avec--enable-tunneling true. - Sur une VM Linux sans IP publique : extension
AADSSHLoginForLinux, rôle Virtual Machine Administrator Login pour votre compte. - Se connecter avec
az network bastion ssh … --auth-type AAD, puis testersudo. - Résultat attendu : connexion sans clé ni mot de passe local ; retirer le rôle et constater le refus (Owner ne suffit pas).
Lab 3 : Just-in-time VM access.
- Activer Defender for Servers Plan 2 sur l'abonnement (une VM avec NSG suffit).
- Activer JIT sur la VM (22, durée maximale 3 h, votre IP seulement), regarder la règle Deny créée dans le NSG.
- Demander l'accès pour 1 h, regarder la règle Allow prioritaire, puis le Activity log.
- Résultat attendu : la règle Allow disparaît à l'expiration ; la demande est tracée.
Lab 4 : Trusted Launch et Machine Configuration.
- Créer une VM Gen2 (Trusted Launch par défaut) et vérifier
securityType, Secure Boot et vTPM. - Affecter l'initiative « Deploy prerequisites to enable Guest Configuration policies on virtual machines » au groupe de ressources, avec une tâche de correction.
- Affecter la base de référence Linux de sécurité de calcul en Audit.
- Résultat attendu : extension installée et identité système ajoutée ; la page Affectations d'invités affiche les règles non conformes.
Lab 5 (facultatif) : un serveur hors d'Azure dans Arc.
- Sur une VM locale (Hyper-V, VirtualBox) ou une VM d'un autre cloud, installer l'Connected Machine agent et le connecter avec un service principal Azure Connected Machine Onboarding limité à un groupe de ressources.
- Résultat attendu : la machine apparaît en
Microsoft.HybridCompute/machines, reçoit Defender for Endpoint (plan actif) et les affectations Azure Policy du groupe de ressources.
13. Les pièges d'examen#
| Situation dans la question | Réponse attendue | Pourquoi |
|---|---|---|
| Chiffrer le disque temporaire et les caches sans consommer de CPU de la VM | Encryption at host | SSE ne couvre ni temp ni caches ; ADE utilise le CPU |
| Nouvelle VM, on propose ADE | Non : encryption at host | ADE retiré le 15/09/2028 |
| La clé du DES a été désactivée, les VM se sont arrêtées | Comportement attendu ; réactiver la clé ou en affecter une autre | Les VM s'arrêtent et ne redémarrent pas sans clé |
| Le DES ne peut pas utiliser le coffre | Vérifier purge protection, région, droit de l'identité du DES | Prérequis du DES |
| Activer l'encryption at host échoue sur l'abonnement | Inscrire la fonctionnalité EncryptionAtHost | Prérequis d'abonnement |
| Encryption at host sur une VM qui a eu ADE | Impossible | Incompatibles |
| Bastion : sous-réseau nommé « bastion-subnet » | Doit s'appeler AzureBastionSubnet, /26 ou plus | Exigence stricte |
| Bastion : enregistrer les sessions, ou aucune IP publique | Premium | Seul SKU qui le fait |
| Bastion : native client, shareable link, port personnalisé | Standard minimum | Pas en Basic ni Developer |
| Bastion vers une VM d'un VNet appairé avec le SKU Developer | Impossible : passer en Basic ou plus | Developer sans peering |
| Un utilisateur ne voit pas la VM dans Bastion | Lui donner Reader sur VM, network interface, Bastion (et VNet si appairé) | Droits minimaux documentés |
| UDR 0.0.0.0/0 sur AzureBastionSubnet | Non pris en charge | Bastion a besoin de sa sortie |
| JIT non disponible sur une VM | Vérifier Defender for Servers Plan 2, présence d'un NSG ou d'un pare-feu, VM non classique, pas de Firewall Manager | Prérequis JIT |
| JIT : un utilisateur doit seulement demander l'accès | Rôle personnalisé avec jitNetworkAccessPolicies/initiate/action |
Moindre privilège |
| Fin d'une fenêtre JIT : la session RDP est-elle coupée ? | Non | Les connexions établies restent |
| Serveurs locaux : FIM, bases de référence OS, mises à jour | Azure Arc + Defender for Servers Plan 2 | MDE seul ne donne pas tout le Plan 2 |
| Service principal d'intégration Arc : quel rôle ? | Azure Connected Machine Onboarding, portée minimale, certificat | Ne peut pas gérer les extensions |
| Empêcher Run Command sur un serveur Arc | Liste de blocage d'extensions de l'agent (azcmagent config) |
Contrôle local |
| Activer le Plan 2 pour une seule VM | Impossible : P2 par abonnement (désactivable par ressource) ; P1 activable par ressource | Étendue des plans |
| Analyse des malwares sans agent avec Defender CSPM seul | Non : Defender for Servers Plan 2 | Malwares réservés au P2 |
| VM avec disques Ultra non analysée sans agent | Limite documentée | Type de disque non pris en charge |
| Disques CMK non analysés sans agent | Donner au scanner Get/Wrap/Unwrap ou Key Vault Crypto Service Encryption User | Accès à la clé |
| Alerte « échec de l'attestation de la VM » | Trusted Launch avec vTPM + Guest Attestation extension ; chaîne de démarrage modifiée | Integrity monitoring |
| Trusted Launch sur une VM existante | Désallouer, securityType = TrustedLaunch, redémarrer |
Changement à froid |
| Protéger la mémoire de la VM contre l'hôte | confidential VM | Trusted Launch ne le fait pas |
| Machine Configuration ne s'applique pas sur une VM Azure | Manque l'extension ou l'system-assigned managed identity | Prérequis |
| Corriger automatiquement la dérive de configuration | ApplyAndAutoCorrect |
ApplyAndMonitor signale seulement |
| Un Contributor peut-il se connecter à une VM en Entra ID ? | Non : Virtual Machine Administrator/User Login | Rôles dédiés |
14. Scénarios d'entraînement#
1. Contoso crée des VM Linux contenant des données de santé. L'audit exige que le disque temporaire, les caches et les flux vers le stockage soient chiffrés, avec une clé dont l'entreprise contrôle la rotation. Que configurer ?
Encryption at host (fonctionnalité
EncryptionAtHostinscrite) et un Disk Encryption Set pointant vers une clé RSA d'un Key Vault Premium (purge protection), avec rotation automatique. Pas ADE (CPU de la VM, retrait 2028).
2. Une équipe veut administrer ses VM sans aucune IP publique, ni sur les VM ni sur l'outil d'accès, et la conformité exige d'enregistrer les sessions. Quelle solution ?
Azure Bastion Premium en private-only deployment avec session recording (stockées dans un conteneur blob). Les administrateurs arrivent par VPN ou ExpressRoute sur l'IP privée de Bastion.
3. Après déploiement de Bastion Standard dans le hub, un administrateur ne voit pas une VM du spoke appairé. Il est Contributor sur le groupe de ressources de la VM. Que manque-t-il ?
Reader sur la ressource Bastion (dans le hub) et sur le VNet de la VM (Bastion dans un VNet appairé), en plus de la VM et de sa network interface. Vérifier aussi que le NSG du sous-réseau de la VM autorise 3389/22 depuis
AzureBastionSubnet.
4. Les VM de production exposent RDP via un NSG « Allow 3389 from Any ». On veut que le port ne s'ouvre que sur demande, une heure au plus, depuis l'IP de l'administrateur, et garder une trace. Comment ?
Activer Defender for Servers Plan 2, configurer le JIT sur 3389 (durée maximale
PT1H, IP sources restreintes), retirer la règle Any. Les demandes apparaissent dans le Activity log. Donner aux administrateurs un rôle avecinitiate/action.
5. Fabrikam a 300 serveurs Windows locaux et 80 instances EC2. Elle veut l'EDR, l'évaluation des vulnérabilités, la FIM et les bases de référence de l'OS dans Defender for Cloud. Démarche ?
Serveurs locaux : Azure Arc à l'échelle avec un service principal (rôle Azure Connected Machine Onboarding, certificat). AWS : connecteur multicloud AWS avec provisionnement automatique d'Arc. Puis Defender for Servers Plan 2 sur les abonnements cibles, FIM configurée avec un espace Log Analytics.
6. Pour des raisons de coût, seules 10 VM d'un abonnement doivent avoir Defender for Servers, en Plan 1. Possible ?
Oui : le Plan 1 s'active par ressource (script, stratégie Granular Pricing par étiquette, ou API
pricingsavecsubPlan = P1). Le Plan 2, lui, ne s'active que par abonnement.
7. Après activation de l'agentless scanning, une VM à 16 disques et une autre à disques Ultra n'ont aucun résultat. Pourquoi ?
Limites : plus de 14 disques, et type UltraSSD_LRS, ne sont pas pris en charge. Elles restent à couvrir par l'agent Defender for Endpoint.
8. Defender for Cloud lève l'alerte « échec de l'attestation de la VM » sur une VM Windows Trusted Launch. Que signifie-t-elle, et quels prérequis permettent cette détection ?
Le journal de démarrage mesuré par le vTPM ne correspond pas à la référence (module non approuvé possible) ou l'attestation ne provient pas du vTPM. Il faut Secure Boot, vTPM et l'Guest Attestation extension. Enquêter : la VM peut être compromise.
9. Toutes les VM Windows et les serveurs Arc doivent imposer TLS 1.2 et revenir automatiquement à ce réglage s'il est modifié. Comment ?
Affecter l'initiative Deploy prerequisites to enable Guest Configuration policies (extension + identité système sur les VM Azure), puis une définition Machine Configuration avec
assignmentType = ApplyAndAutoCorrect, et une tâche de correction pour les machines existantes. Les serveurs Arc n'ont pas besoin de l'extension.
10. Un auditeur remarque que des développeurs Contributor sur des VM peuvent y exécuter des scripts sans ouvrir de port. Que font-ils, et comment le limiter ?
Run Command (ou des extensions), qui exige
runCommand/action: inclus dans Virtual Machine Contributor et au-dessus. Réduire les rôles (rôle personnalisé sans cette action, PIM), surveiller le Activity log ; sur Arc, liste de blocage d'extensions.
11. Une VM Gen2 de 2023 n'a pas Trusted Launch. Advisor le recommande. Procédure, et risque ?
Vérifier taille, image et OS compatibles, créer un point de restauration, désallouer,
az vm update --security-type TrustedLaunch --enable-secure-boot true --enable-vtpm true, redémarrer, tester RDP/SSH. Le retour arrière est à sens unique.
15. Pour aller plus loin (au-delà de l'examen)#
- Bastion et Conditional Access : avec l'authentification Entra ID, les sessions passent par Conditional Access ; combiner avec PIM pour les rôles Virtual Machine Administrator Login.
- Secrets sur disque : l'agentless scanning repère les clés SSH privées et chaînes de connexion en clair ; les remplacer par des managed identities et Key Vault (01-entra-id.md, 02-key-vault.md).
- Defender for Cloud et les attack paths : une VM exposée avec une vulnérabilité critique et une identité à privilèges devient un attack path priorisé par Defender CSPM (10-defender-for-cloud.md).
- Inscription automatique des machines Arc (préversion) : activer automatiquement un ensemble de fonctionnalités de surveillance, sécurité et gestion sur les nouveaux serveurs Arc.
- Nœuds AKS : l'agentless scanning et l'analyse des malwares couvrent les VM de nœuds Kubernetes ; la sécurité d'AKS est traitée au chapitre 09-services-applicatifs.md.
- Journalisation : envoyer les alertes Defender for Servers et les événements de sécurité Windows vers Microsoft Sentinel (11-sentinel.md).
16. Fiche à retenir#
- SSE toujours actif (AES-256) mais ni disque temporaire ni caches ; encryption at host = temp + caches + flux, sans CPU de la VM.
- ADE retiré le 15/09/2028 ; incompatible avec l'encryption at host et avec la clé client SSE.
- Clé client = DES (system-assigned managed identity) + clé RSA 2048/3072/4096 + coffre avec purge protection, même région ; rotation auto en 1 h sans redémarrage ; clé désactivée = VM arrêtées.
- Bastion : AzureBastionSubnet /26+, IP publique Standard statique, pas d'UDR, 8 règles NSG si NSG ; Reader sur VM + network interface + Bastion (+ VNet appairé).
- SKU Bastion : Developer (gratuit, 1 VM, pas de peering) · Basic · Standard (native client, lien, ports, 2-50 instances) · Premium (enregistrement, privé uniquement).
- JIT = Defender for Servers P2 + NSG ou pare-feu ; Deny puis Allow temporaire par IP ; défaut 3 h ; pas de Firewall Manager ; sessions établies conservées.
- Arc : Connected Machine agent, ID de ressource + managed identity ; pulsation 5 min, déconnecté 15-30 min, expiré ~45 jours ; rôle Onboarding (sans extensions) vs Resource Administrator.
- Azure Arc Private Link Scope : Entra ID et ARM restent hors portée ; une portée par VNet ; même région.
- Defender for Servers : P1 = EDR (activable par ressource) ; P2 = P1 + sans agent, JIT, FIM, MDVM Premium, bases OS, 500 Mo/jour (par abonnement) ; essai 30 jours.
- Multicloud : connecteurs AWS/GCP avec Arc automatique ; local : Arc recommandé (MDE seul = couverture partielle).
- Sans agent : instantané, analyse isolée, suppression ; 24 h ; ≤ 14 disques, ≤ 4 To ; pas Ultra/Premium v2/éphémère AKS ; malwares = P2 ; rôle VM Scanner Operator ; exclusion par étiquette.
- FIM : Plan 2, inactive par défaut, espace Log Analytics, MDE (temps réel) + sans agent (24 h), 500 règles.
-
securityType: Standard · TrustedLaunch · ConfidentialVM ; Gen2 ; Secure Boot + vTPM + Guest Attestation extension = integrity monitoring. - Trusted Launch par défaut (portail, CLI, PowerShell, API 2025-11-01+) ; existant : désallouer ; retour arrière à sens unique.
- confidential VM : AMD SEV-SNP / Intel TDX, attestation avant démarrage, disque OS confidentiel (choix figé).
- Machine Configuration : VM Azure = extension + identité système (initiative Deploy prerequisites…) ; Arc = rien ;
Audit·ApplyAndMonitor·ApplyAndAutoCorrect. - Entra ID sur VM : Virtual Machine Administrator/User Login (Contributor ne suffit pas) ; Run Command = administrateur indirect.
Références#
Toutes lues le 21/10/2026 sur Microsoft Learn :
- Guide d'étude de l'examen SC-500
- Vue d'ensemble des options de chiffrement des disques managés
- Server-side encryption du stockage sur disque Azure (clés client, encryption at host, double chiffrement)
- Activer le chiffrement de bout en bout avec l'encryption at host (Azure CLI)
- Migrer d'Azure Disk Encryption vers l'encryption at host
- Paramètres de configuration d'Azure Bastion
- Choisir la référence SKU Azure Bastion
- Règles de Network Security Group pour Azure Bastion
- FAQ Azure Bastion (rôles requis)
- Authentification Microsoft Entra ID pour Azure Bastion
- Se connecter avec Bastion et le native client Windows
- Just-in-time VM access aux machines
- Activer l'Just-in-time VM access
- Qu'est-ce qu'un serveur avec Azure Arc ?
- Connecter des machines hybrides à Azure à grande échelle (service principal)
- Identité et autorisation des serveurs Arc
- Sécurité de l'intégration des serveurs Arc
- Utiliser Azure Private Link pour connecter des serveurs à Azure Arc
- Préparer la livraison des ESU pour Windows Server
- Defender pour serveurs
- Sélectionner un plan Defender pour serveurs et une étendue de déploiement
- Protéger vos serveurs avec Defender pour serveurs
- Examiner et modifier les paramètres de Defender pour serveurs
- Intégration de Defender for Endpoint et Defender Vulnerability Management
- Configurer l'analyse des vulnérabilités des machines
- Activer l'analyse des vulnérabilités avec Defender Vulnerability Management
- Supervision de l'intégrité des fichiers
- Analyse des machines sans agent
- Activer l'analyse des machines sans agent
- Exclure des machines de l'agentless scanning
- Analyse des programmes malveillants sans agent
- Analyse des secrets des machines
- Lancement fiable pour les machines virtuelles Azure
- Activer le lancement fiable sur des VM Gen2 existantes
- Confidential VMs Azure
- Qu'est-ce que la configuration de l'ordinateur Azure ?
- Prérequis de Machine Configuration
- Options de correction de Machine Configuration
- Se connecter à une VM Windows avec Microsoft Entra ID
- Run Command sur les VM Windows (limiter l'accès)
- Run Command sur les serveurs Arc
- Qu'est-ce qu'Azure Update Manager ?
- Ressource azurerm_linux_virtual_machine (registre Terraform, azurerm 5.10.0)
- Se connecter à une VM Linux avec Microsoft Entra ID et OpenSSH
- Mettre à niveau la référence SKU d'Azure Bastion (native client,
--enable-tunneling)