Azure waste

Disks provisioned for more IOPS than the VM can use

A fast disk on a machine too small to use the speed
The agent reports this
Reversible
Why it happens

Azure caps disk speed by the size of the machine it is attached to. Anything above that cap is paid for and unreachable.

A Premium disk is provisioned for throughput the attached VM size physically cannot deliver. You pay for the tier and Azure caps you at the machine's limit.

Paste this into Resource Graph Explorer in the Azure portal.

resources
| where type =~ 'microsoft.compute/disks'
// Scope below matches CloudFinOpsPro policy DEFAULTS: exclusions.protectTag, environment.tagKeys,
// environment.allowedTagValues, and allowUntagged false so an untagged resource counts as production.
// If your policy.yaml differs, edit the three lines below or this will disagree with your own agent.
| where tolower(tostring(coalesce(tags['cfop:protect'], ''))) !in ('true', 'yes', '1')
| extend cfopEnv = tolower(trim(' ', tostring(coalesce(tags['Environment'], tags['environment'], tags['env'], ''))))
| where cfopEnv in ('dev', 'development', 'test', 'qa', 'sandbox', 'nonprod', 'non-prod', 'staging')
| where sku.name has 'Premium'
| where isnotempty(managedBy)
| project disk = name, resourceGroup,
          sku = tostring(sku.name),
          sizeGb = toint(properties.diskSizeGB),
          attachedTo = split(tostring(managedBy), '/')[-1]

managedBy is a top-level Resource Graph column, not a field inside properties, which is the same distinction sku.name relies on one line above. Compare each disk tier against the uncached IOPS limit for the VM size it is attached to.

Applies to microsoft.compute/disks
What the agent does about it

A Premium disk provisioned for IOPS the attached VM size cannot use, so the customer pays for throughput they physically cannot reach.

It will not fix this one

It reports this and takes no action. A check only earns the right to change something once the action behind it can re-read live state before it fires and knows the way back.