SaveMyCert
Log in
5 of 5 free questions left today·for 30 a day
Manage and monitor security posture

SC-500 Microsoft Security Copilot: Workspaces, Roles, Plugins and Agents

18 min readSC-500 · Manage and monitor security postureUpdated

Implementing Microsoft Security Copilot means setting up the workspaces, capacity, roles, plugins and agents that decide where Copilot's data lives, what it costs, who can use it and which security data and tools it can reach. This lesson covers the four SC-500 skills for the platform: configuring workspaces (data storage and prompt evaluation location, Security Compute Unit capacity and product routing), managing Copilot owner and contributor roles alongside the service roles that on-behalf-of authentication needs, enabling preinstalled and custom plugins, and setting up Microsoft agents and partner agents from Microsoft Security Store.

What you’ll learn
  • Create a Security Copilot workspace with the right data storage location and prompt evaluation location for a residency requirement
  • Size and manage capacity with provisioned and overage Security Compute Units, and pause a workspace without losing its data
  • Route embedded experiences and Microsoft agents to the correct workspace, and move agents between workspaces safely
  • Assign Copilot owner and contributor roles with role-assignable groups, and give users the service roles on-behalf-of authentication needs
  • Control preinstalled and custom plugins, and write custom plugin manifests with KQL and API skills
  • Set up Microsoft and Security Store agents with agent identities, the right approvals and least-privilege access

What Security Copilot workspaces are and why you create more than one

A Security Copilot workspace is a self-contained environment inside one tenant that has its own data storage location, its own capacity of Security Compute Units (SCUs), its own role assignments and its own plugin and owner settings. You give each workspace a name that must be unique in the tenant and can't be changed after it is created. Every session, promptbook run and agent run happens in a workspace, and the workspace decides where that data is stored, which compute pays for it and which tools Copilot can use.

Organizations create several workspaces when teams need different answers to those questions. Typical reasons are:

  • Data residency: one team's prompts and responses must be stored in a different geography from the rest of the company.
  • Cost separation: a SOC and a compliance team each get their own capacity, so one team's burst of usage can't exhaust the other's units.
  • Different tool sets: a sandbox workspace can run experimental plugins that are never turned on in the production SOC workspace.
  • Different administrators: each workspace can have its own Copilot owners.

Because workspaces are independent, nothing you configure in one appears in another. A plugin turned on and tested in a sandbox is still off in the SOC workspace until someone turns it on there (Manage plugins, or Sources in the prompt bar). Users switch between the workspaces they hold a role in from the standalone portal.

Data storage location vs prompt evaluation location

When you create a workspace you choose two separate geographic settings: the data storage location, which decides where session data rests, and the prompt evaluation location, which decides where prompts are processed. Compliance requirements often name one but not the other, so read which one the requirement actually covers.

SettingWhat it controlsOptionsCan it change later?
Data storage locationWhere prompts, responses and other customer data for the workspace are stored at restA set of supported geographies: Australia/New Zealand (ANZ), the EU, Switzerland (CH), the UK and the USNo. It is fixed when the workspace is created
Prompt evaluation locationWhere the model processes promptsMatch the storage geography, or evaluate anywhere with available capacitySet with the workspace's capacity

Key consequences:

  • Storage is immutable. If an existing workspace stores data in the US and one team now needs EU storage, you can't edit the location: you create a second workspace with EU storage for that team and leave the original one alone.
  • Storage alone doesn't keep processing in-region. "Evaluate anywhere" routes prompts to the least-busy datacenter globally to improve responsiveness, so a policy that says data must stay in the EU both at rest and during processing needs EU storage and EU prompt evaluation.
  • Evaluate anywhere is the right choice when speed matters and processing elsewhere is acceptable; the storage location still stays where you set it.

Capacity and Security Compute Units: provisioned, overage and throttling

A capacity is the Azure resource that supplies Security Compute Units to a workspace, and each capacity serves exactly one workspace at a time. SCUs are not shared or pooled: spare units in a sandbox workspace can't help a busy SOC workspace, and you can't attach two capacities to one workspace or one capacity to two workspaces. If a new workspace needs compute, you create a new capacity for it (or disassociate an existing one, which leaves its previous workspace without compute).

