Skip to main content

Remediation Action Catalog: Supported Fixes

Overview

This catalog lists the supported remediation actions for Azure recommendations. Use it to check whether a recommendation can be remediated from the recommendation workflow, what permission set it needs, and whether rollback is automated.

For the end-to-end workflow, see Remediation Actions. For Azure write-access setup, see Azure Write Permissions.

How to read the catalog

FieldMeaning
RecommendationThe recommendation name shown in the recommendation list.
Remediation actionThe change the Implement workflow requests.
Permission setThe least-privilege permission bundle required to run the action.
RiskThe risk level shown in the recommendation context.
RollbackWhether the action includes automated rollback rules. No means recovery is manual.

Important notes:

  • Delete actions are intentionally narrow. They target resources that pass orphaned, empty, unattached, or unassigned checks.
  • App Service Plan Premium v3 upgrade currently targets non-zone-redundant P1V2 plans in Succeeded state.
  • App Service setting changes should still be validated against app runtime, deployment, gateway, and client compatibility.
  • Network delete actions should be checked against DNS, routing, firewall, private connectivity, and deployment-code dependencies before deletion.
  • Storage and Redis security actions can affect legacy clients that still depend on older protocols or public access.

App Service

RecommendationRemediation actionPermission setRiskRollback
32-bit Worker ProcessSwitch App Service worker process to 64-bitweb-sites-writeMediumYes
Always On DisabledEnable Always On for App Serviceweb-sites-writeLowYes
Basic AuthenticationDisable App Service basic publishing credentialsweb-sites-writeMediumYes
FTP ProtocolsDisable App Service FTP deploymentweb-sites-writeMediumYes
HTTP/2 Not EnabledEnable HTTP/2 on App Serviceweb-sites-writeMediumYes
Remote DebuggingDisable remote debuggingweb-sites-writeLowYes
Session Affinity EnabledDisable App Service session affinityweb-sites-writeMediumYes
Insecure TLS ConfigurationSet App Service minimum TLS version to 1.2web-sites-writeMediumNo

App Service Plan

RecommendationRemediation actionPermission setRiskRollback
Remove Orphaned Free App Service PlansDelete empty Free App Service Planweb-serverfarms-deleteLowNo
Upgrade to Premium V3 App Service PlanUpgrade App Service Plan to Premium v3web-serverfarms-writeMediumNo

Compute

RecommendationRemediation actionPermission setRiskRollback
Stopped Virtual MachinesDeallocate stopped virtual machinecompute-virtualmachines-deallocateMediumNo

Network

RecommendationRemediation actionPermission setRiskRollback
Azure Application Gateway OrphanedDelete orphaned Application Gatewaynetwork-applicationgateways-deleteMediumNo
Azure Bastion OrphanedDelete unused Azure Bastion hostnetwork-bastionhosts-deleteMediumNo
Azure Front Door OrphanedDelete unused Front Door profilecdn-profiles-deleteMediumNo
Basic tier Load Balancers without backend poolsDelete unused Basic load balancernetwork-loadbalancers-deleteMediumNo
Private Endpoint not assignedDelete orphaned Private Endpoint and clean up recordsnetwork-privateendpoints-deleteMediumNo
Standard tier Load Balancers without backend poolsDelete unused load balancernetwork-loadbalancers-deleteMediumNo
Traffic Manager Profile OrphanedDelete empty Traffic Manager profilenetwork-trafficmanagerprofiles-deleteMediumNo
Unused IP GroupsDelete unused IP Groupnetwork-ipgroups-deleteLowNo
Virtual Network Gateways without any connectionsDelete unused virtual network gatewaynetwork-virtualnetworkgateways-deleteMediumNo
NAT Gateway not assigned to subnetsDelete unassigned NAT gatewaynetwork-natgateways-deleteLowNo
Network Interface not assignedDelete unattached network interfacenetwork-networkinterfaces-deleteLowNo
Network Security Group not assignedDelete unused network security groupnetwork-networksecuritygroups-deleteLowNo
Private DNS Zone not assignedDelete unlinked Private DNS Zonenetwork-privatednszones-deleteMediumNo

