Join our Newsletter — 33% off our NHI Course

How do you ensure Conditional Access policies cover all users and cloud apps?

Ensure coverage by reviewing which users, groups, and cloud applications are included in every Conditional Access policy and by identifying any exclusions or gaps. Use a clear policy baseline, then compare it with actual sign-in activity to find accounts or apps that fall outside control. Recheck guest users, service accounts, and newly added apps after every change.

What “cover all users and cloud apps” really means in Conditional Access

A complete conditional access estate starts with scope, not settings. Every policy should clearly state which users, groups, guest accounts, service identities, and cloud applications it applies to, plus any deliberate exclusions. If the scope is ambiguous, you can have a policy that looks strong on paper while entire user populations or apps remain unmanaged in practice.

The practical test is whether every sign-in path is either covered by an intended policy or explicitly justified as an exception. That means checking for legacy exclusions, nested groups, newly onboarded apps, and administrative shortcuts that bypass the normal control pattern. A baseline policy matrix is usually the fastest way to expose drift between intended coverage and real coverage.

For coverage work, the most useful question is not “Do we have policies?” but “Which identities and apps are still outside policy influence?” That is where report-only evaluation, sign-in logs, and application inventory belong together. The policy set should be reviewed as a live control surface, not as a one-time design artifact.

Where coverage gaps usually appear

Gaps usually come from exclusion creep, app sprawl, and identity type mismatch. A policy may cover employees but miss guests, contractors, break-glass paths, or workloads that authenticate differently. Newly added SaaS apps and enterprise applications are a common blind spot because they are often introduced after the original policy baseline was defined.

Another common failure is assuming that a broad user policy automatically covers every cloud app. In practice, app targeting must be verified separately, especially where different business units register apps or where cloud platforms support multiple application types. NHIMG’s Conditional Access Guide is useful here because it ties policy design to report-only testing, sign-in signals, and gap analysis.

Coverage can also break when exceptions are inherited but not revisited. An exclusion added for troubleshooting, migration, or helpdesk recovery can persist long after the original reason has gone. In larger estates, the real risk is not a single weak rule, but a patchwork of exceptions that gradually empties the policy of its intended effect.

How to prove your policy baseline matches real sign-in activity

The strongest way to validate coverage is to compare the intended policy map with observed authentication traffic. Start with the user and app inventory, then reconcile it against sign-in activity to see which accounts, tenants, or workloads are not being evaluated by the expected policies. That is the point at which report-only results become more valuable than policy documentation alone.

Use the baseline to answer three questions: which identities are in scope, which cloud applications are in scope, and which exclusions are still active. Then check whether the same scope appears in actual sign-ins, including admin portals, service-to-service activity, and third-party applications. A policy that never sees a sign-in for a given app type is not fully proven until that app type has been tested or observed.

If you need a broader identity and cloud governance lens, NHIMG’s IAM and IGA Basics helps frame the lifecycle and entitlement side of the problem, while Multi-Cloud Identity Guide is relevant where the same users and apps span more than one cloud and policy drift can appear across boundaries.

Risk and Threat Considerations

Coverage gaps matter because Conditional Access is often the front line between a valid account and an allowed session. If a user, guest, or cloud app is outside policy scope, the attacker does not need to defeat the control, they only need to find the path it never evaluated. Exclusions for service accounts, emergency access, or newly registered apps are especially attractive because they are commonly left less strictly governed.

Failure mechanism: The policy baseline does not match the real identity and application inventory, so some sign-ins are never evaluated against the intended conditions. That can happen through stale exclusions, missing app assignments, orphaned guest access, or newly created cloud apps that were never added to the control set.

Impact: Users or workloads can authenticate without the expected restrictions, which expands the blast radius of token theft, password compromise, or unmanaged app consent. Over time, that turns a policy designed to reduce access risk into a false sense of coverage.

Standards & Framework Alignment

This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.

NIST SP 800-53 Rev 5 and CIS Controls v8 set the governance and control requirements practitioners need to meet.

Framework Control / Reference Relevance
NIST SP 800-53 Rev 5 AC-2 — Account Management Conditional Access scope depends on managing user and service accounts across the tenant.
AC-3 — Access Enforcement Policies must actually enforce access decisions for covered users and cloud apps.
IA-2 — Identification and Authentication (Organizational Users) Conditional Access protects authenticated user sessions and login paths for organizational users.
Recommendation — Review account scope and exclusions so all active identities remain under intended access control. Enforce access conditions consistently for every in-scope user and application. Validate that organizational user authentication paths are included in Conditional Access coverage.
CIS Controls v8 CIS-6 — Access Control Management Scope, exclusions, and least-privilege access control are central to Conditional Access coverage.
CIS-5 — Account Management Coverage requires inventorying accounts, guests, and service identities that can sign in.
Recommendation — Maintain an accurate access-control baseline and remove unintended exceptions promptly. Inventory all accounts and keep conditional-access scope aligned to the live population.

Practitioner Guidance

What to prioritise: Start with the identities and applications that can most easily bypass normal scrutiny, including guests, service accounts, admin break-glass paths, and recently onboarded apps. Those are the places where coverage drift usually shows up first.

What to verify: Confirm that each policy has an explicit purpose, a defined scope, and a current exclusion list, then check those against live sign-in data. If an app appears in the tenant but never in policy reporting, treat that as an investigation point rather than assuming it is harmless.

What good looks like: Every user population and cloud app has a visible coverage decision, exceptions are intentional and time-bounded, and sign-in evidence shows the policy set is actually being exercised. NHIMG’s Access Reviews and Certification Guide is a useful companion when you want the review process to close gaps instead of merely documenting them.

Practitioner takeaway: The real control is not the policy count, it is whether the current identity and app inventory can still slip around those policies without being noticed.