Unit typeHow it's billedUse it for
Provisioned SCUsEvery hour, whether used or notThe steady, always-on baseline
Overage SCUsOnly when consumed, after the provisioned units for the hour are used upSpikes such as incident surges, without raising the baseline

When a workspace runs out of units in an hour, users are throttled and see errors that capacity is unavailable until the next billing hour. Raising provisioned units fixes this at a higher fixed cost; allowing (more) overage units absorbs bursts and is billed only when used.

Managing capacity needs Azure Owner or Contributor on the subscription or resource group plus the Copilot owner role (Security Administrator or higher in the tenant when you first provision). Owners monitor consumption, split into provisioned and overage units, on the usage dashboard in owner settings, which is a Copilot owner page inside Security Copilot.

Pausing a workspace: disassociate vs delete

ActionBillingWorkspace data
Disassociate the capacity from the workspaceStops: no billing occurs while a workspace has no assigned capacityKept; you can assign a capacity again later
Delete the capacity (needs the Security Administrator role)StopsPermanent loss of session history, feedback and other workspace-specific data
Lower provisioned or overage unitsProvisioned units still bill every hourKept

Disassociating stops charges but doesn't stop people trying to use the workspace; to keep everyone out while it's paused, also remove the users' Copilot roles in that workspace.

Per-workspace vs tenant-wide settings, and routing embedded experiences and agents

Most owner settings, including roles, plugins, data sharing, file uploads and capacity, apply only to the workspace in which they are set; a few decisions are made once for the whole tenant. Knowing which is which tells you whether a workspace owner can make one workspace behave differently from another.

SettingScope
Role assignments (owners, contributors)Per workspace
Plugins turned on, preinstalled plugin availability, custom plugin permissionsPer workspace
Data sharing options (whether prompts and responses are shared to improve the service)Per workspace
Who can upload filesPer workspace
Capacity assignmentPer workspace
Audit logging of Copilot activity to Microsoft PurviewTenant-wide: applies across all workspaces; only a Security Administrator can change it
Which workspace receives each product's embedded and agent trafficTenant-wide, one choice per product
Data storage locationPer workspace, but fixed at creation

Copilot used inside other portals (Microsoft Defender, Microsoft Purview, Microsoft Intune, Microsoft Entra) and the Microsoft agents that run there are routed to a workspace by a tenant-wide assignment made per product; until you change it, the default is the oldest workspace. A user picking a workspace in the standalone portal only affects their standalone sessions. It doesn't move Copilot in Defender.

For example, if a SOC workspace was created first and a compliance team's workspace later, compliance analysts using Copilot in the Microsoft Purview portal consume the SOC workspace's units until an owner assigns the Purview product to the compliance workspace in owner settings.

Routing changes have two follow-on effects:

  • Users need a role in the target workspace. Once a product is routed to a workspace, every user's embedded requests for that product land there, so each of them needs contributor (or owner) access in that workspace. Workspace access controls whether a request succeeds; only the product assignment decides where it goes.
  • Agent setups don't move by themselves. An agent's configuration lives in a workspace. Before reassigning a product, turn off the agents' scheduled and automatic triggers so the old setup doesn't keep running (and duplicate work), then set the agents up again in the new workspace. Agent memory and feedback are not carried across.

Copilot owner and contributor: platform roles, not data access

Security Copilot has two roles of its own, Copilot owner and Copilot contributor, and neither is a Microsoft Entra role or grants any access to security data. They control what someone can do on the Copilot platform: owners administer the workspace, contributors use it.

Data access comes from on-behalf-of authentication: when Copilot calls a Microsoft plugin, it uses the signed-in user's own permissions in that service. Copilot never goes beyond the access the user already has, so each plugin needs its own service role:

Data the user wants in CopilotRole needed in the service (example)
Microsoft Sentinel incidentsAn Azure RBAC role on the Sentinel workspace, such as Microsoft Sentinel Reader
Intune devices, policies and postureAn Intune role, such as Endpoint Security Manager
Microsoft Defender XDR dataA Defender XDR (unified RBAC) role
Microsoft Purview dataA Purview role, such as Compliance Administrator

