Join our Newsletter — 33% off our NHI Course
Home› Guides› Microsoft 365 Security Checklist: Tenant Settings to Audit…
Template SaaS & OAuth Integrations

Microsoft 365 Security Checklist: Tenant Settings to Audit Each Quarter

← All guides
By NHI Mgmt Group, edited by Lalit Choda Updated 8 November 2026 11 min read
On this page

Microsoft 365 tenants drift: a new admin, a consented app, a sharing exception or a re-enabled protocol undoes last year's hardening without anyone noticing. This template is a tickable quarterly audit checklist for Microsoft 365 tenant settings, built on CISA's Secure Cloud Business Applications (SCuBA) M365 baselines so that every check has a public, versioned source and a policy ID you can quote. It covers Entra ID sign-in and privileged access, applications and workload identities, Exchange Online, the Defender and Purview security suite, SharePoint and OneDrive, Teams and Power Platform, plus how to record results and evidence. It is written for Microsoft 365 administrators, security engineers and internal auditors. For why each control matters and how to deploy it, read the Microsoft 365 Security Guide; this page audits.

This is an independent guide from NHI Mgmt Group, based on Microsoft's public documentation as of November 2026. It is not sponsored or reviewed by Microsoft. Product features change, so confirm settings against Microsoft's current documentation.

How to use this template

  • Replace text in square brackets, such as [Organisation], [tenant name] and [SIEM], with your own details.
  • Each check shows the SCuBA policy ID (for example MS.AAD.3.1v1) as published in the cisagov/ScubaGear repository when checked on 8 November 2026. "SHALL" policies are the baseline's mandatory items; "SHOULD" policies are recommended. Policy IDs carry a version suffix that changes when CISA revises a policy, so record the baseline version you audited against.
  • Mark each line Pass, Fail, Exception (link the risk acceptance) or N/A, and record the evidence: a screenshot, an exported policy, or the ScubaGear report line.
  • CISA's baselines assume at least an M365 E3 or G3 licence and list extra licences per policy. Where a feature sits outside your licence, record the compensating control rather than marking N/A.
  • If you also follow the CIS Microsoft 365 Foundations Benchmark, add a column with the matching CIS recommendation number so one audit serves both.
  • Run ScubaGear, CISA's open source assessment tool, against the tenant first; use this checklist to review its results, cover the manual checks and record exceptions.

1. Audit record

FieldValue
Tenant and licence[tenant name], [E3 / E5 / Business Premium / G3 / G5], [add-ons]
Baseline and tool versions[SCuBA baseline version], [ScubaGear version], [CIS benchmark version if used]
Auditor and date[name], [date]
Previous audit findings open[number], [reference]
Microsoft Secure Score at audit[score] (trend indicator only, not a compliance result)

2. Entra ID: sign-in and authentication

CheckSCuBA IDLevelResult
Legacy authentication is blocked by Conditional Access for all users.MS.AAD.1.1v1SHALL[ ]
Users detected as high risk are blocked, and administrators are notified.MS.AAD.2.1v1, 2.2v1SHALL / SHOULD[ ]
Sign-ins detected as high risk are blocked.MS.AAD.2.3v1SHALL[ ]
Phishing-resistant MFA (certificate-based authentication, FIDO2 security keys, Windows Hello for Business or device-bound passkeys) is enforced for all users; MFA of some form is enforced for everyone in the meantime.MS.AAD.3.1v1, 3.2v2SHALL[ ]
Phishing-resistant MFA is required for highly privileged roles.MS.AAD.3.6v1SHALL[ ]
If Microsoft Authenticator is enabled, it shows login context information to reduce MFA phishing.MS.AAD.3.3v2SHALL[ ]
Authentication methods migration is set to "Migration complete".MS.AAD.3.4v1SHALL[ ]
SMS, voice call and email one-time passcode methods are disabled.MS.AAD.3.5v2SHALL[ ]
Managed devices are required to sign in and to register MFA.MS.AAD.3.7v1, 3.8v1SHOULD[ ]
Device code authentication flow is blocked.MS.AAD.3.9v1SHOULD[ ]
User passwords are set not to expire.MS.AAD.6.1v1SHALL[ ]
Entra ID security logs are sent to [SIEM] or the SOC.MS.AAD.4.1v1SHALL[ ]

Check that every Conditional Access policy above excludes only the documented emergency access accounts. See the Conditional Access Guide and the Break-Glass Account Guide.

3. Entra ID: privileged access

CheckSCuBA IDLevelResult
Between two and eight users hold Global Administrator. Record the count: [number].MS.AAD.7.1v1SHALL[ ]
Privileged users use finer-grained roles instead of Global Administrator.MS.AAD.7.2v1SHALL[ ]
Privileged accounts are cloud-only, not synchronised from on-premises or federated.MS.AAD.7.3v1SHALL[ ]
No permanent active assignments for highly privileged roles; assignments are made only through a PAM system such as Privileged Identity Management.MS.AAD.7.4v1, 7.5v1SHALL[ ]
Global Administrator activation requires approval.MS.AAD.7.6v1SHALL[ ]
Alerts fire on highly privileged role assignment and on Global Administrator activation; other highly privileged role activations also alert.MS.AAD.7.7v1, 7.8v1, 7.9v1SHALL / SHOULD[ ]

