The recurring question in this domain is posture or detection? Posture asks "is this configured safely?" and is answered by Defender for Cloud recommendations, secure score and attack paths. Detection asks "is something happening right now?" and is answered by workload protection plans, Defender XDR and Sentinel analytics rules. Sort the scenario into one of those two buckets first.
4.1 Managing posture with Microsoft Defender for Cloud
flowchart TB FREE["Foundational CSPM — free, on for every subscription<br/>secure score · Microsoft cloud security benchmark<br/>recommendations · asset inventory"] --> CSPM CSPM["Defender CSPM plan — attack path analysis<br/>cloud security explorer · agentless scanning<br/>sensitive data discovery · secret scanning · DevOps"] --> CWP CWP["Workload protection plans, one per resource type<br/>runtime threat detection and security alerts"] --> XDR XDR["Alerts surface in Microsoft Defender XDR<br/>and can be ingested by Microsoft Sentinel"]
What Defender CSPM adds over the free tier
| Capability | What it is for |
|---|---|
| Attack path analysis | Chains individual findings into an exploitable route — "internet-exposed VM with a critical vulnerability that has a managed identity with Contributor on a subscription holding sensitive data". Fixing one choke point breaks the whole path, which is how you prioritise. |
| Cloud security explorer | Query the underlying security graph directly. "Show me every storage container with sensitive data that is publicly reachable", answered without writing KQL. |
| Agentless scanning | Vulnerabilities, software inventory and secrets from disk snapshots, no agent installed. |
| Sensitive data discovery | Classifies data in storage accounts and databases, using Purview sensitive information types and labels, so risk can be weighted by what is actually at stake. |
| Secret scanning | Plaintext credentials on disks, in container images, in repositories and in IaC — then maps where each secret could be used. |
| DevOps security | Connectors to Azure DevOps, GitHub and GitLab bringing code, dependency, IaC and secret findings into the same view — "code to cloud". |
| Governance rules | Assign recommendations to owners with due dates, and report on the backlog. The answer to "make remediation accountable". |
Secure score and regulatory compliance
- Secure score is calculated from recommendations grouped into security controls; you only earn a control's points when every resource in it is healthy.
- The Microsoft cloud security benchmark is applied by default to every subscription and cannot be removed. Add PCI DSS, ISO/IEC 27001, NIST SP 800-53, CIS or a sovereign standard on top in Environment settings → Security policies.
- Custom standards and custom recommendations (authored as Azure Policy definitions or KQL-based graph queries) cover internal requirements.
- An exemption marks a resource or recommendation as waived or mitigated so it stops dragging the score down, with a justification and an optional expiry.
- Compliance assessment requires Defender CSPM, Defender for Servers Plan 2 or any other paid plan on the subscription — the free tier gives you MCSB recommendations but not the compliance dashboard.
Workload protection plans
Each is enabled per subscription (some also per resource), and each brings its own alerts:
| Plan | Detects |
|---|---|
| Defender for Servers | Endpoint threats on Windows and Linux via Defender for Endpoint, plus vulnerabilities, FIM and JIT |
| Defender for Storage | Anomalous access, malware uploads, sensitive data exfiltration |
| Defender for Databases | SQL injection, brute force, anomalous access, plus SQL vulnerability assessment |
| Defender for Containers | Registry vulnerabilities, cluster misconfiguration, runtime threats and binary drift |
| Defender for App Service | Web shells, dangling DNS takeover, suspicious process execution |
| Defender for Key Vault | Unusual secret access patterns and access from suspicious sources |
| Defender for Resource Manager | Suspicious control-plane operations — exploitation toolkits, risky role assignments |
| Defender for DNS | Anomalous DNS queries — exfiltration over DNS, communication with known-bad domains |
| Defender for APIs | API inventory, exposure and abuse, for APIs published through API Management |
| Defender for AI Services | Runtime protection for generative AI workloads — jailbreaks, prompt injection, data exposure and suspicious access patterns |
Multicloud and hybrid
- AWS — create an AWS connector, which deploys a CloudFormation (or Terraform) template creating cross-account roles. Choose which plans to extend: CSPM, Servers, Containers, Databases.
- GCP — a GCP project or organisation connector using workload identity federation, so there is no service account key to store.
- On-premises and other clouds' VMs — onboard through Azure Arc, which makes them ordinary Azure resources for policy, Defender and Machine Configuration purposes.
Vulnerability management and the external attack surface
- Microsoft Defender Vulnerability Management (MDVM) is the built-in scanner for Azure, AWS, GCP and Arc-enabled machines. Agent-based scanning comes with Defender for Servers Plan 1 and 2; agentless scanning and the premium features — certificate assessment, baseline assessment, vulnerable application blocking — are Plan 2. A bring-your-own-licence Qualys or Rapid7 scanner is also supported and needs no paid Defender plan.
- Microsoft Defender External Attack Surface Management (Defender EASM) looks at you from the outside. You deploy it as an Azure resource (with a 30-day trial), seed a discovery group with domains, hosts, IP blocks, ASNs and WHOIS data, and it builds an inventory of internet-facing assets you may not know you own. It feeds the External Attack Surface Protection initiative in Microsoft Security Exposure Management, where its findings join the unified exposure graph.
Inside-out or outside-in
Defender CSPM tells you about resources you have in your subscriptions. Defender EASM tells you about assets that resolve to your organisation on the public internet — including the forgotten marketing subdomain nobody put in a subscription. When the scenario says "discover unprotected assets we do not know about" or "shadow IT exposed to the internet", it is EASM.
4.2 Microsoft Sentinel: workspaces and roles
Sentinel is a solution enabled on a Log Analytics workspace — the workspace holds the data, Sentinel adds the SIEM and SOAR layer. It is increasingly operated from the Microsoft Defender portal alongside Defender XDR, which is where the unified incident queue and advanced hunting live.
Workspace design decisions the exam tests
- One workspace wherever possible — correlation across sources is the point of a SIEM, and cross-workspace queries cost complexity.
- Split when you must for data residency, data ownership between tenants, or genuinely separate retention and cost ownership.
- For finer access within one workspace, use resource-context RBAC (a user who can read the Azure resource can read its logs) or table-level RBAC (a custom role with
Microsoft.OperationalInsights/workspaces/query/<Table>/read). - Managed service providers use Azure Lighthouse for delegated cross-tenant access.
| Role | Can do |
|---|---|
| Microsoft Sentinel Reader | View data, incidents, workbooks and other resources. Read-only. |
| Microsoft Sentinel Responder | Everything Reader can, plus manage incidents — assign, change severity, add comments, close. |
| Microsoft Sentinel Contributor | Everything Responder can, plus create and edit analytics rules, workbooks and other artifacts. |
| Microsoft Sentinel Playbook Operator | List, view and manually run playbooks — without the right to edit them. |
| Microsoft Sentinel Automation Contributor | Assigned to the Sentinel service itself on the playbooks' resource group, so automation rules are allowed to run them. Not for humans. |
| Logic App Contributor | Needed in addition by anyone who has to author or edit a playbook. |
Least privilege for an analyst
A tier-1 analyst who triages incidents and runs approved playbooks but must not change detection logic gets Microsoft Sentinel Responder plus Microsoft Sentinel Playbook Operator — not Contributor. This exact combination is a recurring exam answer.
4.3 Content hub and data connectors
The content hub is the in-product marketplace. You install solutions — packaged bundles containing data connectors, analytics rules, hunting queries, workbooks, playbooks, parsers and watchlists for a given product — rather than installing each artifact separately. Installed content is then managed under Content management, where updates are applied.
flowchart TB
COL{"How does the source reach the workspace?"}
COL -->|"An Azure resource"| DIAG["Diagnostic settings<br/>pointed at the workspace"]
COL -->|"A Windows or<br/>Linux machine"| AMA["Azure Monitor Agent,<br/>driven by a data<br/>collection rule"]
COL -->|"A Syslog or<br/>CEF appliance"| FWD["A Linux forwarder<br/>running the agent,<br/>receiving on port 514"]
COL -->|"A SaaS or<br/>API source"| CCP["A content hub connector,<br/>or the Codeless<br/>Connector Platform"]
DIAG --> TBL
AMA --> TBL
FWD --> TBL
CCP --> TBL
TBL{"A table in the workspace — which tier is it in?"}
TBL -->|"Analytics tier"| AN["Analytics rules, hunting, workbooks and playbooks<br/>90 days included, extendable to two years"]
TBL -->|"Data lake tier"| DL["Low-cost retention up to twelve years<br/>KQL jobs, Spark jobs, notebooks and summary rules"]| Source | Mechanism | Landing table |
|---|---|---|
| Azure resources — Key Vault, storage, firewall, NSG, Azure SQL | Diagnostic settings on the resource, pointed at the workspace. Deploy them at scale with an Azure Policy DeployIfNotExists assignment. | AzureDiagnostics or a resource-specific table |
| Azure Activity log | The Azure Activity connector (a diagnostic setting at subscription scope) | AzureActivity |
| Microsoft Entra ID | The Microsoft Entra ID connector | SigninLogs, AuditLogs, AADNonInteractiveUserSignInLogs |
| Microsoft Defender XDR | The Defender XDR connector, which brings incidents and raw advanced-hunting tables | SecurityIncident, DeviceEvents, AlertInfo and friends |
| Windows Security events | Azure Monitor Agent plus a data collection rule. Presets: All events, Common, Minimal, or custom XPath queries. | SecurityEvent |
| Windows Event Forwarding | Endpoints forward to a collector server; the agent on the collector ships the subscription's events | SecurityEvent / WindowsEvent |
| Syslog and CEF appliances | The appliance sends to a Linux forwarder running the Azure Monitor Agent on port 514; a DCR routes it | CEF → CommonSecurityLog (extra non-standard fields go to AdditionalExtensions); Syslog → Syslog |
| SaaS and REST APIs | A content hub connector, or one built with the Codeless Connector Platform | A custom table |
Filter at the agent, not after ingestion
The most-tested cost lever in Sentinel is that a data collection rule filters at the source. The agent evaluates the rule and ships only the events you asked for, so unwanted data is never billed. A workspace transformation in the DCR goes further, letting you drop rows and redact or drop columns with KQL before the data lands. Choosing All events and filtering later in a query is the wrong answer — you have already paid for it.
// A workspace transformation in a data collection rule: drop the noise before
// it is billed, and redact a field you are not allowed to store.
source
| where EventID in (4624, 4625, 4672, 4720, 4732, 4688)
| where not(Account endswith "$") // machine accounts
| extend Account = iff(EventID == 4625, "REDACTED", Account)
| project TimeGenerated, Computer, EventID, Account, LogonType, IpAddress4.4 Custom tables, tiers and retention
Custom tables carry a _CL suffix and are created in the workspace with an explicit schema, then populated through a DCR and the Logs Ingestion API (or a connector). Search job results land in a separate table with an _SRCH suffix.
Table plans in Azure Monitor
| Plan | Interactive retention | Use for |
|---|---|---|
| Analytics | Configurable, 4 to 730 days | Continuous monitoring, real-time detection, multi-table queries. The only plan that supports the full feature set. |
| Basic | Fixed at 30 days | Troubleshooting and incident response; discounted ingestion, single-table queries only. |
| Auxiliary | Fixed at 30 days | Verbose, low-touch data kept for audit and compliance; the cheapest ingestion, unoptimised single-table queries. |
Tiers in Microsoft Sentinel
| Analytics tier | Data Lake tier | |
|---|---|---|
| Nickname | Hot / interactive | Cold |
| Default retention | 90 days for Sentinel, 30 days for Defender XDR data | Matches the analytics retention by default |
| Maximum retention | Two years, charged beyond the included period | Twelve years |
| Analytics rules, hunting, workbooks, watchlists, parsers | ✅ full support | ❌ limited |
| Query cost | Included | Charged per query, and slower |
| Search jobs | ✅ | ✅ |
| Summary rules | ✅ | ✅ full KQL over a single table |
| Restore | ✅ | ❌ — promote data instead, with a KQL or notebook job |
| Data export | ✅ | ❌ |
Both tiers are managed from Data management → Tables, where you set the analytics retention and the total retention independently per table. Data that ages out of analytics retention remains readable in the lake for the remainder of the total retention.
The three ways to get at old data
Search jobs run an asynchronous query over the full dataset, including long-term retention, and write the results to a new _SRCH table. Restore brings a time range of an analytics table back into hot query for a while. KQL jobs, Spark jobs and notebooks are the data lake's own analysis tools and can promote results back into the analytics tier. Summary rules aggregate high-volume logs on a schedule and store the small result in the analytics tier — the standard way to keep detections on firewall or proxy data you cannot afford to keep hot.
4.5 Automation rules and playbooks
flowchart TB
INC["An incident is created or updated, or an analyst runs it by hand"] --> AR["Automation rule — runs inside Microsoft Sentinel"]
AR --> ACT{"What does the rule do?"}
ACT -->|"A built-in action"| BUILT["Change status or severity · assign an owner · add a tag · close as a false positive"]
ACT -->|"Run a playbook"| PB["Playbook — an Azure Logic App with the Microsoft Sentinel connector"]
PB --> EXT["Block an address on the firewall · disable a user in Entra ID · isolate a device<br/>in Defender · post to Teams · open a ticket"]| Automation rule | Playbook | |
|---|---|---|
| What it is | A rule inside Microsoft Sentinel | An Azure Logic App with the Microsoft Sentinel connector |
| Triggered by | Incident created, incident updated, alert created, or run manually | Called by an automation rule, by an analytics rule, or manually by an analyst |
| Can do on its own | Change status, severity and owner; add tags; close as false or benign positive; run playbooks; stop further rules from running | Anything a Logic App connector can reach |
| Typical use | Suppress known-benign noise; auto-assign by severity; enforce an order of operations | Block an IP on Azure Firewall, disable a user in Microsoft Entra ID, isolate a device in Defender, post to Teams, open a ServiceNow ticket |
| Permission needed | Microsoft Sentinel Contributor | Microsoft Sentinel Automation Contributor granted to the Sentinel service on the playbooks' resource group, so it may run them |
Playbooks need an identity of their own
A playbook that disables a user needs permission to do so. Give the Logic App a managed identity and assign it the least-privileged role for the action — not a stored credential in an API connection, and not Global Administrator. "The playbook runs but nothing happens" is almost always a missing role assignment on the playbook's identity.
4.6 Querying Microsoft Purview Audit
Microsoft 365 activity — mailbox access, SharePoint file operations, Teams events, Copilot interactions, admin actions — lands in the unified audit log. It is searched from the Microsoft Defender portal under Audit (and from the Purview portal), filtered by date range, activity, user and workload.
- Audit (Standard) retains for 180 days.
- Audit (Premium) retains Microsoft Entra, Exchange, SharePoint and OneDrive audit records for one year (extendable to ten with an add-on), adds audit log retention policies, higher API bandwidth, and Intelligent Insights events such as
MailItemsAccessedandSendused in compromise investigations. - Searches run asynchronously as jobs; results can be exported.
- For correlation with everything else, ingest the unified audit log into Sentinel through the Microsoft 365 connector rather than searching it by hand.
4.7 Microsoft Security Copilot
Security Copilot is a natural-language layer over the Microsoft security estate, available standalone at securitycopilot.microsoft.com and embedded inside Defender, Sentinel, Entra, Intune and Purview.
Capacity and workspaces
- Compute is bought as Security Compute Units (SCUs), provisioned hourly against an Azure subscription and resource group. You choose a prompt evaluation location (or allow evaluation anywhere when your geography is busy) and can add overage units for spikes.
- A workspace is a scoped, tenant-bound environment where users, automations and agents operate. Workspaces let you segment by team, region or business unit, each with its own role assignments, prompt history, plugin configuration and SCU capacity.
- Provisioning capacity requires Azure Owner or Contributor on the subscription or resource group, plus Security Administrator or higher in the tenant.
- A usage dashboard and a capacity calculator help size it; SCUs billed hourly can be deleted and recreated to control cost while testing.
Permissions, and why they are not what people expect
| Layer | Controls |
|---|---|
| Security Copilot roles — owner and contributor | Access to the platform itself: creating sessions, and for owners, managing capacity, plugins, file upload and audit settings. These are not Microsoft Entra roles. |
| Microsoft Entra and Purview roles | Several roles inherit Copilot owner automatically so there are always at least two owners — including Global Administrator, Security Administrator, Billing Administrator, Intune Administrator, Entra Compliance Administrator, and the Purview administrative roles. |
| Service RBAC | What the answers can contain. Copilot uses on-behalf-of authentication and never exceeds your existing access — so a Copilot contributor still needs, for example, Microsoft Sentinel Reader to see incidents through the Sentinel plugin. |
| Azure RBAC | The SCU capacity resource in the subscription. |
The Copilot permission trap
"A new analyst has the Security Copilot contributor role but their prompts return no Sentinel data." The answer is never "give them Copilot owner". Copilot cannot surface anything the signed-in user could not already reach, so the fix is the underlying service role — Microsoft Sentinel Reader on the workspace. And do not grant a privileged Microsoft Entra role such as Security Administrator purely to obtain Copilot access; create a security group and assign it a Copilot role instead.
Plugins, promptbooks and agents
- Plugins connect Copilot to data — Microsoft plugins (Defender XDR, Sentinel, Entra, Intune, Purview, Defender Threat Intelligence, EASM), non-Microsoft plugins, and custom plugins built from an API spec or KQL. Plugin settings can be managed at workspace or organisation level rather than per user.
- Promptbooks are saved sequences of prompts — repeatable workflows for incident summarisation, script analysis or threat actor research.
- Connectors wrap the Copilot API so Logic Apps and Copilot Studio can call into it from existing automation.
- Agents run autonomously against a trigger — the Phishing Triage Agent in Defender, the Conditional Access Optimization Agent in Entra, the Threat Intelligence Briefing Agent — and are discovered in the agent library or in Microsoft Security Store. Getting an agent from the Store needs Azure billing Contributor or Owner plus a Copilot owner or contributor role, and sometimes a Global Administrator to grant the agent its permissions. Agents consume SCUs on top of any subscription fee, and their activity is audited.
Skill 4 checklist
- Foundational CSPM is free; attack paths, cloud security explorer, agentless scanning and secret scanning need the Defender CSPM plan.
- MCSB is always applied and cannot be removed; other standards are layered on top; the compliance dashboard needs a paid plan.
- Defender CSPM looks inward at your subscriptions; Defender EASM looks inward from the internet.
- Responder plus Playbook Operator is the least-privileged triage analyst.
- Filter with a data collection rule at the agent, and transform before ingestion — never after.
- CEF lands in
CommonSecurityLog; non-standard fields land inAdditionalExtensions. - Analytics tier: 90 days included, two years maximum. Data lake tier: up to twelve years, restricted features.
- Automation rules orchestrate; playbooks are Logic Apps and need their own managed identity and roles.
- Security Copilot never exceeds the user's own permissions — fix the service role, not the Copilot role.
Next: the AI & agent security deep dive, which pulls the AI material out of Skills 1, 3 and 4 into one narrative.