15.6 Tenant-Wide Consent Audit
Tenant-Wide Consent Audit
The immediate incident is contained. Now determine whether other malicious applications exist in the tenant. Most organisations have never audited their OAuth consent grants — the accumulation of years of user-consented applications, many of which are over-permissioned, abandoned, or from unverified publishers.
Step 1: Inventory all consented applications with high-risk permissions
| |
What to examine: Applications with high-risk permissions consented by multiple users — especially applications you do not recognise. For each: verify the publisher, check the registration date, confirm the application is needed for business operations, and assess whether the permissions are appropriate.
Step 2: Identify unverified publishers
In Entra ID → Enterprise Applications, filter by “Publisher verified: No.” Every application from an unverified publisher should be reviewed. Unverified does not automatically mean malicious — many legitimate third-party applications have unverified publishers. But unverified + high-risk permissions + multiple user consents = investigate.
Step 3: Check for dormant applications
| |
Dormant applications with high-risk permissions are abandoned attack surface. If the application is no longer needed: revoke the consent. If it is needed but inactive: verify with the business owner.
Subsection artifact: The three tenant-wide audit queries. Run these quarterly to maintain OAuth hygiene.
Knowledge check
Automating the quarterly audit
Running the audit queries manually each quarter is error-prone and easy to forget. Automate it.
Option 1: Sentinel workbook. Create a workbook with three tiles: (1) high-risk consents (scored), (2) unverified publishers, (3) dormant applications. Schedule a monthly review reminder. The workbook pulls live data — each time you open it, you see the current state.
Option 2: Scheduled analytics rule. Create a low-severity scheduled rule that runs weekly: “Alert if any new application consent occurred with Mail.ReadWrite or higher permissions.” This catches new high-risk consents between quarterly audits — providing continuous monitoring alongside the periodic review.
| |
Deploy this as a scheduled rule (weekly, low severity). It surfaces new high-risk consents for manual review — bridging the gap between quarterly audits.
Option 3: Defender for Cloud Apps app governance. If available in your licensing, app governance provides automated monitoring with alerting on anomalous application behaviour. This is the most comprehensive option but requires Defender for Cloud Apps configuration (subsection 15.7 Recommendation 3).
Try it yourself
Run all three audit queries (high-risk permissions, unverified publishers, dormant applications) against your tenant. How many consented applications do you find? How many are from unverified publishers? How many are dormant? Create a simple tracking document: application name, publisher, permissions, consent count, last activity date, and your assessment (legitimate / investigate / remove). This is your first quarterly consent audit — the baseline for future reviews.
What you should observe
Most tenants have 20-50 consented applications. 30-50% are typically from unverified publishers (many legitimate tools are unverified). 10-20% may be dormant. The audit identifies: applications to remove (dormant + unverified + high-risk), applications to investigate (unverified + high-risk + active), and applications to document as legitimate (verified + appropriate permissions).
Check your understanding
1. The audit reveals 47 consented applications with Mail.Read or higher permissions. 12 are from unverified publishers. What do you do?