WIKI
SC-300 Identity and Access Administrator

05 · Planifier, implémenter et gérer Microsoft Entra Conditional Access

33 min de lecture Mis à jour le 21 octobre 2026
Sur cette page

Version : 1.1 · Date : 2026-10-22 · Domaine 2 de l'examen : Implement authentication and access management (25 à 30 %)

En une phrase : au niveau administrateur, Conditional Access se pilote comme un produit : un jeu de stratégies conçu par personas, créé depuis des templates ou en code, testé en Report-only et avec What If, dépanné dans les sign-in logs, et protégé lui-même par des protected actions.

Le cycle de vie d'une stratégie Conditional Access

Le principe (signaux, décision, application), l'ordre d'évaluation, le Report-only et la CAE sont expliqués dans SC-500 · 3. Conditional Access. Ce chapitre ne les redit pas : il va au niveau de l'administrateur qui conçoit, déploie et dépanne.

Note sur le poids : le guide SC-300 annonce 25 à 30 % pour ce domaine dans « Skills at a glance » et 20 à 25 % dans le titre de la section détaillée. Le cours retient 25 à 30 %.

Ce que l'examen demande#

Bloc Plan, implement, and manage Microsoft Entra Conditional Access du guide d'étude SC-300 (compétences au 28/10/2026) :

# Compétence mesurée (guide officiel, en anglais) Section
1 Plan Conditional Access policies 2
2 Implement Conditional Access policy assignments 3
3 Implement Conditional Access policy controls 4
4 Test and troubleshoot Conditional Access policies 7
5 Implement session management 5
6 Implement device-enforced restrictions 6
7 Implement continuous access evaluation 8
8 Configure authentication context 9
9 Implement protected actions 10
10 Create a Conditional Access policy from a template 11

1. Les bases d'administration#

Sujet À retenir
Licence Microsoft Entra ID P1 ; conditions de risque (ID Protection) : P2 ; stratégies sur des service principals : Workload ID Premium
Lire les stratégies Security Reader au minimum
Créer, modifier, restaurer Conditional Access Administrator au minimum
Limite 240 stratégies par tenant, tous états confondus (On, Off, Report-only)
Suppression Stratégies et named locations restaurables pendant 30 jours (soft delete)
Security defaults Impossibles à activer tant qu'une stratégie CA existe, quel que soit son état ; inversement, on ne peut pas activer une stratégie tant que les security defaults sont actifs
Chemin du portail Microsoft Entra admin center › Entra ID › Conditional Access (Overview, Coverage, Policies, Named locations, Authentication context, Insights and reporting, Classic policies)

2. Plan Conditional Access policies#

2.1 Penser personas, pas applications#

Créer une stratégie par application ne tient pas à l'échelle (et bute vite sur la limite de 240). Microsoft recommande de regrouper les applications qui ont les mêmes exigences pour les mêmes utilisateurs, et de raisonner par persona : tous les utilisateurs, administrateurs, guests, mobiles, comptes à risque, workload identities.

Concevoir par personas

Microsoft propose un déploiement en trois phases, chaque stratégie passant au moins une semaine en Report-only :

Phase Stratégies Licence
1. Foundation (semaines 1-2) Block legacy authentication · sécuriser la page My Security Info · phishing-resistant MFA pour les rôles privilégiés P1
2. Core authentication (semaines 2-3) strong authentication pour tous · guests · approved app ou app protection sur mobile · MFA pour joindre ou inscrire un appareil P1
3. Advanced protection (semaines 3-4) high risk sign-ins · high risk users (P2) · token protection · restreindre le device code flow · bloquer l'authentication transfer · stratégies pour les PAW P1 / P2

2.2 Les questions à se poser pour chaque stratégie#

  • Qui : quels users, groups, directory roles ou workload identities sont inclus, lesquels sont exclus ?
  • Quoi : une application, une user action ou un authentication context ? Le filter for applications (sur des custom security attributes posés sur les enterprise apps) évite de lister les apps une par une et de dépasser la taille maximale du JSON d'une stratégie.
  • Dans quelles conditions : plateformes, réseaux, types de client, attributs d'appareil, risque.
  • Quel contrôle : Block, ou Grant avec quelles exigences, et quels session controls.

2.3 Le piège de la combinaison : un jeton est émis par défaut#

Si aucune stratégie ne déclenche de contrôle, le jeton est émis. Exemple Microsoft : une stratégie « FINANCE GROUP → PAYROLL APP → MFA » oblige les membres de Finance à faire la MFA, mais laisse les autres utilisateurs accéder sans MFA. Pour réserver l'application à Finance, il faut une deuxième stratégie : All users, exclude FINANCE GROUP → PAYROLL APP → Block.

Bonne pratique : au moins une stratégie sur chaque application, idéalement une base All users · All resources · MFA sans exclusion de ressource. Attention à Block + All resources dans une même stratégie : risque de verrouiller les administrateurs, et certaines ressources comme Microsoft Graph ne peuvent pas être exclues.

2.4 Les exclusions#

Exclure Pourquoi
Emergency access (break glass) Éviter le verrouillage (SC-500 · 4.5)
Service accounts (ex. compte de Microsoft Entra Connect Sync) Non interactifs ; à remplacer par des managed identities quand c'est possible
Service principals Les stratégies ciblant des users ne s'appliquent pas aux service principals : utiliser Conditional Access for workload identities

Tester les exclusions : un utilisateur exclu d'une stratégie MFA peut quand même recevoir une invite MFA à cause d'une autre stratégie.

