Home Overview AI Risk Products Identity MCP Threats Frameworks Gaps Playbooks CS vs Foundry Changelog Contact
๐Ÿ“Œ Author's note: This site synthesises the author's own understanding from publicly available Microsoft documentation, official Microsoft Security blog posts, RSAC 2026 announcements, and insights from Microsoft Security professionals and MVPs. It is independent and not affiliated with or endorsed by Microsoft.
COPILOT STUDIO ยท MICROSOFT FOUNDRY ยท SECURITY

Copilot Studio
vs Microsoft Foundry

Two platforms. Very different security models. This page is your condensed security handbook for both โ€” what controls apply, what the gaps are, and what to do first.

๐Ÿ›ก๏ธ
BEFORE ANYTHING ELSE ยท DAY 1
Set up the Security Dashboard for AI
Covers both Copilot Studio and Microsoft Foundry agents. Single pane of glass for your entire AI estate โ€” posture, inventory, risk signals. GA, no additional licence. Takes 30 minutes.
โ†’ Setup Guide
Platform Overview

Which platform are you securing?

The security controls, gaps, and runbooks are fundamentally different depending on which platform your agents run on. Start here to make sure you're looking at the right controls.

๐Ÿค–
Microsoft Copilot Studio
LOW-CODE ยท POWER PLATFORM ยท MAKERS
Who uses it: Makers, Copilot admins, Power Platform teams โ€” people who build agents with low-code tools, not developers writing code
What it produces: Copilot Studio agents published to Teams, SharePoint, websites โ€” conversational agents connecting to M365 data
Critical distinction: Classic agents (most existing deployments) sit outside the Entra security perimeter. Modern agents (new) get full Entra coverage
Primary risk surface: Maker credentials, no-auth agents, org-wide sharing, agent sprawl, any-user-can-change-auth
Primary detection surface: AIAgentsInfo table in Defender Advanced Hunting
๐Ÿญ
Microsoft Foundry
CODE-FIRST ยท AZURE ยท DEVELOPERS
Who uses it: Developers, solution architects, AI engineers โ€” people building custom AI agents and workloads in Azure using SDKs and code
What it produces: Custom AI agents, RAG pipelines, multi-agent orchestration, enterprise AI applications โ€” deployed as Azure resources
Critical distinction: Uses modern Agent ID authentication (OAuth 2.0) by default โ€” CA for Agents and ID Protection apply. Much stronger baseline than Classic Copilot Studio agents
Primary risk surface: Logging gaps (nothing collected by default), content capture governance, RBAC at resource vs project level, supply chain
Primary detection surface: Azure Monitor Diagnostic Settings, Application Insights, Entra ID sign-in logs
Side-by-Side Comparison

Security posture at a glance

Security Control Copilot Studio Microsoft Foundry
Entra Agent IDโš ๏ธ Modern agents only โ€” most existing deployments are Classic and excludedโœ… Supported โ€” agents are Entra identities by default
Conditional Access for AgentsโŒ Does NOT apply to Copilot Studio agentsโœ… Applies โ€” OAuth 2.0 Agent ID authentication
ID Protection for AgentsโŒ Classic agents only โ€” Modern agents supportedโœ… Supported
Identity Governance (lifecycle)โš ๏ธ Modern agents onlyโœ… Supported via Entra ID Governance
Defender real-time protectionโœ… Copilot Studio agents (Defender for Cloud Apps)โœ… Defender for Cloud AI security posture
Sentinel analytics rulesโœ… AIAgentsInfo table queriesโœ… Azure Monitor + App Insights tables
Prompt Shield / Content Safetyโœ… Built-in via M365 Copilot layerโœ… Content Safety SDK โ€” opt-in per agent
DLP / Purviewโœ… DLP for M365 Copilot (GA March 31 2026)โœ… Azure data governance applies
Inventory / discoveryโœ… Agent 365 + AIAgentsInfo tableโš ๏ธ Azure Resource Manager + Entra Agent ID โ€” no unified agent-level inventory table equivalent
Logging โ€” default stateโœ… Some data in AIAgentsInfo automaticallyโš ๏ธ Nothing collected by default โ€” all logging is opt-in
Red teamingโš ๏ธ No native Copilot Studio red teaming toolโœ… AI Red Teaming Agent in Microsoft Foundry
Supply chain scanningโš ๏ธ Limited โ€” connector risk is the main vectorโœ… Defender for Cloud CSPM, AI model scanning
Copilot Studio โ€” Security Condensed

