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 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.
⚡ 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.
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.
📅 What Changes on August 1, 2026
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.
🤖 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 |
- 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
- Surfaces Azure Advisor cost recommendations
- Can right-size VMs and scale sets
- Proposes and applies SKU downgrades
- Reserved instance and savings plan optimization
- Inventory and assessment via Azure Migrate
- Dependency mapping and migration planning
- Initiate replication and migration jobs
- Cutover assistance and validation
- Network connectivity diagnosis
- Log correlation and root cause analysis
- Can apply recommended configuration fixes
- Azure Support ticket creation
- Azure Well-Architected reliability review
- Availability zone coverage assessment
- Backup and DR gap identification
- Can enable backup policies and redundancy
- Azure Monitor integration
- Proactive health and performance insights
- Alert rule recommendations
- Read-only — no write actions
🔍 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
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:
Navigate to Azure Copilot admin center
In portal.azure.com, search for Azure Copilot admin center in the top search bar and select it.
Open Access management
Under Settings in the left menu, select Access management.
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.
Elevate Global Admin access
Navigate to Microsoft Entra ID → Properties → 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.
Open Azure Copilot admin center
In the Azure portal search bar, type Azure Copilot admin center and select it. Navigate to Settings → Access management.
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.
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.
Remove elevated access
Return to Entra ID → Properties → set "Access management for Azure resources" back to No.
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.
Elevate Global Admin access
Entra ID → Properties → "Access management for Azure resources" → Yes → Save.
Open Access management in Azure Copilot admin center
Azure portal → search Azure Copilot admin center → Settings → Access management.
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.
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.
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.
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.
💻 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.
- Run the PowerShell script to enumerate all
Copilot for Azure Userrole 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 theCopilot for Azure Userrole 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/writeoperations — 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.
- 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.