2.5 Nommage et stratégies de secours#

Un nom doit dire, sans ouvrir la stratégie : un numéro, les apps, la réponse, qui, quand. Comme les stratégies n'ont pas d'attribut « propriétaire », on encode l'équipe dans le nom et on tient un registre à part. Exemple : CA10-AllApps-PhishingResistantMFA-Admins.

Les stratégies de secours (resilient access controls) sont créées désactivées et nommées pour sortir du lot : EM01 - ENABLE IN EMERGENCY: MFA Disruption [1/4] - Exchange SharePoint: Require Microsoft Entra hybrid join For VIP users.


3. Les assignments#

Anatomie d'une stratégie

3.1 Users or workload identities#

Choix Détail et pièges
All users, Users and groups Les groupes imbriqués sont pris en compte ; l'exclusion l'emporte
Directory roles Seuls les rôles intégrés sont pris en charge : les rôles custom et les attributions scoped à une administrative unit ne sont pas appliqués
Guests or external users Par type : B2B collaboration guest / member, B2B direct connect user, internal guest, service provider, other external user ; par tenant externe
Agents (preview) Agent identities (voir SC-500 · 07)
Workload identities Service principals single tenant de votre tenant uniquement ; pas les apps multitenant ni les managed identities ; un service principal dans un groupe n'est pas couvert, il doit être ajouté directement

Une stratégie qui cible des rôles ou des groupes n'est évaluée qu'à l'émission d'un jeton (SC-500 · 3.3).

3.2 Target resources#