See Microsoft 365 admin centres and admin roles.

4. Entra ID: applications, workload identities, guests and agents

Application and service principal credentials are the non-human identities of a tenant, and they are where consent phishing and long-lived secrets hide.

CheckSCuBA IDLevelResult
Only administrators can register applications.MS.AAD.5.1v1SHALL[ ]
User consent to applications is restricted, and an admin consent workflow is configured.MS.AAD.5.2v1, 5.3v1SHALL[ ]
Adding application passwords (client secrets) is blocked.MS.AAD.5.5v1SHOULD[ ]
Application password lifetime is 180 days or less; certificate lifetime is 365 days or less.MS.AAD.5.6v1, 5.7v1SHOULD[ ]
Risky AI agents are blocked.MS.AAD.9.1v1SHALL[ ]
Guests have limited access to directory objects; only users with the Guest Inviter role can invite; invitations are limited to approved domains.MS.AAD.8.1v1, 8.2v1, 8.3v1SHOULD[ ]
Quarterly review: list every application with Mail, Files or Directory write permissions and every credential expiring in the next 90 days; confirm owners. [Organisation] check.n/a[Organisation][ ]

See How to review Microsoft 365 app registrations with mail permissions, How to find expiring app secrets and certificates in Entra ID and the Consent Phishing and Illicit OAuth Grants Guide.

5. Exchange Online