A contributor whose prompts return nothing from Sentinel is missing a Sentinel role, not a Copilot role. Least privilege means granting the narrowest service role that covers what Copilot must read: for reading incidents, a reader role on the Sentinel workspace.

Shared sessions

The Copilot contributor role is the only requirement to share a session link or view one in the same tenant. The plugin access that produced a response is not re-evaluated when someone views the shared session, so a colleague without Intune access can read Intune results that a session creator shared with them. Shared sessions are read-only, contain all their prompts and responses, and forwarding a link doesn't grant access: only the session creator decides who can see it.

What owners can do that contributors can't

Contributors can use everything a user needs (sessions, promptbooks, file uploads by default), while owners alone change settings that affect everyone in the workspace.

CapabilityOwnerContributor
Create sessions; run promptbooks; manage personal promptbooks; select languageYesYes
Share a promptbook with the tenantYesYes
Upload files as knowledge sourcesYesYes by default
Manage who can upload filesYesNo
Manage personal custom pluginsYesNo by default
Allow contributors to add personal custom plugins or publish custom plugins for the tenantYesNo
Change availability of preinstalled pluginsYesNo
Update data sharing and feedback optionsYesNo
Capacity managementYes (with the Azure role on the capacity)No
View the usage dashboardYesNo

To stop file uploads without disrupting work, an owner sets who can upload files to no one; removing contributor roles would also stop sessions and promptbooks.

Enabling and controlling plugins

Plugins are the sources Copilot can use. Preinstalled Microsoft and partner plugins are controlled by an availability setting, and custom plugins by two owner permissions and an upload scope.

Preinstalled plugins

  • Owners set each preinstalled plugin's availability to All users or Owners only. Restrictions also affect embedded experiences: restricting the Microsoft Defender XDR and Natural language to KQL plugins degrades Copilot in the Defender portal for contributors, who can't override an owner restriction. The fix is to make the plugins available to all users again.
  • After an owner has restricted any preinstalled plugin, new preinstalled plugins that Microsoft adds later arrive as Owners only. An owner must set each new one to All users before contributors see it.
  • Plugins with a gear or Set up button, such as Microsoft Sentinel (subscription, resource group, workspace name), are configured per user. An owner completing the setup doesn't configure it for analysts; each analyst enters the values for themselves, and still needs their own Sentinel role.

Custom plugins