Redis Cache

RecommendationRemediation actionPermission setRiskRollback
Redis with Non SSL PortDisable the Redis non-SSL portcache-redis-writeMediumYes

Resource Groups

RecommendationRemediation actionPermission setRiskRollback
Empty Resource GroupsDelete empty resource groupresources-subscriptions-resourcegroups-deleteMediumNo

Service Bus

RecommendationRemediation actionPermission setRiskRollback
Azure Service Bus Namespace Orphaned (Basic SKU)Delete empty Service Bus namespaceservicebus-namespaces-deleteMediumNo

Synapse Workspace

RecommendationRemediation actionPermission setRiskRollback
Synapse Workspace Without Dedicated PoolsDelete idle Synapse workspacesynapse-workspaces-deleteMediumNo

Storage Account

RecommendationRemediation actionPermission setRiskRollback
Insecure Storage Account TrafficEnable secure transfer on the storage accountstorage-storageaccounts-writeMediumYes
Storage Account Outdated TLS VersionSet minimum TLS version to TLS 1.2storage-storageaccounts-writeMediumNo
Storage Account Blob Anonymous Access EnabledDisable storage account blob anonymous accessstorage-storageaccounts-writeMediumYes

Web Connection

RecommendationRemediation actionPermission setRiskRollback
Azure Web Connection OrphanedDelete orphaned Web Connectionweb-connections-deleteMediumNo

Permission reference

Use the permission set to build or review a least-privilege Azure custom role. The permission set maps to the Azure RBAC actions needed for the selected remediation. Scope the custom role only to the subscriptions, resource groups, or resources where remediation is allowed.

The operation names below match the permission set definitions used by the action workflow. Keep the shown casing when copying them into custom role JSON.

Permission setRequired Azure RBAC action
cache-redis-writeMicrosoft.Cache/redis/write
cdn-profiles-deleteMicrosoft.Cdn/profiles/delete
compute-virtualmachines-deallocateMicrosoft.Compute/virtualMachines/deallocate/action
network-applicationgateways-deleteMicrosoft.Network/applicationGateways/delete
network-bastionhosts-deleteMicrosoft.Network/bastionHosts/delete
network-ipgroups-deleteMicrosoft.Network/ipGroups/delete
network-loadbalancers-deleteMicrosoft.Network/loadBalancers/delete
network-natgateways-deleteMicrosoft.Network/natGateways/delete
network-networkinterfaces-deleteMicrosoft.Network/networkInterfaces/delete
network-networksecuritygroups-deleteMicrosoft.Network/networkSecurityGroups/delete
network-privatednszones-deleteMicrosoft.Network/privateDnsZones/delete
network-privateendpoints-deleteMicrosoft.Network/privateEndpoints/delete
network-trafficmanagerprofiles-deleteMicrosoft.Network/trafficManagerProfiles/delete
network-virtualnetworkgateways-deleteMicrosoft.Network/virtualNetworkGateways/delete
resources-subscriptions-resourcegroups-deleteMicrosoft.Resources/subscriptions/resourceGroups/delete
servicebus-namespaces-deleteMicrosoft.ServiceBus/namespaces/Delete
storage-storageaccounts-writeMicrosoft.Storage/storageAccounts/write
synapse-workspaces-deleteMicrosoft.Synapse/workspaces/delete
web-connections-deleteMicrosoft.Web/connections/Delete
web-serverfarms-deleteMicrosoft.Web/serverfarms/Delete
web-serverfarms-writeMicrosoft.Web/serverfarms/Write
web-sites-writeMicrosoft.Web/sites/write, Microsoft.Web/sites/config/write, and Microsoft.Web/sites/basicPublishingCredentialsPolicies/write