Azure Copilot Agents Are Being Enabled in Your Tenant on August 1 — Audit Checklist and Governance Controls

Microsoft is enabling AI agents in Azure Copilot for all tenants on August 1, 2026 — automatically, without additional opt-in. This guide covers what each agent can do, how to audit your current exposure, and how to lock this down before the deadline.

Azure Copilot Agents Governance Guide
⚠️ DEADLINE: AUGUST 1, 2026 · Azure · Governance · AI Security

Azure Copilot Agents Are Being Enabled in Your Tenant on August 1.
Here's Your Governance Plan.

Microsoft is enabling AI agents in Azure Copilot for all tenants on August 1, 2026 — automatically, without additional opt-in. These agents can deploy resources, modify configurations, troubleshoot issues, and optimize your environment. This guide covers what each agent can do, how to audit your current exposure, and how to lock this down before the deadline.

Azure Governance AI Security Zero Trust 9 days to deadline

⚡ Why This Is Urgent

Azure Copilot's agent mode moves AI from an assistant that answers questions to an agent that takes actions inside your Azure environment. On August 1, Microsoft is transitioning from the current early-access allowlist model to automatic availability — every tenant with Azure Copilot access gets agents enabled by default.

⚠️
This is not a feature preview you enrolled in. If your tenant has Azure Copilot enabled, agents will be active for all Azure Copilot users on August 1 unless you explicitly turn them off beforehand. The Deployment Agent and Optimization Agent are write-capable — they can create resources and change configurations with user confirmation.

The core governance question is not whether AI agents are useful — they are. It's whether your organization has a deliberate stance on which users should be able to invoke write-capable AI actions in your production Azure environment, and whether your change management and audit processes cover AI-initiated changes.

Regulated industries (financial services, healthcare, government) may have compliance requirements that demand a more conservative initial posture. Even standard enterprise environments benefit from a deliberate rollout with scoped user access rather than blanket availability to every Azure user.

ℹ️
Azure Copilot agents always require explicit user confirmation before taking any write action. They do not run autonomously. However, a user with Contributor rights on a subscription who confirms an agent's proposed deployment is still a governance event — it needs audit trails and change controls.

📅 What Changes on August 1, 2026

Today
Agents in limited preview.
Allowlist-based access.
Opt-in required.
July 23–31
Last window to set posture.
Disable or scope access
before rollout.
August 1, 2026
Agents auto-enabled.
No allowlist required.
All Azure Copilot users.

Agents Reaching GA on August 1

Observability Agent — Generally Available

Integrated with Azure Monitor. Proactively surfaces insights about resource health, performance trends, and alerting gaps. Primarily a read-and-analyze agent — low write risk.

Agents Entering Public Preview on August 1 (Auto-Enabled)

Public Preview agents become available to all users without requiring a sign-up or allowlist request. They carry a higher governance consideration because they include write-capable actions.

Deployment Agent

Deploys Azure infrastructure via natural language. Can generate Bicep/Terraform and propose ARM deployments. Can open pull requests to GitHub. Write-capable.

Troubleshooting Agent

Diagnoses Azure resource issues and can propose and apply remediation actions. Integrates with Azure support. May apply fixes with user confirmation.

Optimization Agent

Identifies cost and performance improvements. Can propose and apply configuration changes to right-size resources. Write-capable for cost optimization changes.

Resiliency Agent

Evaluates architecture against reliability best practices and can suggest and apply configuration changes for resilience. Write-capable for infrastructure changes.

Migration Agent (via Azure Migrate)

Orchestrates workload migration planning and execution. Integrates with Azure Migrate projects. Generates migration plans and assists with cutover.

🔑
Important technical boundary: agents inherit the calling user's Azure RBAC permissions. An agent cannot perform any action that the user themselves could not perform directly. Reader-only users cannot trigger deployments via the Deployment Agent. This is a hard platform enforcement, not a soft guardrail.

🤖 Agent Capabilities and Risk Matrix

Understanding what each agent can actually do is the foundation of your governance decision. The table below maps each agent to its read vs. write surface and the governance considerations specific to enterprise environments.