The five authentication patterns โ€” risk at a glance

Every Copilot Studio agent uses one of five authentication patterns. The pattern determines the risk level, what controls apply, and how you detect it.

โ‘ 
End User Credentials (OBO)
Auth with Microsoft โ†’ End user credentials
LOW RISK
UserAuthenticationType == "Integrated"
โ‘ก
Maker-Provided Credentials
Auth with Microsoft โ†’ Maker-provided credentials
HIGH RISK
AgentToolsDetails.mode == "Maker"
โ‘ข
App Registration โ€” Delegated
Authenticate manually โ†’ Entra ID V2 (delegated)
LOW RISK
HTTP Request + delegated token
โ‘ฃ
App Registration โ€” Application Permissions
Authenticate manually โ†’ Entra ID V2 (application)
VERY HIGH RISK
HTTP to graph.microsoft.com + client creds
โ‘ค
Agent's User Account
Full human identity โ€” mailbox, Teams, SharePoint access
VERY HIGH RISK
Entra ID Governance lifecycle required

The Classic vs Modern gap โ€” the most important distinction

Most existing Copilot Studio deployments are Classic agents. They authenticate as service principals or via OBO โ€” not as modern Agent ID identities. This means CA for Agents, ID Protection for Agents, and Entra lifecycle governance do not apply. The entire Entra security product stack Microsoft markets for agent security only works with Modern agents.

โš ๏ธ The gap nobody talks about

Microsoft does not clearly document this distinction in its product marketing. Most security teams assume that purchasing Entra Agent ID or enabling CA for Agents covers their Copilot Studio estate. It does not โ€” unless agents have been specifically created as Modern agents using the Agent ID framework. Field research confirms this is the default state of most enterprise Copilot Studio deployments.

Copilot Studio โ€” 30-minute audit

Run these in Defender Advanced Hunting to get immediate visibility. Any result from Query 1 or 2 is a critical finding.

// Query 1: No-auth agents (critical โ€” run first) AIAgentsInfo | summarize arg_max(Timestamp, *) by AIAgentId | where AgentStatus == "Published" | where UserAuthenticationType == "None" | project AIAgentName, CreatorAccountUpn, OwnerAccountUpns, AgentCreationTime
// Query 2: Change-detection โ€” auth downgraded to None (use as Sentinel Analytics Rule) AIAgentsInfo | summarize arg_max(Timestamp, *) by AIAgentId | where AgentStatus == "Published" | order by AIAgentName | extend PreviousAuthType = prev(UserAuthenticationType, 1) | where UserAuthenticationType == "None" and PreviousAuthType != "None" | project AIAgentName, PreviousAuthType, UserAuthenticationType, ReportId = tostring(AIAgentId), Timestamp
// Query 3: Maker credentials (field-validated โ€” checks both Tools and Topics) let base = AIAgentsInfo | summarize arg_max(Timestamp, *) by AIAgentId | where AgentStatus == "Published"; let directActions = base | mv-expand detail = AgentToolsDetails | where detail.action.connectionProperties.mode == "Maker" | extend ActionType = "FromTools" | project-reorder AgentCreationTime, AIAgentId, AIAgentName, UserAuthenticationType, CreatorAccountUpn; let topicActions = base | mv-expand topic = AgentTopicsDetails | extend topicActionsArray = topic.beginDialog.actions | mv-expand Action = topicActionsArray | where Action.connectionProperties.mode == "Maker" | extend ActionType = "FromTopic" | project-reorder AgentCreationTime, AIAgentId, AIAgentName, AgentStatus, CreatorAccountUpn, OwnerAccountUpns, Action; directActions | union topicActions | sort by AIAgentId, Timestamp desc

Copilot Studio โ€” Critical Gaps

GapRiskInterim Mitigation
Classic agents outside Entra perimeterโš ๏ธ CriticalInventory via AIAgentsInfo; enforce end-user auth in Power Platform admin; manually recreate critical agents as Modern
Any user can change another agent's auth type to Noneโš ๏ธ CriticalDeploy change-detection Sentinel Analytics Rule; restrict Copilot Studio access via Managed Environments
Maker credentials blast radiusโš ๏ธ HighEnforce end-user auth per agent; PAM hygiene on developers who build agents; audit via Query 3 above
Portal inventory count inconsistencyโš ๏ธ HighTrust AIAgentsInfo table as primary source; treat portal counts as approximate
Agent sprawl โ€” no lifecycle enforcementโš ๏ธ HighAssign owners to all agents; use access packages for time-bound permissions; quarterly AIAgentsInfo audit
Microsoft Foundry โ€” Security Condensed