Cible Ce qu'il faut savoir
Office 365 Regroupe Exchange, SharePoint, Teams… : à préférer aux apps une par une, à cause des service dependencies (Teams dépend de SharePoint et d'Exchange)
Windows Azure Service Management API Azure Resource Manager, Azure portal (et l'Entra admin center), Data Lake, Application Insights API, Log Analytics API ; touche aussi Azure CLI et Azure PowerShell, mais pas Microsoft Graph PowerShell, et ne couvre plus Azure DevOps
Microsoft Admin Portals Exchange admin center, Azure portal, Microsoft 365 admin center, portail de sécurité et conformité ; pensé pour l'inclusion, pas pour exclure tous les back-ends
All resources Couvre tout, y compris les ressources non sélectionnables (Azure AD Graph) et les profils Global Secure Access ; depuis mars 2026, les scopes « faible privilège » ne sont plus exemptés quand la stratégie a une exclusion de ressource
User actions Register security information ; Register or join devices (seuls MFA et authentication strength sont disponibles, pas de client apps, de filter for devices ni de device state ; régler le paramètre d'appareil Require Multifactor Authentication to register or join devices sur No)
Authentication context Voir 9
Global Secure Access All internet resources with Global Secure Access (profil Internet Access)
All agent resources (preview) Jetons vers les agent identity blueprint principals et agent identities

Conditional Access s'applique aux ressources, pas aux clients publics (Outlook, Teams desktop) : on ne peut pas sélectionner une application cliente native. Exception : un confidential client qui demande un ID token est lui-même évalué.

3.3 Network : named locations#

Le condition Location a été renommée Network (sans changement de comportement). Choix possibles : Any network or location, All trusted networks and locations, All Compliant Network locations (Global Secure Access), Selected networks and locations.

Type de named location Limites et détails
IP ranges (IPv4, IPv6 en CIDR) 195 named locations au plus, 2 000 plages par location, masque supérieur à /8 ; adresse publique de sortie, pas l'IP privée du poste ; option Mark as trusted location (améliore aussi le calcul de risque d'ID Protection)
Countries / regions Déterminé par IP ou par GPS (Microsoft Authenticator, vérification toutes les heures, détection de jailbreak) ; option Include unknown countries/regions
MFA trusted IPs Ancien réglage du service MFA (IPv4 seulement) : déconseillé, apparaît comme MFA Trusted IPs
Compliant network Utilisateurs et appareils passant par Global Secure Access (voir 06)

Proxy ou VPN cloud : l'IP évaluée est celle du proxy ; l'en-tête X-Forwarded-For n'est pas utilisé. Microsoft recommande plutôt les contrôles d'appareil (compliant, hybrid joined) ou la source IP restoration de Global Secure Access.

Quand la location est-elle réévaluée ? À la connexion, puis à chaque renouvellement du jeton d'accès (environ toutes les heures) pour les apps à authentification moderne.

3.4 Conditions#

Condition Usage typique
User risk, sign-in risk (P2), insider risk (Microsoft Purview) Remédiation automatique (voir 06)
Device platforms Bloquer les plateformes inconnues ou non prises en charge
Client apps Bloquer la legacy authentication : cocher Exchange ActiveSync clients et Other clients
Filter for devices Cibler ou exclure des appareils par attribut (voir 6.3)
Authentication flows Device code flow et authentication transfer (QR code Outlook PC → mobile, preview)

Protocol tracking : une session ouverte par device code flow ou authentication transfer reste marquée ; les renouvellements suivants, même par un autre flux, restent soumis aux stratégies Authentication flows. Erreur typique : AADSTS530036. Indice dans les sign-in logs : la propriété Original transfer method. Exclure la ressource Device Registration Service d'une stratégie qui bloque le device code flow sur All resources si ce flux sert à inscrire des appareils (Teams Rooms, par exemple).


4. Les grant controls#

Contrôle Remarque
Block access L'emporte sur tout ; tester avant d'activer à grande échelle
Require multifactor authentication Ne pas combiner avec une authentication strength dans la même stratégie (SC-500 · 2.4)
Require authentication strength MFA, passwordless MFA, phishing-resistant MFA, ou force personnalisée
Require device to be marked as compliant Intune (ou MDM partenaire intégré)
Require Microsoft Entra hybrid joined device Appareil joint à l'AD local et inscrit dans Entra ID
Require approved client app / app protection policy Mobiles iOS et Android avec Intune MAM
Require password change Utilisé avec le user risk
Require terms of use Voir 09

Plusieurs contrôles : Require all the selected controls (par défaut, ET) ou Require one of the selected controls (OU). Pour une workload identity, Block access est le seul contrôle disponible.


5. Session management#

Les session controls

5.1 Sign-in frequency#

  • Défaut Entra : fenêtre glissante de 90 jours ; Entra ne redemande rien tant que la posture de la session ne change pas (mot de passe changé, compte désactivé, appareil non conforme révoquent la session).
  • Valeur en heures ou jours, ou Every time : réauthentification complète quand la session est évaluée, avec 5 minutes de tolérance d'horloge. À réserver aux cas sensibles (élévation PIM, inscription Intune, risque, Azure Virtual Desktop). Every time sans MFA peut créer une boucle de connexion.
  • Sign-in frequency s'applique aussi à la MFA. Sur un appareil joint ou hybrid joined, le PRT est rafraîchi au plus toutes les 4 heures au déverrouillage, ce qui explique des invites « décalées ».
  • Désactiver Remember MFA on trusted devices avant d'utiliser sign-in frequency.
  • La configurable token lifetime pour les refresh et session tokens est retirée (30/01/2021) au profit de ces contrôles.

5.2 Persistent browser session#

Réponse à l'invite Stay signed in? : Always persistent ou Never persistent. Les cookies persistants restent utilisables jusqu'à expiration du jeton : Never persistent pour les appareils non gérés. L'invite elle-même se règle dans le Company branding.

5.3 Les autres session controls#

Contrôle À retenir
Use app enforced restrictions Entra passe l'état de l'appareil à Exchange Online et SharePoint Online, qui donnent un accès complet ou limité (voir 6.2)
Use Conditional Access App Control Session routée vers Defender for Cloud Apps (bloquer le téléchargement, surveiller) : politiques au chapitre 08
Require token protection N'accepte que des jetons de session liés à l'appareil (PRT) : Exchange, SharePoint, Teams en apps natives (Windows GA, iOS / iPadOS et macOS avec MDM), Azure Virtual Desktop et Windows 365 sur Windows ; apps web vers Azure Resource Manager en preview ; déployer d'abord en Report-only en analysant les connexions interactives et non interactives
Customize continuous access evaluation Voir 8
Disable resilience defaults Pendant une panne d'Entra, les sessions existantes ne sont plus prolongées : accès refusé à l'expiration
Global Secure Access security profile Relie la stratégie à un profil de filtrage Internet Access

6. Device-enforced restrictions#

6.1 Exiger un appareil géré#

Deux grant controls imposent l'état de l'appareil : compliant (Intune) et Microsoft Entra hybrid joined. Le template Require compliant or Microsoft Entra hybrid joined device or multifactor authentication for all users les combine en OU avec la MFA. Attention : sur Mac, iOS et Android, une stratégie compliant device peut demander de choisir un certificat d'appareil.

6.2 App enforced restrictions pour les appareils non gérés#

Pour limiter plutôt que bloquer (lecture web seule, pas de téléchargement), on combine :

  1. une stratégie CA avec le session control Use app enforced restrictions (template Use application enforced restrictions for unmanaged devices) ;
  2. le réglage côté SharePoint admin center › Policies › Access control › Unmanaged devices (Allow limited, web-only access ou Block access), qui crée lui-même une stratégie CA ;
  3. au besoin, site par site :
# SharePoint Online Management Shell : limiter un site sensible depuis les appareils non gérés
Set-SPOSite -Identity https://contoso.sharepoint.com/sites/finance -ConditionalAccessPolicy AllowLimitedAccess
# ou BlockAccess ; un site ne peut pas être plus permissif que le réglage de l'organisation

Les liens « Anyone » ne sont pas concernés par ces stratégies : les désactiver sur les sites protégés.

6.3 Filter for devices#

Filter for devices

Attributs utiles Exemple de règle
trustType (AzureAD, ServerAD, Workplace) device.trustType -eq "ServerAD"
isCompliant device.isCompliant -eq "True"
deviceOwnership (Personal, Company) device.deviceOwnership -eq "Company"
operatingSystem, operatingSystemVersion device.operatingSystemVersion -startsWith "10.0"
extensionAttribute1 à 15 device.extensionAttribute1 -eq "SAW"
profileType, systemLabels, enrollmentProfileName, physicalIds, mdmAppId, model, manufacturer, displayName, deviceId selon le cas

Règles à connaître :

  • Un appareil non inscrit a tous ses attributs vides : un filtre à opérateur positif ne s'applique pas, un opérateur négatif s'applique. Pour viser les appareils non inscrits, utiliser un opérateur négatif.
  • Les extensionAttributes ne sont lus que si l'appareil est géré par Intune, conforme ou hybrid joined.
  • Au moins une propriété système ou configurée par l'administrateur ; règle de 3 072 caractères au plus.
  • Exemple Microsoft pour les postes d'administration (PAW / SAW) : stratégie 1 « admins → Azure management → MFA et compliant » ; stratégie 2 « admins → Azure management → Block, en excluant les appareils extensionAttribute1 -eq "SAW" ».

7. Tester et dépanner#

7.1 Report-only et Policy impact#

En Report-only, la stratégie est évaluée sans être appliquée. Les résultats possibles :

Résultat Sens
Report-only: Success Conditions remplies, contrôles non interactifs satisfaits (MFA déjà dans le jeton, appareil conforme)
Report-only: Failure Conditions remplies mais contrôle non satisfait (Block, appareil non conforme)
Report-only: User action required Il faudrait une action de l'utilisateur (MFA, terms of use) : le Report-only ne la demande pas
Report-only: Not applied Conditions non remplies (utilisateur exclu, autre location)

Trois façons de lire l'impact : l'onglet Report-only d'une connexion dans les sign-in logs ; la vue Policy impact (Security Reader, sur 24 heures, 7 jours ou 1 mois) ; le Conditional Access Insights and reporting workbook.

Bonne pratique pour modifier une stratégie active : en créer une copie en Report-only avec la modification, comparer, puis mettre à jour l'originale. Passer une stratégie de On à Report-only désactive son application.

7.2 Le workbook Insights and reporting#

Prérequis Détail
Licence P1
Données Sign-in logs envoyés vers un Log Analytics workspace (diagnostic settings, voir 10)
Rôles Security Reader au minimum, plus des droits sur le workspace

Il affiche le résumé d'impact (Total, Success, Failure, User action required, Not applied), la répartition par condition (device state, platform, client app, location, application, sign-in risk) et les connexions d'un utilisateur, sur 4 heures à 90 jours.

// Connexions bloquées par une stratégie Conditional Access, les 7 derniers jours (exemple construit sur les colonnes
// ConditionalAccessStatus et ConditionalAccessPolicies de SigninLogs)
SigninLogs
| where TimeGenerated > ago(7d)
| where ConditionalAccessStatus == "failure"
| mv-expand Policy = ConditionalAccessPolicies
| where tostring(Policy.result) == "failure"
| summarize Echecs = count() by Strategie = tostring(Policy.displayName), AppDisplayName
| order by Echecs desc

7.3 What If#

Entra ID › Conditional Access › Policies › What If. Il simule une connexion pour un user, une agent identity (preview) ou un service principal single tenant, et liste les stratégies qui s'appliquent (avec leurs contrôles) et celles qui ne s'appliquent pas (avec la première condition non remplie).

  • Conditions obligatoires : identité, ressource cible, device platform, client app ; les autres valent none par défaut.
  • N'évalue que les stratégies On ou Report-only.
  • Indiquer l'App ID : les groupes d'apps (Office 365, Microsoft Admin Portals) ne correspondent pas.
  • Ne teste pas les service dependencies (Teams → Exchange).
  • Le nouvel outil s'appuie sur une API Graph publique (What If evaluation API) et demande tous les paramètres : une stratégie avec une condition non renseignée dans la simulation est donnée comme non applicable.
  • Il signale aussi s'il reste des classic policies.

7.4 Les sign-in logs#

Dépanner un blocage

  1. Collecter : UPN, nom, OS, horodatage, application, type de client, Correlation ID (bouton More details de la page d'erreur).
  2. Entra ID › Monitoring & health › Sign-in logs (Reports Reader au minimum) : filtrer par Correlation ID, Conditional Access, utilisateur, date, ressource.
  3. Onglet Conditional Access : chaque stratégie avec son résultat. Statut global : Success, Failure, Not applied ; par stratégie : Success, Failure, Not applied, Not enabled.
  4. Onglet Troubleshooting and support : la cause est souvent explicite (appareil non conforme).
  5. Audience : toutes les ressources réellement demandées pendant la connexion ; explique pourquoi une stratégie SharePoint s'applique à une connexion « Teams ».
  6. Pour un service principal : onglet Service principal sign-ins.

Cas classiques : Windows Hello for Business et les scénarios d'amorçage (device registration, compliance) apparaissent Not applied ; une stratégie peut afficher Failure alors que la connexion réussit (Report-only, contrôles en OU, session control non applicable sur ce client).

flowchart TD
    A["Utilisateur bloqué"] --> B["Correlation ID via More details"]
    B --> C["Sign-in logs : onglet Conditional Access"]
    C --> D{"Une stratégie en Failure ?"}
    D -- "Oui" --> E["Ouvrir la stratégie : contrôle non satisfait ou Block"]
    D -- "Non" --> F["Vérifier l'Audience : service dependency ?"]
    E --> G{"Comportement attendu ?"}
    G -- "Non" --> H["Corriger la stratégie en Report-only, valider avec What If"]
    G -- "Oui" --> I["Accompagner l'utilisateur : inscription MFA, conformité"]
    F --> H

8. Continuous access evaluation (CAE)#

Le fonctionnement (événements critiques, jetons jusqu'à 28 heures, 15 minutes de propagation) est dans SC-500 · 3.4. Côté administrateur :

Point Détail
Activation CAE est activé automatiquement ; son réglage a migré dans Conditional Access (anciens réglages : bouton Migrate)
Désactiver Session control Customize continuous access evaluation › Disable, seulement avec All resources et aucune condition
Strictly enforce location policies Même session control ; l'accès est bloqué dès que l'IP vue par la ressource n'est pas autorisée
Guests CAE ne prend pas en charge les guests
Changement de groupe ou de stratégie Jusqu'à un jour pour être pris en compte par les ressources ; pour l'immédiat : Revoke sessions (profil utilisateur) ou Revoke-MgUserSignInSession
Sign-in frequency Respectée avec ou sans CAE

CAE standard ou strict

Déploiement du mode strict : stratégie de location testée sur un petit groupe, puis vérification de la colonne IP address (seen by resource) des sign-in logs (vide quand les deux IP sont identiques) et du workbook Continuous Access Evaluation Insights, ajout des IP de sortie manquantes aux named locations, et élargissement par vagues. À éviter avec des IP de sortie partagées ou inconnues, ou quand du trafic non Microsoft 365 passe par Global Secure Access.

# Révoquer toutes les sessions d'un utilisateur compromis (Microsoft Graph PowerShell)
Connect-MgGraph -Scopes "User.RevokeSessions.All"
Revoke-MgUserSignInSession -UserId "[email protected]"

9. Authentication context#

Un authentication context est une étiquette (c1 à c99) qu'une application ou un service demande au moment d'accéder à une donnée ou une action sensible ; la stratégie CA qui cible cette étiquette impose ses exigences à ce moment-là (step-up).

Étape Où
Créer le contexte Entra ID › Conditional Access › Authentication context › New : Display name, Description, Publish to apps (sinon invisible des ressources), ID en lecture seule
Le cibler Stratégie › Target resources › Authentication context
Le poser sur la ressource Sensitivity labels (sites SharePoint, Teams, groupes Microsoft 365), Defender for Cloud Apps (step-up de session), applications personnalisées (claims challenge), PIM (On activation, require Microsoft Entra Conditional Access authentication context), protected actions
  • Un authentication context fonctionne avec des users ou des workload identities, mais pas les deux dans la même stratégie.
  • Pour supprimer un contexte : plus aucune stratégie assignée et Publish to apps décoché.
  • Choisir des noms réutilisables (Trusted devices, Phishing-resistant) pour limiter le nombre de redirections.
  • L'ID du contexte est la valeur émise dans la claim acrs du jeton d'accès, que l'application vérifie. La page Conditional Access dit « jusqu'à 99 authentication context definitions (c1-c99) » (réponse d'examen) ; la référence de la ressource Graph authenticationContextClassReference (v1.0) indique encore c1 à c25 : retenir que l'ID est de la forme cN.
# Créer (ou mettre à jour) l'authentication context c1 (Microsoft Graph PowerShell, v1.0)
Connect-MgGraph -Scopes "AuthenticationContext.ReadWrite.All"
$params = @{ displayName = "Phishing-resistant"; description = "Actions sensibles"; isAvailable = $true }   # isAvailable = Publish to apps
Update-MgIdentityConditionalAccessAuthenticationContextClassReference -AuthenticationContextClassReferenceId "c1" -BodyParameter $params

10. Protected actions#

Protected actions

Une protected action est une permission Microsoft Entra à laquelle on associe un authentication context : la stratégie CA s'applique au moment où l'administrateur exécute l'action, quel que soit le rôle qui lui donne la permission.

Domaine protégeable Exemples de permissions
Stratégies Conditional Access microsoft.directory/conditionalAccessPolicies/create, …/basic/update, …/delete
Cross-tenant access settings microsoft.directory/crossTenantAccessPolicy/… (B2B collaboration, direct connect, tenant restrictions, partners)
Named locations microsoft.directory/namedLocations/create, …/basic/update, …/delete
Hard delete microsoft.directory/deletedItems/delete (users, groupes Microsoft 365, groupes de sécurité cloud, applications)
Protected actions eux-mêmes microsoft.directory/resourceNamespaces/resourceActions/authenticationContext/update

Mise en place, dans cet ordre (sinon boucle de réauthentification) :

  1. rôle Conditional Access Administrator ou Security Administrator ;
  2. créer l'authentication context et la stratégie CA qui le cible (ex. passwordless ou phishing-resistant MFA, en excluant un compte d'urgence) ;
  3. Entra ID › Roles & admins › Protected actions : associer le contexte aux permissions ;
  4. tester en effectuant l'action.
Fonctionne (step-up géré) Échoue
Microsoft Entra admin center, Microsoft Graph PowerShell, Graph Explorer Azure PowerShell ; création d'un terms of use ou d'un custom control (enregistrés comme objets CA : retirer temporairement l'exigence)

Protected actions ou PIM ? L'authentication context sur l'activation PIM protège l'obtention du rôle ; la protected action protège une action précise, indépendamment du rôle. Les deux se combinent. Une protected action ne sert pas à interdire une permission à quelqu'un : c'est le rôle qui décide qui a le droit. Licence : P1.

Bonnes pratiques Microsoft : migrer les stratégies de risque d'ID Protection vers Conditional Access et utiliser des named locations plutôt que les MFA trusted IPs, car ces anciens réglages ne passent pas par les permissions protégées.

sequenceDiagram
    actor A as Conditional Access Administrator
    participant P as Entra admin center
    participant E as Microsoft Entra ID
    A->>P: Modifier une stratégie CA
    P->>E: PATCH conditionalAccessPolicies
    E-->>P: Claims challenge, authentication context c1 requis
    P->>A: Invite de step-up
    A->>E: Clé FIDO2 (phishing-resistant MFA)
    E-->>P: Jeton avec acrs c1
    P->>E: PATCH rejoué
    E-->>P: Stratégie modifiée

11. Templates, Microsoft-managed policies et security defaults#

11.1 Créer depuis un template#

Entra ID › Conditional Access › Create new policy from templates. Catégories : Secure foundation, Zero Trust, Remote work, Protect administrator, Emerging threats, AI Agents.

Comportement Conséquence
Créée en Report-only Tester avant de passer à On
N'exclut que le créateur Ajouter les comptes d'urgence et les comptes de service à exclure
Résumé, édition, export JSON Réimport par Upload policy file : base pour la gestion en code

Templates à connaître : Require MFA for admins · Securing security info registration · Block legacy authentication · Require MFA for admins accessing Microsoft admin portals · Require MFA for all users · Require MFA for Azure management · Require compliant or hybrid joined device or MFA · Require compliant device · Require MFA for guest access · MFA for risky sign-ins (P2) · Require password change for high-risk users (P2) · Block unknown or unsupported device platform · No persistent browser session · Require approved client apps or app protection policies · Use application enforced restrictions for unmanaged devices · Require phishing-resistant MFA for administrators · Block access for users with insider risk (Microsoft Purview).

11.2 Classic policies#

Les classic policies ne s'appliquent plus depuis le 10/07/2024. Migration : Conditional Access › Classic policies, documenter la configuration, la recréer (template ou custom, testée en Report-only), puis Disable (impossible de la réactiver ensuite).

11.3 Microsoft-managed policies#

Microsoft crée certaines stratégies dans les tenants éligibles, en Report-only, puis les active au plus tôt 30 jours après (préavis de 2 semaines par e-mail et Message center). On peut les activer plus tôt, les passer à Off ou exclure des utilisateurs, mais ni les renommer ni les supprimer. Exemples : Block legacy authentication · Block device code flow · MFA for admins accessing Microsoft Admin Portals · MFA for all users · MFA for per-user MFA users · MFA and reauthentication for risky sign-ins · Block access for high-risk users · Require remediation for high-risk users · Block all high risk agents (preview).

11.4 Passer des security defaults à Conditional Access#

  1. Entra ID › Overview › Properties › Manage security defaults › Disabled (Conditional Access Administrator au minimum).
  2. Recréer la base : MFA pour tous, MFA (ou phishing-resistant MFA) pour les admins, Block legacy authentication, MFA pour Azure management, ou s'appuyer sur les Microsoft-managed policies.
  3. Avec P2 : ajouter les stratégies de risque.
  4. Les utilisateurs en per-user MFA apparaissent Disabled dans la page d'état MFA quand la MFA vient des security defaults ou de Conditional Access : c'est normal. Voir aussi SC-500 · 11.8 et le chapitre 04.

11.5 Conditional Access Optimization Agent#

Avec Microsoft Security Copilot (SCU provisionnées) et P1, l'agent analyse les stratégies, signale les trous de couverture et propose des stratégies, au besoin créées en Report-only puis approuvées par un administrateur.


12. Gérer Conditional Access en code#

Outil Usage
Microsoft Graph conditionalAccessPolicy, namedLocation, authenticationContextClassReference API de référence ; state = enabled, disabled ou enabledForReportingButNotEnforced (Report-only)
Microsoft Graph PowerShell New-MgIdentityConditionalAccessPolicy, Get-, Update-, Remove- (exemple dans SC-500 · 3.3)
Terraform, fournisseur azuread azuread_conditional_access_policy, azuread_named_location
Export JSON des templates Point de départ, réimport par Upload policy file

Démarche « policy as code » recommandée par Microsoft : source control, revue, intégration continue, retour arrière possible ; et les protected actions pour que personne ne modifie une stratégie sans step-up.

# Stratégie en Report-only : MFA résistante au hameçonnage pour les administrateurs (azuread ~> 3.10)
resource "azuread_conditional_access_policy" "admins_phishing_resistant" {
  display_name = "CA10-AllApps-PhishingResistantMFA-Admins"
  state        = "enabledForReportingButNotEnforced"

  conditions {
    client_app_types = ["all"]

    applications {
      included_applications = ["All"]
    }

    users {
      included_roles  = ["62e90394-69f5-4237-9190-012177145e10"] # Global Administrator (role template ID)
      excluded_groups = [var.groupe_comptes_urgence_id]           # comptes d'accès d'urgence
    }
  }

  grant_controls {
    operator                          = "OR"
    authentication_strength_policy_id = "/policies/authenticationStrengthPolicies/00000000-0000-0000-0000-000000000004" # Phishing-resistant MFA (built-in)
  }
}

Points d'attention du fournisseur : permissions Policy.ReadWrite.ConditionalAccess et Policy.Read.All (service principal) ou rôle Conditional Access Administrator ; limite de 1 requête par seconde sur cette API ; client_applications (service principals) demande des licences Workload ID Premium ; un filter d'applications demande le rôle Attribute Definition Reader.

L'ID …0004 de la force Phishing-resistant MFA intégrée est celui que l'on retrouve dans les exemples Microsoft Graph ; le vérifier dans le tenant (Get-MgPolicyAuthenticationStrengthPolicy) avant de l'utiliser.


13. Labs conseillés#

À faire dans un tenant de test (essai Microsoft Entra ID P1 / P2 de 30 jours), avec un compte d'urgence exclu de tout.

  1. Jeu de base en Report-only
    • Créer depuis les templates Secure foundation : Require MFA for all users, Block legacy authentication, Require MFA for admins.
    • Ajouter le groupe des comptes d'urgence aux exclusions.
    • Se connecter avec un utilisateur de test, puis ouvrir la connexion › onglet Report-only.
    • Attendu : Report-only: User action required sur la stratégie MFA.
  2. What If et Audience
    • Créer une named location « Pays autorisés » et une stratégie Block hors de ces pays, en Report-only.
    • Lancer What If pour l'utilisateur de test avec Office 365 puis avec l'App ID d'Exchange Online.
    • Attendu : le groupe Office 365 ne correspond pas dans What If, l'App ID oui ; dans les sign-in logs, l'Audience liste les ressources réelles.
  3. Bloquer le device code flow
    • Stratégie Authentication flows › Device code flow › Block sur l'utilisateur de test, en On.
    • Lancer az login --use-device-code avec ce compte.
    • Attendu : connexion refusée ; dans les sign-in logs, l'Authentication protocol vaut Device code et la stratégie est en Failure.
  4. Authentication context et protected actions
    • Créer c1 « Phishing-resistant », publié aux apps, et une stratégie qui l'exige (compte d'urgence exclu).
    • Associer c1 aux permissions conditionalAccessPolicies/basic/update dans Protected actions.
    • Modifier une stratégie depuis l'admin center, puis depuis Azure PowerShell.
    • Attendu : step-up dans le portail ; échec avec Azure PowerShell.
  5. Stratégie en code
    • Déclarer la stratégie Terraform de la section 12 en enabledForReportingButNotEnforced, la déployer dans le tenant de test, puis la retrouver dans le portail.
    • Nettoyage : terraform destroy, puis vérifier dans Deleted policies (30 jours de soft delete).

Coût : essai P1 / P2 gratuit ; supprimer les stratégies de test et désactiver l'essai à la fin.


14. Les pièges d'examen#

Situation dans la question Réponse attendue Pourquoi
Une stratégie « Finance → Payroll → MFA » ; les autres doivent être bloqués Ajouter une stratégie All users sauf Finance → Payroll → Block Sans stratégie applicable, le jeton est émis
Exiger la MFA pour un rôle custom ou un rôle limité à une administrative unit Cibler un groupe des personnes concernées Directory roles : rôles intégrés seulement
Une stratégie sur un groupe contenant des service principals ne les bloque pas Ajouter les SP directement comme workload identities Les SP dans un groupe ne sont pas couverts
Bloquer une managed identity hors d'une plage IP Pas possible par Conditional Access ; access review à la place Managed identities non couvertes
Restreindre l'accès aux portails et à Azure CLI / PowerShell Cible Windows Azure Service Management API Ne couvre ni Microsoft Graph PowerShell ni Azure DevOps
MFA pour l'inscription d'appareils par Conditional Access User action Register or join devices + réglage de device settings à No Sinon la stratégie n'est pas correctement appliquée
Accès en lecture seule à SharePoint depuis un appareil personnel App enforced restrictions + Unmanaged devices limited, web-only Limiter sans bloquer
Postes d'admin dédiés uniquement Filter for devices (extensionAttribute1 -eq "SAW") en exclusion d'une stratégie Block Exemple PAW Microsoft
Viser les appareils non inscrits avec un filtre Utiliser un opérateur négatif Attributs vides pour un appareil non inscrit
Valider l'effet d'une stratégie sans impact utilisateur Report-only, puis Policy impact ou workbook Le What If ne voit que des simulations
What If « ne trouve pas » une stratégie sur Office 365 Indiquer l'App ID Les groupes d'apps ne correspondent pas dans What If
What If dit OK mais Teams est bloqué Service dependency (SharePoint, Exchange) : voir l'Audience What If ne teste pas les dépendances
Exiger une MFA forte seulement quand on modifie une stratégie CA Protected action (authentication context) Évalué au moment de l'action
Protected action configurée, boucle de réauthentification Créer d'abord le contexte et sa stratégie, puis la protected action Ordre imposé
Protected action et Azure PowerShell Échec attendu ; utiliser Graph PowerShell ou le portail Azure PowerShell ne gère pas le step-up
Couper l'accès immédiatement après un changement de groupe Revoke sessions / Revoke-MgUserSignInSession Jusqu'à un jour de délai sinon
CAE pour les invités Non pris en charge Limitation documentée
Bloquer dès que l'IP vue par Exchange n'est pas autorisée Strictly enforce location policies Le mode standard se replie en split tunnel
Désactiver la CAE Customize CAE › Disable, avec All resources et sans condition Seule configuration acceptée
Template appliqué, admins verrouillés Le template n'exclut que son créateur Ajouter les comptes d'urgence
Impossible d'activer les security defaults Supprimer toutes les stratégies CA, même Off ou Report-only Exclusivité mutuelle
Sign-in frequency avec invites incohérentes Désactiver Remember MFA on trusted devices Les deux réglages se contrarient
Every time sans MFA Boucle de connexion Toujours combiner avec la MFA
Location fausse derrière un proxy cloud L'IP du proxy est évaluée ; source IP restoration ou contrôles d'appareil X-Forwarded-For ignoré

15. Scénarios d'entraînement#

1. Contoso a 180 stratégies, une par application. Les nouvelles applications ne sont couvertes par aucune. Que recommander ?

Regrouper par personas et par exigences communes, avec une base All users · All resources · MFA sans exclusion de ressource ; utiliser le filter for applications (custom security attributes) pour les cas particuliers. Rester sous les 240 stratégies.

2. Une stratégie exige la MFA pour le rôle Helpdesk Administrator limité à l'AU Paris. Les membres ne sont jamais invités. Pourquoi ?

Conditional Access n'applique pas les attributions de rôle scoped à une administrative unit (ni les rôles custom). Cibler un groupe de ces administrateurs.

3. Les développeurs utilisent un service principal depuis GitHub Actions. On veut le bloquer en dehors des IP connues. Licence et configuration ?

Workload ID Premium ; stratégie Workload identities › service principal sélectionné directement, All resources, Network : Any sauf les IP connues, Grant : Block. Les managed identities ne sont pas couvertes.

4. Un utilisateur se plaint d'être bloqué dans Teams alors qu'aucune stratégie ne vise Teams. Démarche ?

Récupérer le Correlation ID, ouvrir la connexion dans les sign-in logs › onglet Conditional Access, regarder l'Audience : une stratégie sur SharePoint ou Exchange s'applique par service dependency. Cibler plutôt le groupe Office 365.

5. La direction veut que la modification d'une stratégie Conditional Access exige une clé FIDO2, même pour un Global Administrator actif en permanence. Solution ?

Créer un authentication context et une stratégie Phishing-resistant MFA qui le cible (compte d'urgence exclu), puis l'associer aux permissions conditionalAccessPolicies/* dans Protected actions. Licence P1.

6. Les commerciaux doivent pouvoir lire les documents SharePoint depuis leur ordinateur personnel, sans pouvoir les télécharger.

Use app enforced restrictions dans une stratégie CA, et SharePoint › Access control › Unmanaged devices › Allow limited, web-only access (ou Set-SPOSite … -ConditionalAccessPolicy AllowLimitedAccess sur les sites concernés). Désactiver les liens « Anyone ».

7. Les administrateurs Azure ne doivent accéder au portail et à la CLI que depuis des postes dédiés marqués SAW. Comment ?

Deux stratégies sur Windows Azure Service Management API : (1) MFA et compliant device ; (2) Block en excluant les appareils filtrés device.extensionAttribute1 -eq "SAW". Les attributs ne sont lus que sur des appareils gérés.

8. Avant d'activer une stratégie « Require compliant device » pour tous, que faire ?

La créer en Report-only, exclure les comptes d'urgence, analyser une semaine les résultats (User action required, Failure) dans Policy impact ou le workbook, tester avec What If, puis activer par vagues.

9. Un utilisateur est retiré d'un groupe exempté d'une stratégie. Deux heures après, il accède encore à Exchange sans MFA. Pourquoi et que faire ?

Les changements de groupe peuvent mettre jusqu'à un jour à être pris en compte par les ressources CAE. Revoke sessions (ou Revoke-MgUserSignInSession) pour forcer une nouvelle évaluation.

10. Le tenant a les security defaults activés et vient d'acheter Microsoft 365 E3. Les stratégies créées restent inactives. Démarche ?

Désactiver les security defaults (Properties › Manage security defaults), puis activer les stratégies de base (MFA pour tous, pour les admins, Block legacy authentication, MFA pour Azure management) ou les Microsoft-managed policies.


16. Pour aller plus loin#

  • Resilient access controls : préparer des stratégies de secours désactivées (EM01…) et comprendre les resilience defaults.
  • Universal CAE avec Global Secure Access et CAE pour Application Proxy : la CAE s'étend au trafic réseau et aux applications locales publiées (voir 06 et 07).
  • Agents : templates AI Agents (bloquer les agent identities à risque élevé, stratégies pour les agents autonomes ou on-behalf-of) et cible All agent resources (preview).
  • Coverage tab de Conditional Access : applications sans stratégie sur les 7 derniers jours.

17. Fiche à retenir#

  • Licence P1 ; risque P2 ; service principals Workload ID Premium ; 240 stratégies ; 30 jours de soft delete.
  • Lecture : Security Reader ; création : Conditional Access Administrator.
  • Sans stratégie applicable, le jeton est émis : bloquer explicitement les autres.
  • Directory roles : rôles intégrés seulement ; SP directement, pas via un groupe ; managed identities non couvertes.
  • Windows Azure Service Management API couvre portail, ARM, Azure CLI et PowerShell, pas Graph PowerShell ni Azure DevOps.
  • User action Register or join devices : MFA ou authentication strength seulement, réglage d'appareil à No.
  • Named locations : 195, 2 000 plages, IP publique ; MFA trusted IPs déconseillées ; IP du proxy évaluée.
  • Authentication flows : device code flow, authentication transfer, protocol tracking (AADSTS530036).
  • Sign-in frequency : défaut 90 jours glissants ; Every time avec MFA ; désactiver Remember MFA.
  • App enforced restrictions : Exchange et SharePoint, pour l'accès limité depuis l'appareil non géré.
  • Filter for devices : opérateur négatif pour viser les non-inscrits ; extensionAttributes si l'appareil est géré.
  • Report-only : Success, Failure, User action required, Not applied ; Policy impact ; workbook (P1 + Log Analytics).
  • What If : identité, ressource, plateforme, client app obligatoires ; App ID ; pas de service dependencies.
  • Sign-in logs : Correlation ID, onglet Conditional Access, Audience, Troubleshooting and support.
  • CAE : Disable seulement avec All resources sans condition ; strict location : IP dédiées ; pas pour les guests.
  • Authentication context c1 à c99, Publish to apps ; users ou workload identities, pas les deux.
  • Protected actions : contexte + stratégie avant, P1, Graph PowerShell oui, Azure PowerShell non.
  • Templates : Report-only, n'excluent que le créateur, export JSON ; classic policies mortes depuis le 10/07/2024.
  • Microsoft-managed policies : activées 30 jours au plus tôt, on peut les mettre Off, pas les supprimer.

Références#

Toutes lues le 21/10/2026 sur Microsoft Learn et le registre Terraform :

Sur cette page
Échap

Tape au moins 2 lettres. Plusieurs mots : tous doivent apparaître.