Agent Status Aug 1 Read Actions Write Actions (with confirmation) Risk Tier
Observability GA Monitor metrics, logs, alerts, resource health None (read-only) Low
Deployment Preview Query existing resources, generate IaC templates Deploy resources, create resource groups, open GitHub PRs High
Optimization Preview Cost analysis, Advisor recommendations, utilization data Resize VMs, change SKUs, modify reserved instance allocations High
Troubleshooting Preview Diagnose connectivity, review logs, check configs Apply configuration fixes, restart services, open support tickets Medium
Resiliency Preview Architecture review, reliability score assessment Enable redundancy settings, modify availability zones, add backup policies Medium
Migration Preview Inventory existing workloads, generate migration plans Trigger migration jobs via Azure Migrate, initiate cutover High
🚀
Deployment Agent
PUBLIC PREVIEW
  • Natural language to Bicep / Terraform / ARM
  • Can deploy to any subscription where caller has Contributor rights
  • GitHub pull request integration for IaC review flows
  • VS Code for Web integration for template editing
HIGH RISK — deploy-capable
💰
Optimization Agent
PUBLIC PREVIEW
  • Surfaces Azure Advisor cost recommendations
  • Can right-size VMs and scale sets
  • Proposes and applies SKU downgrades
  • Reserved instance and savings plan optimization
HIGH RISK — config changes
✈️
Migration Agent
PUBLIC PREVIEW
  • Inventory and assessment via Azure Migrate
  • Dependency mapping and migration planning
  • Initiate replication and migration jobs
  • Cutover assistance and validation
HIGH RISK — migration actions
🔧
Troubleshooting Agent
PUBLIC PREVIEW
  • Network connectivity diagnosis
  • Log correlation and root cause analysis
  • Can apply recommended configuration fixes
  • Azure Support ticket creation
MEDIUM RISK — conditional writes
🛡️
Resiliency Agent
PUBLIC PREVIEW
  • Azure Well-Architected reliability review
  • Availability zone coverage assessment
  • Backup and DR gap identification
  • Can enable backup policies and redundancy
MEDIUM RISK — infra changes
📊
Observability Agent
GENERALLY AVAILABLE
  • Azure Monitor integration
  • Proactive health and performance insights
  • Alert rule recommendations
  • Read-only — no write actions
LOW RISK — read-only

🔍 Audit Your Current Azure Copilot Exposure

Before August 1, you need to know two things: whether Azure Copilot is enabled in your tenant, and which users have access to it. That determines your actual exposure when agents become active.

Step 1 — Check Tenant-Level Azure Copilot Status

portal.azure.com
🏠 Home
⚙️ Azure Copilot admin center
📋 All services
Azure Copilot admin center > Settings > Access management
Access management
User Access
Available for all users
When on, all users in the tenant can access Azure Copilot. Toggle off to restrict via RBAC role assignment.
Agents (preview)
Request access to Agents (preview)
Controls whether agent capabilities are available to users in this tenant. Toggle off to block all agents.
⚠ Both toggles shown ON = full exposure from August 1. Review your posture below.

Azure Copilot admin center → Settings → Access management. Both toggles ON means agents will be active for all users on August 1.

Step 2 — Identify Who Has Azure Copilot Access

If "Available for all users" is ON, every user who can sign in to the Azure portal has Azure Copilot access — and therefore agent access from August 1. If it's OFF, only users with the Copilot for Azure User RBAC role can access Azure Copilot.

To check the current role assignments:

1

Navigate to Azure Copilot admin center

In portal.azure.com, search for Azure Copilot admin center in the top search bar and select it.

2

Open Access management

Under Settings in the left menu, select Access management.

3

Select Manage RBAC roles

If "Available for all users" is ON, click Manage RBAC roles to see the current Copilot for Azure User assignments. This is also where you'll scope access by group.

⚠ Global Administrator privileges are required to access this setting. Elevate access first if needed (see Step 4 in Scope by User Group section).

What You Need to Know Before August 1

Question Where to Check Why It Matters
Is Azure Copilot enabled? Azure Copilot admin center → Access management → "Available for all users" toggle If OFF with no RBAC assignments, no users have access — agents are not a concern.
Are agents currently enabled? Same page → "Request access to Agents (preview)" toggle If ON, agents are already available in your tenant. Check if users are already using them.
How many users have access? If RBAC-scoped: IAM → Role assignments for "Copilot for Azure User" role Determines the blast radius if a user triggers an unintended agent action.
Which subscriptions are in scope? Azure RBAC Contributor/Owner assignments across subscriptions Agents can only act where the user has write permissions. High-privilege users have the highest agent risk.

