Skip to main content

M365 Posture Monitoring

M365 Posture monitors connected Microsoft 365 tenants for suspicious events and policy violations. It surfaces the top 10 categories of M365 security events that signal account compromise, insider threat, or misconfiguration.

note

M365 Posture is included in the User Protection package at $3/managed user/month.

Connecting an M365 Tenant

Navigate to SecOps → SaaS Posture → Connected Tenants and click + Connect M365 Tenant.

This initiates the Microsoft OAuth consent flow. You will be redirected to Microsoft to grant the following Microsoft Graph API permissions:

  • AuditLog.Read.All — Read audit log data
  • Directory.Read.All — Read user and group data
  • Policy.Read.All — Read conditional access and security policies
  • SecurityEvents.Read.All — Read security event data

After consent, the connection is established and scanning begins on the next scheduled run.

Connection Status

StatusDescription
ActiveConnected and scanning successfully
ErrorLast scan failed — check the error message
ExpiredOAuth token has expired; reconnect required
PendingConnection in progress

Use the Test button to verify a connection without waiting for the next scheduled scan.

Monitored Event Types

The posture scanner checks for 10 event categories across connected tenants:

Event TypeSeverityWhat It Detects
Suspicious Sign-inHigh/CriticalLogins from unexpected locations, impossible travel, or anomalous behavior
OAuth App ConsentHighNew OAuth application granted consent to tenant data
Email ForwardingHighNew external email forwarding rule created
Admin Role ChangeHighPrivileged role (Global Admin, etc.) assigned or removed
MFA Failure SpikeHighUnusual volume of MFA failures — possible MFA fatigue attack
Bulk DownloadMediumUser downloaded an unusually large volume of files
Sharing Policy ChangeMediumExternal sharing settings modified
New Admin AddedHighNew administrator account created
Suspicious Inbox RuleCriticalInbox rule that deletes messages or forwards to external address
Guest User AddedMediumNew guest/external user invited to the tenant

Events Tab

The Events tab lists all posture events with filters for status, severity, and event type.

Event Actions

ActionDescription
InvestigateMoves status from New to Investigating — assign to an analyst
ResolveCloses the event as remediated
FP (False Positive)Marks the event as a false positive

Expand any event to see the connection ID, status history, resolution timestamp, and resolution notes.

User Risk Tab

The User Risk tab aggregates events by user to identify the highest-risk individuals across connected tenants. Users are ranked by a composite risk score based on event count and highest severity.

ColumnDescription
UserDisplay name and UPN
EventsTotal posture events for this user
Risk ScoreComposite score; higher = more events/higher severity
Highest SeverityThe worst single event severity for this user

Summary Metrics

MetricDescription
New EventsUnreviewed posture events across all tenants
CriticalEvents rated Critical
HighEvents rated High
Connected TenantsNumber of active M365 connections

Scanning Schedule

The posture scanner runs automatically on a schedule defined by the posture-scanner background function. The last scan timestamp is visible in the Connected Tenants tab.

💡Start by connecting your highest-risk client tenants first — those with the most users, most data, or compliance requirements. Once the pattern of "normal" is established over a few days, the signal-to-noise ratio improves significantly.