CheckSCuBA IDLevelResult
Automatic forwarding to external domains is disabled.MS.EXO.1.1v2SHALL[ ]
An SPF policy that fails all non-approved senders is published for each domain.MS.EXO.2.2v3SHALL[ ]
DKIM is enabled for all domains.MS.EXO.3.1v1SHOULD[ ]
A DMARC policy is published for every second-level domain, at p=reject, with [Organisation] contacts for aggregate and failure reports. (US federal agencies must also include CISA's report address.)MS.EXO.4.1v1, 4.2v1, 4.3v1, 4.4v1SHALL / SHOULD[ ]
SMTP AUTH is disabled.MS.EXO.5.1v1SHALL[ ]
Contact folders and calendar details are not shared with all domains.MS.EXO.6.1v1, 6.2v1SHALL[ ]
External sender warnings are implemented.MS.EXO.7.1v1SHALL[ ]
Mailbox auditing is enabled.MS.EXO.13.1v1SHALL[ ]

See the DMARC, SPF and DKIM Guide and the Email Authentication Checklist.

6. Security suite: Defender for Office 365 and Purview

CheckSCuBA IDLevelResult
Click-to-run attachments are blocked, at minimum .exe, .cmd and .vbe; malware is quarantined or dropped; post-delivery scanning is on.MS.SECURITYSUITE.1.1v1, 1.2v1, 1.3v1SHALL[ ]
SharePoint, OneDrive and Teams attachments are scanned for malware.MS.SECURITYSUITE.1.4v1SHOULD[ ]
User impersonation protection covers sensitive accounts; domain impersonation protection covers owned domains and key suppliers.MS.SECURITYSUITE.2.1v1, 2.2v1, 2.3v1SHOULD[ ]
A DLP policy protects defined sensitive information and applies to Exchange, OneDrive, SharePoint, Teams chat and devices.MS.SECURITYSUITE.3.1v1, 3.2v1SHALL / SHOULD[ ]
Required alerts are enabled (including suspicious email sending patterns and suspicious connector activity) and reach a monitored mailbox or [SIEM].MS.SECURITYSUITE.4.1v1, 4.2v1SHALL / SHOULD[ ]
Unified audit logging is enabled; audit logs are searchable for at least 3 months and retrievable for at least 12 months.MS.SECURITYSUITE.5.1v1, 5.2v1SHALL[ ]
Spam and phishing are not delivered to inboxes; no allowed domains in inbound anti-spam policies; no IP allow lists or safe lists.MS.SECURITYSUITE.6.1v1, 6.2v1, 8.1v1, 8.2v1SHALL / SHOULD[ ]
URL block-list checks and click tracking are enabled for email, Teams and Office documents.MS.SECURITYSUITE.7.1v1, 7.3v1SHOULD[ ]

See the Microsoft 365 Unified Audit Log Guide for Detection and the Data Loss Prevention (DLP) Guide.

7. SharePoint, OneDrive, Teams and Power Platform

CheckSCuBA IDLevelResult
SharePoint and OneDrive external sharing is limited to "Existing guests" or "Only people in your organization", and restricted to approved domains or security groups.MS.SHAREPOINT.1.1v1, 1.2v1, 1.3v1SHALL[ ]
Default sharing scope is "Specific people" and default permission is view only.MS.SHAREPOINT.2.1v1, 2.2v1SHALL[ ]
"Anyone" links (if allowed at all) expire in 30 days or less and are view only; verification code reauthentication is 30 days or less.MS.SHAREPOINT.3.1v1, 3.2v1, 3.3v2SHALL[ ]
Teams external access is enabled only per domain; unmanaged users cannot initiate contact with internal users.MS.TEAMS.2.1v2, 2.2v2SHALL[ ]
Anonymous users cannot start meetings, and anonymous and dial-in users are not admitted automatically.MS.TEAMS.1.2v2, 1.3v1, 1.5v1SHALL / SHOULD[ ]
Teams email integration is disabled.MS.TEAMS.4.1v1SHALL[ ]
Only approved Microsoft, third-party and custom Teams apps can be installed.MS.TEAMS.5.1v2, 5.2v2, 5.3v2SHOULD[ ]
Only administrators can create production, sandbox and trial Power Platform environments.MS.POWERPLATFORM.1.1v1, 1.2v1SHALL[ ]
A DLP policy restricts connector access in the default Power Platform environment; non-default environments have at least one DLP policy.MS.POWERPLATFORM.2.1v1, 2.2v1SHALL / SHOULD[ ]
Power Platform tenant isolation is enabled, with an inbound and outbound connection allowlist.MS.POWERPLATFORM.3.1v1, 3.2v1SHALL / SHOULD[ ]
Content Security Policy is enforced for model-driven and canvas Power Apps.MS.POWERPLATFORM.4.1v1SHALL[ ]
Only administrators can create Power Pages sites; "Share with everyone" is disabled.MS.POWERPLATFORM.5.1v1, 6.1v1SHOULD[ ]

See the SharePoint and OneDrive Security Guide and the Microsoft Teams Security Guide. Teams external contact settings also limit the help desk impersonation attacks described in the Email Bombing and Help Desk Impersonation over Teams Guide.

8. Findings and sign-off

Finding IDCheck failedRiskOwnerFix byStatus
[M365-Q[n]-01][SCuBA ID and description][High / Medium / Low][name][date][Open / Closed / Exception]
  • Fix targets: failed SHALL checks fixed within [30 days]; failed SHOULD checks within [90 days] or accepted as exceptions by [role].
  • Sign-off: [Microsoft 365 service owner] and [CISO or delegate], [date].

Implementation guidance

  1. Baseline once, then audit drift: the first run will produce many findings. Prioritise sections 2 and 3 (sign-in and privileged access) and the application checks in section 4, then work through the rest. Later quarters should show only drift.
  2. Test before enforcing: put new Conditional Access policies in report-only mode first and review sign-in logs for affected users; roll back by switching the policy off. Disabling SMTP AUTH and legacy authentication breaks old devices and scripts, so find them in sign-in logs before enforcement.
  3. Automate collection: schedule ScubaGear or an equivalent configuration export, store reports with the audit record, and diff them each quarter.
  4. Measure: percentage of SHALL checks passing; number of Global Administrators; percentage of users with phishing-resistant MFA registered; applications with client secrets older than 180 days; days to close failed SHALL checks. Microsoft describes Secure Score as a posture indicator, not a measure of breach likelihood, so report it as a trend beside these metrics, not instead of them.
  5. Read with the misconfiguration list: the Top 10 Microsoft 365 Security Misconfigurations explains the failures auditors find most often.
Checklist sectionNIST SP 800-53 Rev. 5NIST CSF 2.0
Sign-in and authentication (2)IA-2(1), IA-2(2)PR.AA-03
Privileged access (3)AC-6(5), AC-2PR.AA-05
Applications and guests (4)AC-2, IA-5, AC-21PR.AA-05
Email and security suite (5, 6)SI-3, SI-8, AU-2, AU-11PR.PS-04, DE.CM-09
Collaboration sharing (7)AC-3, AC-21PR.DS-01
Whole checklistCM-6PR.PS-01

Standards and references

Related NHI Mgmt Group resources: Microsoft 365 Security Guide · Entra ID Security Guide · Top 10 Microsoft 365 Security Misconfigurations · Microsoft 365 Unified Audit Log Guide for Detection · Entra ID Applications and Consent Guide

Free weekly newsletter

Subscribe to the NHI & AI Identity Journal

The latest on NHI and Agentic AI security – articles, research, breaches, news and events every week.

Bonus 33% off our NHI Course when you subscribe.

NHIMG Editorial Note
Researched and written by the NHI Mgmt Group editorial team using AI tools, under the editorial direction of Lalit Choda. Facts are drawn from the sources listed on this page and checked by our automated quality process. Last updated 8 November 2026. Spotted an error? Use our contact page.
NHI Mgmt Group, the independent authority on Non-Human Identity, IAM and Agentic AI security. nhimg.org