The Foundry resource model โ€” why it matters for security

Microsoft Foundry uses a layered resource model that most teams bolt security onto after deployment โ€” when the decisions that matter most are already harder to change.

Foundry Resource
Microsoft.CognitiveServices/accounts
Networking ยท Private endpoints
RBAC ยท Managed identity
Encryption keys ยท Model deployments
Service connections
Security-sensitive: Management-plane operations (key rotation, RBAC changes, project creation) all originate here
Foundry Projects (one-to-many)
Microsoft.CognitiveServices/accounts/projects
Inherit resource networking + encryption
Agent builds ยท Evaluations ยท Prompt flows
Application Insights connection
Critical: Diagnostic Settings do NOT cascade from resource to projects โ€” each project needs its own separate configuration

Microsoft Foundry โ€” the four logging layers

Foundry generates telemetry across four distinct layers. The Activity Log is the only one that requires no configuration. Everything else is opt-in and off by default.

LayerWhat it capturesDefault stateSecOps priority
Layer 1 ยท Activity LogResource CRUD, RBAC changes, key rotation, network config, model deploymentsโœ… Automaticโญโญโญ Essential โ€” route to Sentinel
Layer 2a ยท Diagnostic Settings (Resource)Audit (data plane access), RequestResponse (inference metadata โ€” no prompt content), AzureOpenAIRequestUsage, TraceโŒ Off by default โ€” explicit opt-in per resourceโญโญโญ Enable Audit + RequestResponse for SecOps
Layer 2b ยท Diagnostic Settings (Project)Audit (agent operations โ€” runs, file uploads, evaluations), Trace, AllMetricsโŒ Off by default โ€” separate config per projectโญโญโญ Enable Audit per project โ€” does NOT inherit from resource
Layer 3 ยท Application InsightsFull agent runtime traces, tool call chains, prompt + completion content (if enabled), exceptions, dependenciesโŒ Off by default โ€” SDK connection per projectโญโญ Enable for agent-level behavioural visibility
Identity ยท Entra ID logsNon-interactive sign-ins, service principal sign-ins, agent lifecycle eventsโŒ Tenant-level diagnostic setting โ€” separate configโญโญโญ Required โ€” without this, agent auth plane is a blind spot
โš ๏ธ Two critical Foundry logging gotchas

1. Diagnostic Settings don't cascade. Settings configured at the Foundry resource level do NOT apply to projects. Every new project needs its own separate Diagnostic Settings configuration โ€” or you accept the gap silently.

2. RequestResponse does not contain prompt content. By design. If investigation requires content-level visibility, Application Insights with content capture enabled is the only source โ€” but enabling AZURE_TRACING_GEN_AI_CONTENT_RECORDING_ENABLED creates direct responsibility for storage, access controls, and retention of potentially sensitive data (PII, secrets, business data).

Microsoft Foundry โ€” what to enable for SecOps

โœ… ENABLE FOR SECOPS
Priority logging sources
Activity Log โ†’ route to Sentinel workspace
Entra ID sign-in + audit logs (tenant-level)
Diagnostic Settings Audit โ€” at resource AND each project
Diagnostic Settings RequestResponse โ€” at resource level
Application Insights โ€” workspace-based, linked to same LAW as Sentinel
โš ๏ธ FOUNDRY-SPECIFIC GAPS
What to watch
No logging by default โ€” data never collected cannot be recovered
New projects don't inherit logging config โ€” governance process required
Content capture governance must precede enabling prompt logging
App Insights must be workspace-based for Sentinel to query it
RBAC at resource scope cascades to projects โ€” least-privilege may require project-level assignments
๐Ÿ“Œ Sources

Copilot Studio content: field research by Derk van der Woude (Microsoft Security MVP) ยท Microsoft Entra security for AI overview (April 2026) ยท Microsoft Zero Trust Assessment Workshop AI section.
Microsoft Foundry logging: Cyphora.io โ€” Microsoft Foundry Logging (April 2026) ยท Microsoft Learn documentation.

STAY UPDATED
Get notified when Microsoft AI security changes
Monthly updates on new controls, GA announcements, and critical gaps โ€” direct to your inbox.
Subscribe to updates โ†’
aiagentsecurity.substack.com ยท Free ยท No spam