🛑 Option A — Disable All Agents (Strictest Posture)

If you want to completely block agent capabilities before August 1, disable the Agents preview toggle. This is the right call for regulated environments, or any organization that needs time to assess the governance implications before enabling write-capable AI agents.

🔑
Required role: Global Administrator. You must elevate your access before managing Azure Copilot settings. Elevated access allows your Global Admin account to manage resources across all subscriptions and management groups in the tenant.
1

Elevate Global Admin access

Navigate to Microsoft Entra IDProperties → under "Access management for Azure resources", toggle Yes and save. This is required before you can manage Azure Copilot settings.

Remember to remove elevated access after completing this task to follow least privilege.

2

Open Azure Copilot admin center

In the Azure portal search bar, type Azure Copilot admin center and select it. Navigate to SettingsAccess management.

3

Disable the Agents toggle

In the Agents (preview) section, toggle Request access to Agents (preview) to Off.

⚠ This disables ALL agents for ALL users in the tenant immediately. Users already in active agent conversations will lose agent functionality — they retain standard Azure Copilot.

4

Confirm and save

Save the setting. Verify the toggle shows Off. Agents are now blocked until you re-enable this toggle. When Microsoft makes these capabilities Generally Available (post-preview), GA agents will become available to users regardless of this toggle — only the preview toggle is being disabled here.

Plan to re-evaluate this setting when agents reach GA. The admin center will reflect GA availability separately from the preview toggle.

5

Remove elevated access

Return to Entra IDProperties → set "Access management for Azure resources" back to No.

portal.azure.com → Azure Copilot admin center → Access management
📋 Overview
⚙️ Settings
Settings > Access management
Access management
Agents (preview)
Request access to Agents (preview)
Agents (preview) are currently disabled for this tenant. Users can still access standard Azure Copilot capabilities.
✓ Agents (preview) disabled. Users retain standard Azure Copilot access.

Target state after disabling — Agents (preview) toggle Off. Standard Azure Copilot remains unaffected.

👥 Option B — Scope Agent Access to Specific Users or Groups

If you want to allow agents for a controlled group — your cloud platform team, a specific project, or a pilot group — rather than blocking all agents or allowing all users, this is the right approach. You control who can access Azure Copilot (and by extension, agents) via the Copilot for Azure User RBAC role.

👥
The agent access toggle is tenant-wide. You cannot enable agents only for some users while blocking others at the agent level alone. The scoping mechanism is Azure Copilot user access — restrict who can access Azure Copilot, and only those users can invoke agents.
1

Elevate Global Admin access

Entra ID → Properties → "Access management for Azure resources" → Yes → Save.

2

Open Access management in Azure Copilot admin center

Azure portal → search Azure Copilot admin center → Settings → Access management.

3

Toggle off "Available for all users"

In the User Access section, set Available for all users to Off. This immediately restricts Azure Copilot access to role-assigned users only. Do this before configuring RBAC to avoid a brief open-to-all window.

After toggling Off, no users have Azure Copilot access until you assign the RBAC role.

4

Assign the Copilot for Azure User role

Click Manage RBAC roles. In the IAM blade, select Add role assignment → role: Copilot for Azure User → assign to your approved users or Entra ID security groups.

Best practice: create a dedicated security group (e.g., "AzureCopilot-Approved-Users") and assign the role to the group. Add/remove individuals from the group rather than managing individual role assignments.

5

Verify and remove elevated access

Test with a user in the approved group and a user outside it. Confirm non-members see the "unauthorized" message in the Azure portal Copilot panel. Then remove your elevated access.

Recommended Group Structure

Group Name Who's In It Rationale
SG-AzureCopilot-Platform Cloud platform engineers, architects Full agent access. These users already have Contributor rights across subscriptions and use Azure as their primary workspace.
SG-AzureCopilot-ReadOnly Operations teams, security analysts Azure Copilot for read/query tasks. Even if agents are enabled, their RBAC prevents write actions.
SG-AzureCopilot-Pilot Pilot program participants Controlled group for evaluating agent capabilities before broader rollout.

🏛️ Recommended Governance Posture by Organization Type

There is no single right answer. Your posture should reflect your regulatory environment, your Azure permissions model, and how mature your change management processes are for AI-assisted actions.