Owner settingScopeEffect
Who can add and manage their own custom pluginsUserOwners only by default; set to Owners and Contributors to let contributors build plugins for themselves
Who can add and manage custom plugins for everyone in the organizationTenantCan be opened to contributors only after the user-scope setting allows them
  • A custom plugin is uploaded either as a Security Copilot plugin (a YAML or JSON manifest file) or as an OpenAI plugin (a link to the plugin's published manifest).
  • At upload you choose Just me (a private plugin, the way to vet a new plugin) or Anyone in my organization (available to everyone straight away).
  • Custom plugins uploaded by owners can't be edited by contributors. Only an owner can fix a shared plugin's file, from its gear icon. A contributor's private copy fixes only their own sessions.
  • Plugins are turned on per workspace (Manage plugins / Sources).

Custom plugin manifests: GPT, KQL and API skills

A custom plugin is a YAML or JSON manifest with a Descriptor (name, description, settings) and one or more SkillGroups, each with a Format that decides what its skills do.

FormatWhat a skill doesKey settings
GPTSends a prompt template to the model; it doesn't query data or call an APITemplate
KQLRuns a fixed KQL query (an inline Template) against a data storeTarget plus the settings that locate the data
APICalls a REST API described by an OpenAPI specificationOpenApiSpecUrl pointing to a hosted spec

KQL targets

TargetQueriesSettings it needs
DefenderMicrosoft Defender XDR advanced hunting tables (for example EmailEvents)No workspace values: just the template
SentinelA Microsoft Sentinel workspaceTenantId, SubscriptionId, ResourceGroupName, WorkspaceName
SentinelDataLakeThe Microsoft Sentinel data lakeTemplate only in Microsoft's example
LogAnalyticsA Log Analytics workspaceSee the KQL plugin reference
KustoAn Azure Data Explorer clusterCluster URL and Database

A fixed hunting query with no Sentinel workspace is the simplest case: a KQL skill with the Defender target.

API plugins support OpenAPI 3.0 or 3.0.1 only. An API described in Swagger 2.0 must be converted to OpenAPI 3.0.x and hosted before an API skill group can reference it; the OpenAPI version limit applies to the spec the skill group references.

Microsoft agents, agent identities and Security Store agents

Security Copilot agents are autonomous or scheduled AI workflows: Microsoft builds some (they appear under Active agents and inside product portals) and partners publish others, which you buy in Microsoft Security Store. Setting one up means choosing its identity, granting that identity the access it needs, turning on the plugins it depends on and setting its triggers.

Choosing the agent's identity

OptionWhat the agent can doWhen it fits
Create an agent identity (Microsoft Entra Agent ID)Only what you grant it at setup; no person's credentials involvedRecommended by Microsoft for Microsoft-built agents
Connect an existing user accountEverything that account can do, and it fails when that user's access changesLegacy approach; avoid personal or shared admin accounts

An agent identity starts with no service access, so grant exactly what the agent reads. For example, the Threat Intelligence Briefing Agent's exposure data comes from Microsoft Defender for Endpoint, which scopes data both by role permissions (such as Vulnerability Management and Advanced Hunting read) and by device group. Missing either one leaves the exposure report unavailable or showing zero CVEs. A privileged Entra role is far broader than that read access.

Agents that ran as a user before agent identities existed failed whenever that user's privileged role was only eligible through Privileged Identity Management and not activated. The durable fix is to create an agent identity from the agent's identity and permissions settings, not to make the user's role permanent or activate it before every run.

Conditional Access Optimization Agent (Microsoft Entra)

  • Security Administrator activates the agent the first time; Conditional Access Administrators review and apply its suggestions; reader roles can only view.
  • By default it only suggests. It doesn't create policies. If you want it to set up new protections itself, turn on its capability to create policies, which it creates in report-only mode. An administrator switches each one on only after reviewing its impact. Changes to existing policies also wait for approval.
  • Applied suggestions are ordinary Conditional Access policies: removing the agent removes its own data, and the policies stay in force.

Security Store (partner) agents

  • Procurement is separate from operations. Partner agents are bought, and cancelled, in Security Store. Removing the agent in Security Copilot doesn't stop the partner's charge. SCUs the agent consumes are billed separately on your capacity.
  • A partner agent that uses Microsoft product data (Sentinel, Defender and so on) needs a Global Administrator to approve its requested permissions. Until then, Set up is unavailable and a consent banner shows; the requester sends the link to a Global Administrator, then finishes the identity and trigger settings.
  • Plugins the agent depends on are enabled but not configured when it's installed. Complete their settings (for example an API key) from Manage sources, or runs fail.

Tip. Expect short Microsoft-style scenarios describing a company's Copilot setup and one constraint (data residency, a cost ceiling, least privilege, no Entra directory roles, least administrative or development effort, no personal credentials), followed by which setting, role or action meets it. Items hinge on near-twins: data storage vs prompt evaluation location, provisioned vs overage units, disassociate vs delete, per-workspace vs tenant-wide settings, Copilot roles vs service roles, Recommended roles vs Everyone, user-scope vs tenant-scope custom plugin settings, KQL targets, agent identity vs user account, and Security Store procurement vs Security Copilot operations. Some items ask you to select two actions that together solve the problem.

Key takeaways
  • Data storage location is fixed when a workspace is created; new residency needs mean a new workspace, and in-region processing also needs prompt evaluation set to that geography instead of evaluate anywhere.
  • One capacity serves one workspace and SCUs are never shared; provisioned units bill every hour, overage units bill only when used, and exhausted units throttle users until the next billing hour.
  • Disassociating a capacity stops billing and keeps the workspace's data; deleting it permanently loses session history and feedback.
  • Embedded and agent traffic is routed per product, tenant-wide, to the oldest workspace by default; users need a role in the target workspace, and agents must be stopped and set up again when you move them.
  • Copilot owner and contributor aren't Entra roles and grant no data; on-behalf-of authentication means each plugin needs the user's own service role, such as Microsoft Sentinel Reader.
  • Assign Copilot roles to role-assignable security groups (no dynamic membership); remove Everyone before adding the Recommended Microsoft Security roles, and know that Everyone can't come back.
  • Owners alone change workspace-wide settings: plugin availability, upload permissions, data sharing, capacity and the usage dashboard; audit logging to Purview is tenant-wide and only a Security Administrator can change it.
  • Restricting preinstalled plugins can break embedded Copilot and makes later new preinstalled plugins Owners only; plugins with a Set up button are configured per user.
  • Custom plugins use a Descriptor and SkillGroups; KQL skills pick a Target (Defender needs no workspace values, Sentinel needs four), and API skills need an OpenAPI 3.0 or 3.0.1 spec.
  • Prefer an agent identity over a user account, grant it exactly the service access it reads, buy and cancel partner agents in Security Store, and have a Global Administrator approve partner access to Microsoft data.

Frequently asked questions

Can you change a Security Copilot workspace's data storage location?

No. The data storage location of a Security Copilot workspace is chosen when the workspace is created and can't be changed afterwards. If a team needs its prompts and responses stored in a different geography, you create a new workspace with that storage location for the team, and existing workspaces and their sessions stay where they are.

What is the difference between provisioned and overage Security Compute Units?

Provisioned Security Compute Units (SCUs) are the always-on baseline of a Security Copilot capacity and are billed every hour whether or not they're used. Overage SCUs are only used after the provisioned units for the hour run out, and they're billed only when consumed, so they absorb usage spikes without raising the fixed baseline.

Does the Copilot contributor role give access to security data?

No. Copilot owner and Copilot contributor are Security Copilot platform roles, not Microsoft Entra roles, and they grant no security data. Security Copilot uses on-behalf-of authentication, so a user also needs the relevant service role (for example Microsoft Sentinel Reader for Sentinel incidents, or an Intune role for device data) before Copilot can return that data.

Can you use a dynamic group to assign Security Copilot roles?

No. Security Copilot only supports assigning its roles to role-assignable groups, and role-assignable groups in Microsoft Entra ID use assigned membership, not dynamic membership. Microsoft recommends assigning Copilot roles to security groups rather than to individual users or through privileged Entra roles.

Which workspace does Copilot in the Microsoft Defender portal use?

Embedded Security Copilot experiences and Microsoft agents are routed to a workspace by a tenant-wide setting made per product (Defender XDR, Purview, Intune, Microsoft Entra). Until an owner changes it, the oldest workspace receives the traffic. Users need a Copilot role in whichever workspace their product is routed to.

Why should a Security Copilot agent use an agent identity instead of a user account?

An agent identity (Microsoft Entra Agent ID) gives the agent only the permissions granted to it at setup and doesn't depend on any person's credentials. A connected user account lets the agent do everything that user can do, and its runs fail when the user's access changes, such as when a privileged role is only eligible in Privileged Identity Management.

How do you stop paying for a partner agent from Security Store?

Cancel the partner agent's subscription in Microsoft Security Store. Procurement of partner agents is handled in Security Store, separate from operations in Security Copilot, so removing the agent from Security Copilot doesn't cancel the partner's charge.

What versions of OpenAPI do Security Copilot API plugins support?

Security Copilot API plugins support OpenAPI 3.0 and 3.0.1 specifications. An API described in Swagger 2.0 must be converted to OpenAPI 3.0.x and hosted, then referenced from the plugin manifest's API skill group with OpenApiSpecUrl.

Source

This lesson covers the "Manage and monitor security posture" domain of the official SC-500 exam guide. Vendors revise their guides — check the source for the current version.

Test yourself on this topic
Practice now

Sign up free to mark lessons complete, bookmark topics and track your exam readiness.

Spotted a mistake in this lesson?