conditional-access-review
Skill0 starsChanged 12 days agoMITView on GitHub
Review Microsoft Entra Conditional Access for gaps — MFA coverage for all users and apps, phishing-resistant MFA for admins, legacy authentication blocking, device compliance, token protection, risk-based policies, exclusions and report-only policies — using policy exports and sign-in log evidence. Use when assessing Entra ID security, troubleshooting why a sign-in wasn't challenged, or after an account takeover.
In this repository273 other files it gives its agents.
- ad-attack-path-analysisSkill
- adcs-security-reviewSkill
- ad-privileged-access-reviewSkill
- dcsync-detectionSkill
- gpo-security-reviewSkill
- kerberos-attack-detectionSkill
- agent-tool-permission-reviewSkill
- ai-incident-responseSkill
- llm-gateway-controlsSkill
- llm-security-evaluationSkill
- mcp-server-security-reviewSkill
- model-artifact-securitySkill
- prompt-injection-reviewSkill
- rag-security-reviewSkill
- api-abuse-detectionSkill
- api-authorization-testingSkill
- api-inventorySkill
- api-schema-securitySkill
- dast-baselineSkill
- sast-triageSkill
- sca-dependency-riskSkill
- secure-code-reviewSkill
- security-requirementsSkill
- threat-modelingSkill
- asset-criticality-tieringSkill
- asset-inventory-reconciliationSkill
- external-attack-surface-reviewSkill
- shadow-it-discoverySkill
- aws-credential-compromiseSkill
- aws-iam-reviewSkill
- aws-org-guardrailsSkill
- cloudtrail-investigationSkill
- guardduty-triageSkill
- s3-exposure-reviewSkill
- azure-activity-investigationSkill
- azure-rbac-reviewSkill
- entra-audit-investigationSkill
- entra-signin-investigationSkill
- backup-assuranceSkill
- critical-service-mappingSkill
- ransomware-recoverySkill
- recovery-exerciseSkill
- cloud-exposure-reviewSkill
- cloud-incident-responseSkill
- cloud-logging-baselineSkill
- cloud-posture-assessmentSkill
- audit-evidence-packageSkill
- continuous-control-monitoringSkill
- control-mappingSkill
- control-testing-samplingSkill
- container-incidentSkill
- dockerfile-hardeningSkill
- image-scanningSkill
- runtime-detection-falcoSkill
- db-audit-loggingSkill
- db-exfiltration-investigationSkill
- db-hardeningSkill
- db-privilege-reviewSkill
- data-classificationSkill
- data-discoverySkill
- The first 60 shown.
The file
Files
Conditional Access Review
Export policies
Connect-MgGraph -Scopes "Policy.Read.All"
Get-MgIdentityConditionalAccessPolicy -All | ConvertTo-Json -Depth 10 > ca-policies.jsonTools: Microsoft's CA templates / "What If", Maester (Pester-based Entra tests: Invoke-Maester), CISA ScubaGear for M365 baselines (Invoke-SCuBA).
Baseline policy set (Microsoft guidance)
- Require MFA for all users, all resources (exclude only break-glass accounts).
- Require phishing-resistant MFA (FIDO2, Windows Hello for Business, certificate-based) for privileged roles (authentication strength).
- Block legacy authentication (client apps: Exchange ActiveSync, other clients).
- Require MFA for Azure management (Windows Azure Service Management API / Microsoft Admin Portals).
- Require compliant or hybrid-joined device for sensitive apps or for admins.
- Sign-in risk / user risk policies (Entra ID P2): require MFA / password change.
- Block or restrict device code flow and authentication transfer where not needed.
- Token protection (session binding) for supported apps where licensed.
Gap analysis with sign-in evidence
SigninLogs
| where TimeGenerated > ago(30d) and ResultType == "0"
| where AuthenticationRequirement == "singleFactorAuthentication"
| summarize count(), apps=make_set(AppDisplayName, 20) by UserPrincipalName, ClientAppUsed
| order by count_ descShows real single-factor successes — each is a gap or an intended exclusion. Also check ConditionalAccessStatus == "notApplied".
Common weaknesses
- Exclusions for groups that grow (e.g., "MFA exclusions" with dozens of users), service accounts used interactively, trusted named locations covering whole ISP ranges, policies left in report-only, guest users excluded, "All cloud apps" missing for some policies, device platform conditions bypassable with unknown platforms.
- Break-glass accounts without alerting on use.
Output
Policy | State | Users/apps scope | Exclusions (count, justification) | Gap | Evidence (sign-ins) | Recommendation
Related skills
entra-signin-investigation, authentication-policy-review, azure-rbac-review, token-theft-investigation
References
- Conditional Access policy templates: https://learn.microsoft.com/en-us/entra/identity/conditional-access/concept-conditional-access-policy-common
- Authentication strengths: https://learn.microsoft.com/en-us/entra/identity/authentication/concept-authentication-strengths
- Maester: https://maester.dev/
- CISA ScubaGear: https://github.com/cisagov/ScubaGear
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