🏦 Regulated
Financial services, healthcare, government, defense. PCI-DSS, HIPAA, FedRAMP, ISO 27001.
Agents before Aug 1Disable all
Azure Copilot accessRBAC-scoped only
Approved usersPlatform team only
Re-enable agentsAfter compliance review
Change managementRequired for AI actions
🏢 Standard Enterprise
General enterprise. SOC 2, internal compliance frameworks. Mixed Azure footprint.
Agents before Aug 1Enable, scoped access
Azure Copilot accessRBAC-scoped
Approved usersPlatform + pilot groups
Re-enable agentsNow, for pilot group
Change managementLog agent actions
🧪 Dev / Innovation
Innovation labs, startups, dev environments. Risk-tolerant. No production data in Azure Copilot scope.
Agents before Aug 1Allow default
Azure Copilot accessAll users (default)
Approved usersAll Azure users
Re-enable agentsAlready active
Change managementActivity log review

What Counts as an "Agent Action" for Audit Purposes

When an agent takes a write action (with user confirmation), it goes through the same Azure Resource Manager plane as any other API call. This means:

  • All resource deployments via the Deployment Agent appear in the Azure Activity Log with the calling user's identity as the initiator.
  • VM resizes triggered via Optimization Agent are logged as standard management operations.
  • You can filter Activity Log by Operation name — look for Microsoft.Compute/virtualMachines/write, Microsoft.Resources/deployments/write, etc.
  • There is no separate "Copilot agent action" category in Activity Log today — agents are transparent to ARM.
📋
For regulated environments that need to identify agent-initiated changes separately from human-initiated ones: today you cannot distinguish them at the ARM Activity Log level. This is a gap to flag in your compliance posture until Microsoft adds agent-specific audit events.

💻 PowerShell and Graph API — Audit Across Tenants

For multi-tenant environments or automated governance checks, you can query Azure Copilot access settings programmatically. The Azure Copilot admin center settings are surfaced via Azure Policy and the Azure Resource Provider.

Check Which Users Have the Copilot for Azure User Role

# Connect to Azure
Connect-AzAccount -TenantId "your-tenant-id"

# Find all Copilot for Azure User role assignments across subscriptions
$subscriptions = Get-AzSubscription
foreach ($sub in $subscriptions) {
    Set-AzContext -SubscriptionId $sub.Id
    $assignments = Get-AzRoleAssignment -RoleDefinitionName "Copilot for Azure User" -ErrorAction SilentlyContinue
    if ($assignments) {
        Write-Host "Subscription: $($sub.Name)"
        $assignments | Select-Object DisplayName, SignInName, RoleDefinitionName, Scope | Format-Table
    }
}

Enumerate Azure Copilot RBAC via Microsoft Graph

# Get Copilot for Azure User role assignments via Graph
# Requires: RoleManagement.Read.Directory scope

$tenantId = "your-tenant-id"
$token = (Get-AzAccessToken -ResourceUrl "https://graph.microsoft.com").Token

$headers = @{ Authorization = "Bearer $token" }

# Find the role definition ID for "Copilot for Azure User"
$roleDefinitions = Invoke-RestMethod `
    -Uri "https://graph.microsoft.com/v1.0/roleManagement/directory/roleDefinitions" `
    -Headers $headers

$copilotRole = $roleDefinitions.value | Where-Object { $_.displayName -eq "Copilot for Azure User" }
Write-Host "Copilot for Azure User Role ID: $($copilotRole.id)"

# Get all assignments for this role
$assignments = Invoke-RestMethod `
    -Uri "https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments?`$filter=roleDefinitionId eq '$($copilotRole.id)'" `
    -Headers $headers

Write-Host "Total assignments: $($assignments.value.Count)"
$assignments.value | Select-Object principalId, directoryScopeId | Format-Table

Check Activity Log for Resource Deployments (Past 30 Days)

# Audit recent resource deployments — these may include agent-assisted deployments
# Filter to deployments in the last 30 days

$startTime = (Get-Date).AddDays(-30).ToString("o")
$subscriptions = Get-AzSubscription

foreach ($sub in $subscriptions) {
    Set-AzContext -SubscriptionId $sub.Id

    $deployments = Get-AzActivityLog `
        -StartTime $startTime `
        -MaxRecord 500 `
        | Where-Object {
            $_.OperationName.Value -like "Microsoft.Resources/deployments/*" -and
            $_.Status.Value -eq "Succeeded"
        }

    if ($deployments) {
        Write-Host "Subscription: $($sub.Name) — $($deployments.Count) deployments"
        $deployments | Select-Object EventTimestamp, Caller, `
            @{N="Operation";E={$_.OperationName.Value}}, `
            @{N="Resource";E={$_.ResourceId.Split('/')[-1]}} `
        | Format-Table -AutoSize
    }
}

