📌 Author's note: Independent, not affiliated with or endorsed by Microsoft. This site is a starting point — verify current product status against Microsoft documentation before architecture or purchasing decisions.
Programme shape

Where to
start

⚠ Rule zero — four screens count agents, and they disagree by design

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.

Six phases — each produces the evidence the next consumes

PhaseWhat you doOutput
01 · Discover & InventorySecurity Dashboard for AI · AgentsInfo sweep · no-auth and maker-credential flags · H/M/L tiers · shadow AITiered agent register
02 · Identity & GovernanceClassic: managed environments, enforced auth, owner/sponsor model. Modern: Conditional Access, ID Protection (Agent 365)Governed estate, auth baseline
03 · Data SecurityDSPM oversharing assessment · Purview DLP for Copilot · label inheritance · browser DLP for public LLMsDLP active, oversharing remediated
04 · Runtime ProtectionDefender real-time protection · Prompt Shields · pre-deployment red teamingGuardrails live
05 · Monitoring & DetectionSentinel connectors (Copilot, Defender XDR, the two lake connectors) · analytics rules · huntingDetections firing
06 · Compliance & GovernanceLifecycle board · access reviews · quarterly reportingStanding cadence

The first week — five checks on what you already own

All five run on E5, no procurement:

  1. Which AI agents run on our laptops? AgentsInfo | where Platform == "LocalAgents" — vendor, version, MCP servers, device, account
  2. Which agents have no authentication? — publicly reachable, anyone with the URL
  3. How many are Classic? — outside the Entra perimeter entirely; find them by tag AgentCreatedBy:CopilotStudio
  4. Who owns nothing? — ownerless agents are unremediable agents
  5. What shadow AI is in use? — cloud app catalogue, sanctioned vs not

The canonical KQL for each lives in the Playbooks archive; snapshot rule throughout: summarize arg_max(Timestamp, *) by AgentId | where LifecycleStatus != "Deleted".

📌 Four KPIs to track weekly

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.