The Agent Registry counts published titles. Defender's AI Agents page counts cloud agents. AgentsInfo sees every platform including local. Entra sees only agents holding a directory principal. Reconciling the four is the finding — present the spread, and always say which screen a number came from.
| Phase | What you do | Output |
|---|---|---|
| 01 · Discover & Inventory | Security Dashboard for AI · AgentsInfo sweep · no-auth and maker-credential flags · H/M/L tiers · shadow AI | Tiered agent register |
| 02 · Identity & Governance | Classic: managed environments, enforced auth, owner/sponsor model. Modern: Conditional Access, ID Protection (Agent 365) | Governed estate, auth baseline |
| 03 · Data Security | DSPM oversharing assessment · Purview DLP for Copilot · label inheritance · browser DLP for public LLMs | DLP active, oversharing remediated |
| 04 · Runtime Protection | Defender real-time protection · Prompt Shields · pre-deployment red teaming | Guardrails live |
| 05 · Monitoring & Detection | Sentinel connectors (Copilot, Defender XDR, the two lake connectors) · analytics rules · hunting | Detections firing |
| 06 · Compliance & Governance | Lifecycle board · access reviews · quarterly reporting | Standing cadence |
All five run on E5, no procurement:
AgentsInfo | where Platform == "LocalAgents" — vendor, version, MCP servers, device, accountAgentCreatedBy:CopilotStudioThe canonical KQL for each lives in the Playbooks archive; snapshot rule throughout: summarize arg_max(Timestamp, *) by AgentId | where LifecycleStatus != "Deleted".
Inventory coverage · no-auth agent count (target zero) · ownerless agent count (target zero) · detection coverage. If a metric can't be produced from the current phase's evidence, the phase isn't done.