Skip to main content

Required Permissions and Custom Roles For Azure Chaos Faults

A reference guide for the minimum Azure role permissions required by each chaos faults and a superset role covering all.


Superset Role for All Azure Faults

Required Azure RBAC Permissions

This superset combines all permissions required for Disk Loss, Instance Stop, Web App operations, and Azure Stress faults.

{
"Name": "Harness Chaos Engineering - Azure Superset Role",
"IsCustom": true,
"Description": "Superset role combining all Azure permissions required for supported chaos faults.",
"Actions": [
"Microsoft.Compute/disks/read",
"Microsoft.Compute/virtualMachines/read",
"Microsoft.Compute/virtualMachines/write",
"Microsoft.Compute/virtualMachineScaleSets/read",
"Microsoft.Compute/virtualMachineScaleSets/virtualMachines/read",
"Microsoft.Compute/virtualMachineScaleSets/virtualMachines/write",
"Microsoft.Compute/virtualMachines/powerOff/action",
"Microsoft.Compute/virtualMachines/start/action",
"Microsoft.Compute/virtualMachines/instanceView/read",
"Microsoft.Compute/virtualMachineScaleSets/virtualmachines/powerOff/action",
"Microsoft.Compute/virtualMachineScaleSets/virtualmachines/start/action",
"Microsoft.Compute/virtualMachineScaleSets/virtualmachines/instanceView/read",
"Microsoft.Web/sites/read",
"Microsoft.Web/sites/config/list/action",
"Microsoft.Web/sites/config/write",
"Microsoft.Web/sites/state/action",
"Microsoft.Web/sites/stop/action",
"Microsoft.Web/sites/start/action",
"Microsoft.Compute/virtualMachines/runCommand/action",
"Microsoft.Compute/virtualMachineScaleSets/virtualMachines/runCommand/action",
"Microsoft.Resources/subscriptions/resourceGroups/read"
],
"NotActions": [],
"DataActions": [],
"NotDataActions": [],
"AssignableScopes": [
"/subscriptions/<your-subscription-id>"
]
}

Disk Loss

Required Azure RBAC Permissions

Azure RBAC PermissionAction Description
Microsoft.Compute/disks/readRead managed disk metadata
Get disk attachment status
Microsoft.Compute/virtualMachines/readRead VM/VMSS instance properties
Microsoft.Compute/virtualMachineScaleSets/virtualMachines/readRead VM/VMSS instance properties
Microsoft.Compute/virtualMachines/writeModify VM data disk attachments
Microsoft.Compute/virtualMachineScaleSets/virtualMachines/writeModify VMSS VM data disk attachments

Sample Custom Role

{
"Name": "Harness Chaos Engineering - Azure Disk Loss",
"IsCustom": true,
"Description": "Allows detaching and reattaching managed disks to VM/VMSS instances.",
"Actions": [
"Microsoft.Compute/disks/read",
"Microsoft.Compute/virtualMachines/read",
"Microsoft.Compute/virtualMachines/write",
"Microsoft.Compute/virtualMachineScaleSets/read",
"Microsoft.Compute/virtualMachineScaleSets/virtualMachines/read",
"Microsoft.Compute/virtualMachineScaleSets/virtualMachines/write"
],
"NotActions": [],
"DataActions": [],
"NotDataActions": [],
"AssignableScopes": [
"/subscriptions/<your-subscription-id>"
]
}

Instance Stop

Required Azure RBAC Permissions

Azure RBAC PermissionAction Description
Microsoft.Compute/virtualMachines/readRead VM metadata
Microsoft.Compute/virtualMachines/powerOff/actionPower off standalone VM
Microsoft.Compute/virtualMachines/start/actionStart standalone VM
Microsoft.Compute/virtualMachines/instanceView/readGet instance status
Microsoft.Compute/virtualMachineScaleSets/virtualmachines/readRead VMSS instance metadata
Microsoft.Compute/virtualMachineScaleSets/virtualmachines/powerOff/actionPower off VMSS instance
Microsoft.Compute/virtualMachineScaleSets/virtualmachines/start/actionStart VMSS instance
Microsoft.Compute/virtualMachineScaleSets/virtualmachines/instanceView/readGet VMSS instance status

Sample Custom Role

