Skip to main content

Required Permissions and Custom Roles For Azure Chaos Faults

Last updated on

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.