Create an Azure Policy to Audit Azure Copilot User Role Assignments

# Deploy a custom Azure Policy to report on Copilot for Azure User assignments
# Useful for continuous compliance monitoring

$policyDefinition = @{
    "properties" = @{
        "displayName"  = "Audit Copilot for Azure User role assignments"
        "description"  = "Identifies all principals with Copilot for Azure User role - agent access governance"
        "policyType"   = "Custom"
        "mode"         = "All"
        "policyRule"   = @{
            "if"   = @{
                "allOf" = @(
                    @{ "field" = "type"; "equals" = "Microsoft.Authorization/roleAssignments" },
                    @{ "field" = "Microsoft.Authorization/roleAssignments/roleDefinitionId";
                       "contains" = "Copilot for Azure User" }
                )
            }
            "then" = @{ "effect" = "audit" }
        }
    }
} | ConvertTo-Json -Depth 10

# Submit via REST API or use Az CLI:
# az policy definition create --name "audit-copilot-azure-user-role" `
#   --rules '...' --mode All --display-name "Audit Copilot for Azure User role assignments"

✅ Pre-August 1 Admin Checklist

Complete these tasks before August 1, 2026. The first two are blocking — everything else is operational hardening.

🔴 BLOCKING — must complete before August 1
  • Determine your stance: Decide whether to disable agents (regulated), scope to pilot group (standard enterprise), or allow all users (dev). Document the decision with the reasoning for compliance records.
  • Execute your decision: Either disable the Agents (preview) toggle in Azure Copilot admin center, or restrict Azure Copilot user access via RBAC before the rollout. Do not leave the default-open state as an unintentional posture.
🟡 GOVERNANCE — complete within 2 weeks of August 1
  • Run the PowerShell script to enumerate all Copilot for Azure User role assignments across subscriptions. Confirm the list matches your intended user population.
  • Create a security group (e.g., SG-AzureCopilot-Approved) in Entra ID and assign the Copilot for Azure User role to the group. Replace any individual direct assignments.
  • Enable Azure Activity Log export to Log Analytics or a SIEM. Create a query that surfaces Microsoft.Resources/deployments/write operations — your baseline for detecting agent-assisted deployments.
  • Review existing Azure Resource Locks on critical production resources. Locks (CanNotDelete, ReadOnly) prevent agents and users from modifying locked resources — an additional safety layer.
  • Update your change management documentation to acknowledge that AI-assisted resource changes via Azure Copilot agents go through ARM and appear in Activity Log under the user's identity — no separate audit category currently exists.
🟢 OPERATIONAL HARDENING — ongoing
  • Validate that your high-privilege users (Owners, Contributors on production subscriptions) understand the agent capabilities available to them. Brief them before August 1 — an agent confirmation dialog may surprise users who are unaware agents exist.
  • Apply Azure Policy to enforce least-privilege RBAC. Users should not have Contributor rights on subscriptions they don't manage. This limits the blast radius of any agent-assisted action.
  • Enable Privileged Identity Management (PIM) for Contributor-level Azure roles if not already in place. Just-in-time elevation for high-privilege roles reduces the window in which a user could invoke write-capable agent actions.
  • Review network access controls. Azure Copilot requires WebSocket connections to directline.botframework.com. If your environment blocks this, users will not be able to access Azure Copilot regardless of the admin center settings — verify your proxy/firewall rules align with your intent.
  • Set a calendar reminder for GA: when each agent moves from Public Preview to Generally Available, the preview toggle no longer controls it. Review your posture at each GA announcement.
  • Consider enabling "Bring Your Own Storage" for Azure Copilot conversation history if your data residency requirements demand control over where Copilot conversation logs are stored.
📞
Need to engage Microsoft? If you have regulatory concerns about agent capabilities in a specific compliance framework (FedRAMP, HIPAA, PCI), contact your Microsoft account team before August 1. Enterprise tenants with dedicated CSAMs can get a briefing on the agent capabilities and compliance posture directly from the Azure Copilot product team.