{
"Name": "Harness Chaos Engineering - Azure Instance Stop",
"IsCustom": true,
"Description": "Allows stopping and starting VMs and scale set VMs.",
"Actions": [
"Microsoft.Compute/virtualMachines/read",
"Microsoft.Compute/virtualMachines/powerOff/action",
"Microsoft.Compute/virtualMachines/start/action",
"Microsoft.Compute/virtualMachines/instanceView/read",
"Microsoft.Compute/virtualMachineScaleSets/virtualmachines/read",
"Microsoft.Compute/virtualMachineScaleSets/virtualmachines/powerOff/action",
"Microsoft.Compute/virtualMachineScaleSets/virtualmachines/start/action",
"Microsoft.Compute/virtualMachineScaleSets/virtualmachines/instanceView/read"
],
"NotActions": [],
"DataActions": [],
"NotDataActions": [],
"AssignableScopes": [
"/subscriptions/<your-subscription-id>"
]
}

Web App Access Restriction

Required Azure RBAC Permissions

Azure RBAC PermissionAction Description
Microsoft.Web/sites/readList all Web Apps
Microsoft.Web/sites/config/list/actionGet Web App Config
Microsoft.Web/sites/config/writeUpdate Web App Config
Microsoft.Web/sites/state/actionGet Web App Status

Sample Custom Role

{
"Name": "Harness Chaos Engineering - Web App Access Restriction",
"IsCustom": true,
"Description": "Allows reading and modifying Web App access restriction rules.",
"Actions": [
"Microsoft.Web/sites/read",
"Microsoft.Web/sites/config/list/action",
"Microsoft.Web/sites/config/write",
"Microsoft.Web/sites/state/action"
],
"NotActions": [],
"DataActions": [],
"NotDataActions": [],
"AssignableScopes": [
"/subscriptions/<your-subscription-id>"
]
}

Web App Stop

Required Azure RBAC Permissions

Azure RBAC PermissionAction Description
Microsoft.Web/sites/readRead app metadata
Microsoft.Web/sites/stop/actionStop the app
Microsoft.Web/sites/start/actionStart the app
Microsoft.Web/sites/state/actionGet app state

Sample Custom Role

{
"Name": "Harness Chaos Engineering - Web App Stop",
"IsCustom": true,
"Description": "Allows stopping and starting Azure Web Apps.",
"Actions": [
"Microsoft.Web/sites/read",
"Microsoft.Web/sites/stop/action",
"Microsoft.Web/sites/start/action",
"Microsoft.Web/sites/state/action"
],
"NotActions": [],
"DataActions": [],
"NotDataActions": [],
"AssignableScopes": [
"/subscriptions/<your-subscription-id>"
]
}

Azure Stress (CPU & Memory)

Required Azure RBAC Permissions

Azure RBAC PermissionAction Description
Microsoft.Compute/virtualMachines/runCommand/actionExecute scripts on VMs using Run Command
Microsoft.Compute/virtualMachines/readRead VM instance details
Microsoft.Compute/virtualMachineScaleSets/virtualMachines/instanceView/readRead the status of VMSS instances
Microsoft.Resources/subscriptions/resourceGroups/readRead resource group metadata

Sample Custom Role

{
"Name": "Harness Chaos Engineering - Azure Stress",
"IsCustom": true,
"Description": "Minimal custom role for executing stress chaos fault on Azure VMs and VMSS",
"Actions": [
"Microsoft.Compute/virtualMachines/runCommand/action",
"Microsoft.Compute/virtualMachines/read",
"Microsoft.Compute/virtualMachines/powerOff/action",
"Microsoft.Compute/virtualMachines/start/action",
"Microsoft.Compute/virtualMachines/instanceView/read",
"Microsoft.Compute/virtualMachineScaleSets/read",
"Microsoft.Compute/virtualMachineScaleSets/virtualMachines/read",
"Microsoft.Compute/virtualMachineScaleSets/virtualMachines/instanceView/read",
"Microsoft.Compute/virtualMachineScaleSets/virtualMachines/runCommand/action",
"Microsoft.Resources/subscriptions/resourceGroups/read"
],
"NotActions": [],
"AssignableScopes": [
"/subscriptions/<your-subscription-id>"
]
}

Note: Replace <your-subscription-id> with your actual Azure subscription ID.