This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Recommendations

Recommendations

    Azure Quick Review checks the following recommendations for Azure resources. The recommendations are categorized based on their impact and category: ## APRL Recommendations Total recommendations: 82

    | Id | Resource Type | Category | Impact | Recommendation | Learn

    —|—|—|—|—|—|— 1 | adf-001 | Microsoft.DataFactory/factories | MonitoringAndAlerting | Low | Azure Data Factory should have diagnostic settings enabled | Learn 2 | adf-002 | Microsoft.DataFactory/factories | Security | High | Azure Data Factory should have private endpoints enabled | Learn 3 | adf-003 | Microsoft.DataFactory/factories | HighAvailability | High | Azure Data Factory SLA | Learn 4 | adf-004 | Microsoft.DataFactory/factories | Governance | Low | Azure Data Factory Name should comply with naming conventions | Learn 5 | adf-005 | Microsoft.DataFactory/factories | Governance | Low | Azure Data Factory should have tags | Learn 6 | afd-001 | Microsoft.Cdn/profiles | MonitoringAndAlerting | Low | Azure FrontDoor should have diagnostic settings enabled | Learn 7 | afd-003 | Microsoft.Cdn/profiles | HighAvailability | High | Azure FrontDoor SLA | Learn 8 | afd-006 | Microsoft.Cdn/profiles | Governance | Low | Azure FrontDoor Name should comply with naming conventions | Learn 9 | afd-007 | Microsoft.Cdn/profiles | Governance | Low | Azure FrontDoor should have tags | Learn 10 | 1bd2b7e8-400f-e64a-99a2-c572f7b08a62 | Microsoft.Cdn/profiles | Security | Medium | Enable the WAF | Learn 11 | d9bd6780-0d6f-cd4c-bc66-8ddcab12f3d1 | Microsoft.Cdn/profiles | Security | High | Use end-to-end TLS | Learn 12 | 38f3d542-6de6-a44b-86c6-97e3be690281 | Microsoft.Cdn/profiles | HighAvailability | Low | Disable health probes when there is only one origin in an origin group | Learn 13 | 24ab9f11-a3e4-3043-a985-22cf94c4933a | Microsoft.Cdn/profiles | Security | High | Use HTTP to HTTPS redirection | Learn 14 | afw-001 | Microsoft.Network/azureFirewalls | MonitoringAndAlerting | Low | Azure Firewall should have diagnostic settings enabled | Learn 15 | afw-003 | Microsoft.Network/azureFirewalls | HighAvailability | High | Azure Firewall SLA | Learn 16 | afw-006 | Microsoft.Network/azureFirewalls | Governance | Low | Azure Firewall Name should comply with naming conventions | Learn 17 | afw-007 | Microsoft.Network/azureFirewalls | Governance | Low | Azure Firewall should have tags | Learn 18 | c72b7fee-1fa0-5b4b-98e5-54bcae95bb74 | Microsoft.Network/azureFirewalls | HighAvailability | High | Deploy Azure Firewall across multiple availability zones | Learn 19 | 3c8fa7c6-6b78-a24a-a63f-348a7c71acb9 | Microsoft.Network/azureFirewalls | MonitoringAndAlerting | High | Monitor Azure Firewall metrics | Learn 20 | 1b2dbf4a-8a0b-5e4b-8f4e-3f758188910d | Microsoft.Network/azureFirewalls | Security | High | Configure DDoS Protection on the Azure Firewall VNet | Learn 21 | 6d7e8f9a-0b1c-2d3e-4f5a-6b7c8d9e0f1a | Microsoft.Network/ipGroups | Governance | Medium | IP Groups not attached to any Azure Firewall | Learn 22 | agw-005 | Microsoft.Network/applicationGateways | MonitoringAndAlerting | Low | Application Gateway: Monitor and Log the configurations and traffic | Learn 23 | agw-103 | Microsoft.Network/applicationGateways | HighAvailability | High | Application Gateway SLA | Learn 24 | agw-105 | Microsoft.Network/applicationGateways | Governance | Low | Application Gateway Name should comply with naming conventions | Learn 25 | agw-106 | Microsoft.Network/applicationGateways | Governance | Low | Application Gateway should have tags | Learn 26 | 8364fd0a-7c0e-e240-9d95-4bf965aec243 | Microsoft.Network/applicationGateways | OtherBestPractices | High | Ensure Application Gateway Subnet is using a /24 subnet mask | Learn 27 | 2f3a4b5c-6d7e-8f9a-0b1c-2d3e4f5a6b7c | Microsoft.Network/applicationGateways | Governance | Medium | Application Gateways without backend targets | Learn 28 | 8d9223c4-730d-ca47-af88-a9a024c37270 | Microsoft.Network/applicationGateways | Security | Low | Enable Web Application Firewall policies | Learn 29 | 847a8d88-21c4-bc48-a94e-562206edd767 | Microsoft.Network/applicationGateways | MonitoringAndAlerting | High | Use Health Probes to detect backend availability | Learn 30 | 10f02bc6-e2e7-004d-a2c2-f9bf9f16b915 | Microsoft.Network/applicationGateways | HighAvailability | Medium | Plan for backend maintenance by using connection draining | Learn 31 | 823b0cff-05c0-2e4e-a1e7-9965e1cfa16f | Microsoft.Network/applicationGateways | Scalability | Medium | Ensure Autoscale feature has been enabled | Learn 32 | 233a7008-71e9-e745-923e-1a1c7a0b92f3 | Microsoft.Network/applicationGateways | Security | High | Secure all incoming connections with SSL | Learn 33 | 7893f0b3-8622-1d47-beed-4b50a19f7895 | Microsoft.Network/applicationGateways | Scalability | High | Migrate to Application Gateway v2 | Learn 34 | c9c00f2a-3888-714b-a72b-b4c9e8fcffb2 | Microsoft.Network/applicationGateways | HighAvailability | High | Deploy Application Gateway in a zone-redundant configuration | Learn 35 | aks-001 | Microsoft.ContainerService/managedClusters | MonitoringAndAlerting | Low | AKS Cluster should have diagnostic settings enabled | Learn 36 | aks-003 | Microsoft.ContainerService/managedClusters | HighAvailability | High | AKS Cluster should have an SLA | Learn 37 | aks-004 | Microsoft.ContainerService/managedClusters | Security | High | AKS Cluster should be private | Learn 38 | aks-006 | Microsoft.ContainerService/managedClusters | Governance | Low | AKS Name should comply with naming conventions | Learn 39 | aks-007 | Microsoft.ContainerService/managedClusters | Security | Medium | AKS should integrate authentication with AAD (Managed) | Learn 40 | aks-008 | Microsoft.ContainerService/managedClusters | Security | Medium | AKS should be RBAC enabled. | Learn 41 | aks-010 | Microsoft.ContainerService/managedClusters | Security | Medium | AKS should have httpApplicationRouting disabled | Learn 42 | aks-012 | Microsoft.ContainerService/managedClusters | Security | High | AKS should have outbound type set to user defined routing | Learn 43 | aks-015 | Microsoft.ContainerService/managedClusters | Governance | Low | AKS should have tags | Learn 44 | aks-016 | Microsoft.ContainerService/managedClusters | Scalability | Low | AKS Node Pools should have MaxSurge set | Learn 45 | dcaf8128-94bd-4d53-9235-3a0371df6b74 | Microsoft.ContainerService/managedClusters | MonitoringAndAlerting | High | Enable AKS Monitoring | Learn 46 | 5f3cbd68-692a-4121-988c-9770914859a9 | Microsoft.ContainerService/managedClusters | OtherBestPractices | Low | Enable GitOps when using DevOps frameworks | Learn 47 | 5ee083cd-6ac3-4a83-8913-9549dd36cf56 | Microsoft.ContainerService/managedClusters | HighAvailability | High | Isolate system and application pods | Learn 48 | e620fa98-7a40-41a0-bfc9-b4407297fb58 | Microsoft.ContainerService/managedClusters | HighAvailability | High | Nodepool subnet size needs to accommodate maximum auto-scale settings | Learn 49 | c22db132-399b-4e7c-995d-577a60881be8 | Microsoft.ContainerService/managedClusters | Scalability | Medium | Configure Azure CNI networking for dynamic allocation of IPs or use CNI overlay | Learn 50 | 269a9f1a-6675-460a-831e-b05a887a8c4b | Microsoft.ContainerService/managedClusters | DisasterRecovery | Low | Back up Azure Kubernetes Service | Learn 51 | 26ebaf1f-c70d-4ebd-8641-4b60a0ce0094 | Microsoft.ContainerService/managedClusters | Governance | Low | Enable and remediate Azure Policies configured for AKS | Learn 52 | 005ccbbd-aeab-46ef-80bd-9bd4479412ec | Microsoft.ContainerService/managedClusters | HighAvailability | High | Configure user nodepool count | Learn 53 | 7f7ae535-a5ba-4665-b7e0-c451dbdda01f | Microsoft.ContainerService/managedClusters | HighAvailability | High | Configure system nodepool count | Learn 54 | 4f63619f-5001-439c-bacb-8de891287727 | Microsoft.ContainerService/managedClusters | HighAvailability | High | Deploy AKS cluster across availability zones | Learn 55 | f46b0d1d-56ef-4795-b98a-f6ee00cb341a | Microsoft.ContainerService/managedClusters | HighAvailability | High | Use Azure Linux for Linux nodepools | Learn 56 | 0611251f-e70f-4243-8ddd-cfe894bec2e7 | Microsoft.ContainerService/managedClusters | HighAvailability | High | Update AKS tier to Standard or Premium | Learn 57 | a7bfcc18-b0d8-4d37-81f3-8131ed8bead5 | Microsoft.ContainerService/managedClusters | Scalability | Medium | Use Ephemeral OS disks on AKS clusters | Learn 58 | ca324d71-54b0-4a3e-b9e4-10e767daa9fc | Microsoft.ContainerService/managedClusters | Security | High | Disable local accounts | Learn 59 | 902c82ff-4910-4b61-942d-0d6ef7f39b67 | Microsoft.ContainerService/managedClusters | Scalability | High | Enable the cluster auto-scaler on an existing cluster | Learn 60 | amg-001 | Microsoft.Dashboard/managedGrafana | Governance | Low | Azure Managed Grafana name should comply with naming conventions | Learn 61 | amg-002 | Microsoft.Dashboard/managedGrafana | HighAvailability | High | Azure Managed Grafana SLA | Learn 62 | amg-003 | Microsoft.Dashboard/managedGrafana | Governance | Low | Azure Managed Grafana should have tags | Learn 63 | amg-004 | Microsoft.Dashboard/managedGrafana | Security | High | Azure Managed Grafana should disable public network access | Learn 64 | amg-005 | Microsoft.Dashboard/managedGrafana | HighAvailability | High | Azure Managed Grafana should have availability zones enabled | Learn 65 | 6cd57b65-ef84-4088-9ada-c0d8de74c2f7 | Microsoft.Dashboard/grafana | HighAvailability | Medium | Enable zone redundancy in Managed Grafana | Learn 66 | apim-001 | Microsoft.ApiManagement/service | MonitoringAndAlerting | Low | APIM should have diagnostic settings enabled | Learn 67 | apim-003 | Microsoft.ApiManagement/service | HighAvailability | High | APIM should have a SLA | Learn 68 | apim-004 | Microsoft.ApiManagement/service | Security | High | APIM should have private endpoints enabled | Learn 69 | apim-006 | Microsoft.ApiManagement/service | Governance | Low | APIM should comply with naming conventions | Learn 70 | apim-007 | Microsoft.ApiManagement/service | Governance | Low | APIM should have tags | Learn 71 | apim-008 | Microsoft.ApiManagement/service | Security | Medium | APIM should use Managed Identities | Learn 72 | apim-009 | Microsoft.ApiManagement/service | Security | High | APIM should only accept a minimum of TLS 1.2 | Learn 73 | apim-010 | Microsoft.ApiManagement/service | Security | High | APIM should should not accept weak or deprecated ciphers. | Learn 74 | apim-011 | Microsoft.ApiManagement/service | Security | High | APIM: Renew expiring certificates | Learn 75 | baf3bfc0-32a2-4c0c-926d-c9bf0b49808e | Microsoft.ApiManagement/service | HighAvailability | High | Migrate API Management services to Premium SKU to support Availability Zones | Learn 76 | 740f2c1c-8857-4648-80eb-47d2c56d5a50 | Microsoft.ApiManagement/service | HighAvailability | High | Enable Availability Zones on Premium API Management instances | Learn 77 | e35cf148-8eee-49d1-a1c9-956160f99e0b | Microsoft.ApiManagement/service | HighAvailability | High | Azure API Management platform version should be stv2 | Learn 78 | appcs-001 | Microsoft.AppConfiguration/configurationStores | MonitoringAndAlerting | Low | AppConfiguration should have diagnostic settings enabled | Learn 79 | appcs-003 | Microsoft.AppConfiguration/configurationStores | HighAvailability | High | AppConfiguration should have a SLA | Learn 80 | appcs-004 | Microsoft.AppConfiguration/configurationStores | Security | High | AppConfiguration should have private endpoints enabled | Learn 81 | appcs-006 | Microsoft.AppConfiguration/configurationStores | Governance | Low | AppConfiguration Name should comply with naming conventions | Learn 82 | appcs-007 | Microsoft.AppConfiguration/configurationStores | Governance | Low | AppConfiguration should have tags | Learn 83 | appcs-008 | Microsoft.AppConfiguration/configurationStores | Security | Medium | AppConfiguration should have local authentication disabled | Learn 84 | bb4c8db4-f821-475b-b1ea-16e95358665e | Microsoft.AppConfiguration/configurationStores | Governance | Low | Enable Purge protection for Azure App Configuration | Learn 85 | 2102a57a-a056-4d5e-afe5-9df9f92177ca | Microsoft.AppConfiguration/configurationStores | HighAvailability | High | Upgrade to App Configuration Standard tier | Learn 86 | appi-001 | Microsoft.Insights/components | HighAvailability | High | Azure Application Insights SLA | Learn 87 | appi-002 | Microsoft.Insights/components | Governance | Low | Azure Application Insights Name should comply with naming conventions | Learn 88 | appi-003 | Microsoft.Insights/components | Governance | Low | Azure Application Insights should have tags | Learn 89 | dac421ec-2832-4c37-839e-b6dc5a38f2fa | Microsoft.Insights/components | ServiceUpgradeAndRetirement | Medium | Convert Classic Deployments | Learn 90 | as-001 | Microsoft.AnalysisServices/servers | MonitoringAndAlerting | Low | Azure Analysis Service should have diagnostic settings enabled | Learn 91 | as-002 | Microsoft.AnalysisServices/servers | HighAvailability | High | Azure Analysis Service should have a SLA | Learn 92 | as-004 | Microsoft.AnalysisServices/servers | Governance | Low | Azure Analysis Service Name should comply with naming conventions | Learn 93 | as-005 | Microsoft.AnalysisServices/servers | Governance | Low | Azure Analysis Service should have tags | Learn 94 | app-001 | Microsoft.Web/sites | MonitoringAndAlerting | Low | App Service should have diagnostic settings enabled | Learn 95 | app-004 | Microsoft.Web/sites | Security | High | App Service should have private endpoints enabled | Learn 96 | app-006 | Microsoft.Web/sites | Governance | Low | App Service Name should comply with naming conventions | Learn 97 | app-007 | Microsoft.Web/sites | Security | High | App Service should use HTTPS only | Learn 98 | app-008 | Microsoft.Web/sites | Governance | Low | App Service should have tags | Learn 99 | app-009 | Microsoft.Web/sites | Security | Medium | App Service should use VNET integration | Learn 100 | app-010 | Microsoft.Web/sites | Security | Medium | App Service should have VNET Route all enabled for VNET integration | Learn 101 | app-011 | Microsoft.Web/sites | Security | High | App Service should use TLS 1.2 | Learn 102 | app-012 | Microsoft.Web/sites | Security | High | App Service remote debugging should be disabled | Learn 103 | app-013 | Microsoft.Web/sites | Security | High | App Service should not allow insecure FTP | Learn 104 | app-014 | Microsoft.Web/sites | Scalability | High | App Service should have Always On enabled | Learn 105 | app-015 | Microsoft.Web/sites | HighAvailability | Medium | App Service should avoid using Client Affinity | Learn 106 | app-016 | Microsoft.Web/sites | Security | Medium | App Service should use Managed Identities | Learn 107 | asp-001 | Microsoft.Web/serverfarms | MonitoringAndAlerting | Low | Plan should have diagnostic settings enabled | Learn 108 | asp-003 | Microsoft.Web/serverfarms | HighAvailability | High | Plan should have a SLA | Learn 109 | asp-006 | Microsoft.Web/serverfarms | Governance | Low | Plan Name should comply with naming conventions | Learn 110 | asp-007 | Microsoft.Web/serverfarms | Governance | Low | Plan should have tags | Learn 111 | func-001 | Microsoft.Web/sites | MonitoringAndAlerting | Low | Function should have diagnostic settings enabled | Learn 112 | func-004 | Microsoft.Web/sites | Security | High | Function should have private endpoints enabled | Learn 113 | func-006 | Microsoft.Web/sites | Governance | Low | Function Name should comply with naming conventions | Learn 114 | func-007 | Microsoft.Web/sites | Security | High | Function should use HTTPS only | Learn 115 | func-008 | Microsoft.Web/sites | Governance | Low | Function should have tags | Learn 116 | func-009 | Microsoft.Web/sites | Security | Medium | Function should use VNET integration | Learn 117 | func-010 | Microsoft.Web/sites | Security | Medium | Function should have VNET Route all enabled for VNET integration | Learn 118 | func-011 | Microsoft.Web/sites | Security | Medium | Function should use TLS 1.2 | Learn 119 | func-012 | Microsoft.Web/sites | Security | Medium | Function remote debugging should be disabled | Learn 120 | func-013 | Microsoft.Web/sites | HighAvailability | Medium | Function should avoid using Client Affinity | Learn 121 | func-014 | Microsoft.Web/sites | Security | Medium | Function should use Managed Identities | Learn 122 | logics-001 | Microsoft.Web/sites | MonitoringAndAlerting | Low | Logic App should have diagnostic settings enabled | Learn 123 | logics-004 | Microsoft.Web/sites | Security | High | Logic App should have private endpoints enabled | Learn 124 | logics-006 | Microsoft.Web/sites | Governance | Low | Logic App Name should comply with naming conventions | Learn 125 | logics-007 | Microsoft.Web/sites | Security | High | Logic App should use HTTPS only | Learn 126 | logics-008 | Microsoft.Web/sites | Governance | Low | Logic App should have tags | Learn 127 | logics-009 | Microsoft.Web/sites | Security | Medium | Logic App should use VNET integration | Learn 128 | logics-010 | Microsoft.Web/sites | Security | Medium | Logic App should have VNET Route all enabled for VNET integration | Learn 129 | logics-011 | Microsoft.Web/sites | Security | Medium | Logic App should use TLS 1.2 | Learn 130 | logics-012 | Microsoft.Web/sites | Security | Medium | Logic App remote debugging should be disabled | Learn 131 | logics-013 | Microsoft.Web/sites | HighAvailability | Medium | Logic App should avoid using Client Affinity | Learn 132 | logics-014 | Microsoft.Web/sites | Security | Medium | Logic App should use Managed Identities | Learn 133 | 07243659-4643-d44c-a1c6-07ac21635072 | Microsoft.Web/serverFarms | Scalability | Medium | Avoid scaling up or down | Learn 134 | 855ca19a-6518-4f2e-9e5a-01796fbca9f8 | Microsoft.Web/serverFarms | Scalability | High | Set minimum instance count to 2 for app service | Learn 135 | 88cb90c2-3b99-814b-9820-821a63f600dd | Microsoft.Web/serverFarms | HighAvailability | High | Migrate App Service to availability Zone Support | Learn 136 | b2113023-a553-2e41-9789-597e2fb54c31 | Microsoft.Web/serverFarms | HighAvailability | High | Use Standard or Premium tier | Learn 137 | 1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d | Microsoft.Web/serverFarms | Governance | Medium | App Service plans without hosting Apps | Learn 138 | fd049c28-ae6d-48f0-a641-cc3ba1a3fe1d | Microsoft.Web/sites | OtherBestPractices | High | Enable Health check for App Services | Learn 139 | aab6b4a4-9981-43a4-8728-35c7ecbb746d | Microsoft.Web/sites | Governance | Medium | Configure network access restrictions | Learn 140 | a1d91661-32d4-430b-b3b6-5adeb0975df7 | Microsoft.Web/sites | Governance | Low | Deploy to a staging slot | Learn 141 | 0b80b67c-afbe-4988-ad58-a85a146b681e | Microsoft.Web/sites | OtherBestPractices | Medium | Store configuration as app settings | Learn 142 | c6c4b962-5af4-447a-9d74-7b9c53a5dff5 | Microsoft.Web/sites | HighAvailability | Low | Enable auto heal for Functions App | Learn 143 | 2d3e4f5a-6b7c-8d9e-0f1a-2b3c4d5e6f7a | Microsoft.Web/connections | Governance | Medium | API Connections not related to any Logic App | Learn 144 | 3e4f5a6b-7c8d-9e0f-1a2b-3c4d5e6f7a8b | Microsoft.Web/certificates | Governance | Medium | Expired certificates | Learn 145 | 2b3c4d5e-6f7a-8b9c-0d1e-2f3a4b5c6d7e | Microsoft.Compute/availabilitySets | Governance | Medium | Availability Sets not associated to any VM or VMSS | Learn 146 | 4ee5d535-c47b-470a-9557-4a3dd297d62f | Microsoft.AVS/privateClouds | MonitoringAndAlerting | High | Monitor CPU Utilization to ensure sufficient resources for workloads | Learn 147 | 029208c8-5186-4a76-8ee8-6e3445fef4dd | Microsoft.AVS/privateClouds | MonitoringAndAlerting | High | Monitor Memory Utilization to ensure sufficient resources for workloads | Learn 148 | 74fcb9f2-9a25-49a6-8c42-d32851c4afb7 | Microsoft.AVS/privateClouds | MonitoringAndAlerting | High | Configure Azure Service Health notifications and alerts for Azure VMware Solution | Learn 149 | 9ec5b4c8-3dd8-473a-86ee-3273290331b9 | Microsoft.AVS/privateClouds | HighAvailability | Low | Enable Stretched Clusters for Multi-AZ Availability of the vSAN Datastore | Learn 150 | 4232eb32-3241-4049-9e14-9b8005817b56 | Microsoft.AVS/privateClouds | MonitoringAndAlerting | High | Configure Azure Monitor Alert warning thresholds for vSAN datastore utilization | Learn 151 | ca-003 | Microsoft.App/containerApps | HighAvailability | High | ContainerApp should have a SLA | Learn 152 | ca-006 | Microsoft.App/containerApps | Governance | Low | ContainerApp Name should comply with naming conventions | Learn 153 | ca-007 | Microsoft.App/containerApps | Governance | Low | ContainerApp should have tags | Learn 154 | ca-008 | Microsoft.App/containerApps | Security | Low | ContainerApp should not allow insecure ingress traffic | Learn 155 | ca-009 | Microsoft.App/containerApps | Security | Low | ContainerApp should use Managed Identities | Learn 156 | ca-010 | Microsoft.App/containerApps | HighAvailability | Low | ContainerApp should use Azure Files to persist container data | Learn 157 | ca-011 | Microsoft.App/containerApps | HighAvailability | Low | ContainerApp should avoid using session affinity | Learn 158 | cae-001 | Microsoft.App/managedenvironments | MonitoringAndAlerting | Low | Container Apps Environment should have diagnostic settings enabled | Learn 159 | cae-003 | Microsoft.App/managedenvironments | HighAvailability | High | Container Apps Environment should have a SLA | Learn 160 | cae-004 | Microsoft.App/managedenvironments | Security | High | Container Apps Environment should have private endpoints enabled | Learn 161 | cae-006 | Microsoft.App/managedenvironments | Governance | Low | Container Apps Environment Name should comply with naming conventions | Learn 162 | cae-007 | Microsoft.App/managedenvironments | Governance | Low | Container Apps Environment should have tags | Learn 163 | f4201965-a88d-449d-b3b4-021394719eb2 | Microsoft.App/managedenvironments | HighAvailability | High | Deploy zone redundant Container app environments | Learn 164 | ci-002 | Microsoft.ContainerInstance/containerGroups | HighAvailability | High | ContainerInstance should have availability zones enabled | Learn 165 | ci-003 | Microsoft.ContainerInstance/containerGroups | HighAvailability | High | ContainerInstance should have a SLA | Learn 166 | ci-004 | Microsoft.ContainerInstance/containerGroups | Security | High | ContainerInstance should use private IP addresses | Learn 167 | ci-006 | Microsoft.ContainerInstance/containerGroups | Governance | Low | ContainerInstance Name should comply with naming conventions | Learn 168 | ci-007 | Microsoft.ContainerInstance/containerGroups | Governance | Low | ContainerInstance should have tags | Learn 169 | cog-001 | Microsoft.CognitiveServices/accounts | MonitoringAndAlerting | Low | Cognitive Service Account should have diagnostic settings enabled | Learn 170 | cog-003 | Microsoft.CognitiveServices/accounts | HighAvailability | High | Cognitive Service Account should have a SLA | Learn 171 | cog-004 | Microsoft.CognitiveServices/accounts | Security | High | Cognitive Service Account should have private endpoints enabled | Learn 172 | cog-006 | Microsoft.CognitiveServices/accounts | Governance | Low | Cognitive Service Account Name should comply with naming conventions | Learn 173 | cog-007 | Microsoft.CognitiveServices/accounts | Governance | Low | Cognitive Service Account should have tags | Learn 174 | cog-008 | Microsoft.CognitiveServices/accounts | Security | Medium | Cognitive Service Account should have local authentication disabled | Learn 175 | f6a14b32-a727-4ace-b5fa-7b1c6bdff402 | Microsoft.Network/connections | Scalability | Medium | For better data path performance enable FastPath on ExpressRoute Connections | Learn 176 | cosmos-001 | Microsoft.DocumentDB/databaseAccounts | MonitoringAndAlerting | Low | CosmosDB should have diagnostic settings enabled | Learn 177 | cosmos-002 | Microsoft.DocumentDB/databaseAccounts | HighAvailability | High | CosmosDB should have availability zones enabled | Learn 178 | cosmos-003 | Microsoft.DocumentDB/databaseAccounts | HighAvailability | High | CosmosDB should have a SLA | Learn 179 | cosmos-004 | Microsoft.DocumentDB/databaseAccounts | Security | High | CosmosDB should have private endpoints enabled | Learn 180 | cosmos-006 | Microsoft.DocumentDB/databaseAccounts | Governance | Low | CosmosDB Name should comply with naming conventions | Learn 181 | cosmos-007 | Microsoft.DocumentDB/databaseAccounts | Governance | Low | CosmosDB should have tags | Learn 182 | cosmos-008 | Microsoft.DocumentDB/databaseAccounts | Security | High | CosmosDB should have local authentication disabled | Learn 183 | cosmos-009 | Microsoft.DocumentDB/databaseAccounts | Security | High | CosmosDB: disable write operations on metadata resources (databases, containers, throughput) via account keys | Learn 184 | e544520b-8505-7841-9e77-1f1974ee86ec | Microsoft.DocumentDB/databaseAccounts | DisasterRecovery | High | Configure continuous backup mode | Learn 185 | 43663217-a1d3-844b-80ea-571a2ce37c6c | Microsoft.DocumentDB/databaseAccounts | HighAvailability | High | Configure at least two regions for high availability | Learn 186 | 9ce78192-74a0-104c-b5bb-9a443f941649 | Microsoft.DocumentDB/databaseAccounts | HighAvailability | High | Evaluate multi-region write capability | Learn 187 | 9cabded7-a1fc-6e4a-944b-d7dd98ea31a2 | Microsoft.DocumentDB/databaseAccounts | DisasterRecovery | High | Enable service-managed failover for multi-region accounts with single write region | Learn 188 | 921631f6-ed59-49a5-94c1-f0f3ececa580 | Microsoft.DocumentDB/databaseAccounts | HighAvailability | High | Enable availability zones | Learn 189 | cr-001 | Microsoft.ContainerRegistry/registries | MonitoringAndAlerting | Low | ContainerRegistry should have diagnostic settings enabled | Learn 190 | cr-003 | Microsoft.ContainerRegistry/registries | HighAvailability | High | ContainerRegistry should have a SLA | Learn 191 | cr-004 | Microsoft.ContainerRegistry/registries | Security | High | ContainerRegistry should have private endpoints enabled | Learn 192 | cr-006 | Microsoft.ContainerRegistry/registries | Governance | Low | ContainerRegistry Name should comply with naming conventions | Learn 193 | cr-008 | Microsoft.ContainerRegistry/registries | Security | Medium | ContainerRegistry should have the Administrator account disabled | Learn 194 | cr-009 | Microsoft.ContainerRegistry/registries | Governance | Low | ContainerRegistry should have tags | Learn 195 | cr-010 | Microsoft.ContainerRegistry/registries | Governance | Medium | ContainerRegistry should use retention policies | Learn 196 | eb005943-40a8-194b-9db2-474d430046b7 | Microsoft.ContainerRegistry/registries | Scalability | High | Use Premium tier for critical production workloads | Learn 197 | 63491f70-22e4-3b4a-8b0c-845450e46fac | Microsoft.ContainerRegistry/registries | HighAvailability | Medium | Enable zone redundancy | Learn 198 | 3ef86f16-f65b-c645-9901-7830d6dc3a1b | Microsoft.ContainerRegistry/registries | Scalability | Medium | Manage registry size | Learn 199 | e7f0fd54-fba0-054e-9ab8-e676f2851f88 | Microsoft.ContainerRegistry/registries | DisasterRecovery | Low | Enable soft delete policy | Learn 200 | 03f4a7d8-c5b4-7842-8e6e-14997a34842b | Microsoft.ContainerRegistry/registries | Security | Medium | Disable anonymous pull access | Learn 201 | 36ea6c09-ef6e-d743-9cfb-bd0c928a430b | Microsoft.ContainerRegistry/registries | DisasterRecovery | High | Create container registries with geo-replication enabled | Learn 202 | 8e389532-5db5-7e4c-9d4d-443b3e55ae82 | Microsoft.ContainerRegistry/registries | Governance | Low | Move Container Registry to a dedicated resource group | Learn 203 | dbw-001 | Microsoft.Databricks/workspaces | MonitoringAndAlerting | Low | Azure Databricks should have diagnostic settings enabled | Learn 204 | dbw-003 | Microsoft.Databricks/workspaces | HighAvailability | High | Azure Databricks should have a SLA | Learn 205 | dbw-004 | Microsoft.Databricks/workspaces | Security | High | Azure Databricks should have private endpoints enabled | Learn 206 | dbw-006 | Microsoft.Databricks/workspaces | Governance | Low | Azure Databricks Name should comply with naming conventions | Learn 207 | dbw-007 | Microsoft.Databricks/workspaces | Security | Medium | Azure Databricks should have the Public IP disabled | Learn 208 | dec-001 | Microsoft.Kusto/clusters | MonitoringAndAlerting | Low | Azure Data Explorer should have diagnostic settings enabled | Learn 209 | dec-002 | Microsoft.Kusto/clusters | HighAvailability | High | Azure Data Explorer SLA | Learn 210 | dec-003 | Microsoft.Kusto/clusters | HighAvailability | High | Azure Data Explorer Production Cluster should not use Dev SKU | Learn 211 | dec-004 | Microsoft.Kusto/clusters | Governance | Low | Azure Data Explorer Name should comply with naming conventions | Learn 212 | dec-005 | Microsoft.Kusto/clusters | Governance | Low | Azure Data Explorer should have tags | Learn 213 | dec-008 | Microsoft.Kusto/clusters | Security | High | Azure Data Explorer should use Disk Encryption | Learn 214 | dec-009 | Microsoft.Kusto/clusters | Security | Low | Azure Data Explorer should use Managed Identities | Learn 215 | 3c4d5e6f-7a8b-9c0d-1e2f-3a4b5c6d7e8f | Microsoft.Compute/disks | Governance | Medium | Managed Disks with ‘Unattached’ state | Learn 216 | 3263a64a-c256-de48-9818-afd3cbc55c2a | Microsoft.Compute/disks | OtherBestPractices | Medium | Shared disks should only be enabled in clustered servers | Learn 217 | fa0cf4f5-0b21-47b7-89a9-ee936f193ce1 | Microsoft.Compute/disks | HighAvailability | Medium | Use Azure Disks with Zone Redundant Storage for higher resiliency and availability | Learn 218 | d40c769d-2f08-4980-8d8f-a386946276e6 | Microsoft.Network/expressRouteCircuits | Scalability | Medium | Implement rate-limiting across ExpressRoute Direct Circuits to optimize network flow | Learn 219 | 0bee356b-7348-4799-8cab-0c71ffe13018 | Microsoft.Network/ExpressRoutePorts | Scalability | Medium | Ensure ExpressRoute Direct is not over-subscribed | Learn 220 | 60077378-7cb1-4b35-89bb-393884d9921d | Microsoft.Network/ExpressRoutePorts | HighAvailability | High | The Admin State of both Links of an ExpressRoute Direct should be in Enabled state | Learn 221 | evgd-001 | Microsoft.EventGrid/domains | MonitoringAndAlerting | Low | Event Grid Domain should have diagnostic settings enabled | Learn 222 | evgd-003 | Microsoft.EventGrid/domains | HighAvailability | High | Event Grid Domain should have a SLA | Learn 223 | evgd-004 | Microsoft.EventGrid/domains | Security | High | Event Grid Domain should have private endpoints enabled | Learn 224 | evgd-006 | Microsoft.EventGrid/domains | Governance | Low | Event Grid Domain Name should comply with naming conventions | Learn 225 | evgd-007 | Microsoft.EventGrid/domains | Governance | Low | Event Grid Domain should have tags | Learn 226 | evgd-008 | Microsoft.EventGrid/domains | Security | Medium | Event Grid Domain should have local authentication disabled | Learn 227 | evh-001 | Microsoft.EventHub/namespaces | MonitoringAndAlerting | Low | Event Hub Namespace should have diagnostic settings enabled | Learn 228 | evh-003 | Microsoft.EventHub/namespaces | HighAvailability | High | Event Hub Namespace should have a SLA | Learn 229 | evh-004 | Microsoft.EventHub/namespaces | Security | High | Event Hub Namespace should have private endpoints enabled | Learn 230 | evh-006 | Microsoft.EventHub/namespaces | Governance | Low | Event Hub Namespace Name should comply with naming conventions | Learn 231 | evh-007 | Microsoft.EventHub/namespaces | Governance | Low | Event Hub should have tags | Learn 232 | evh-008 | Microsoft.EventHub/namespaces | Security | Medium | Event Hub should have local authentication disabled | Learn 233 | 84636c6c-b317-4722-b603-7b1ffc16384b | Microsoft.EventHub/namespaces | HighAvailability | High | Ensure zone redundancy is enabled in supported regions | Learn 234 | fbfef3df-04a5-41b2-a8fd-b8541eb04956 | Microsoft.EventHub/namespaces | Scalability | High | Enable auto-inflate on Event Hub Standard tier | Learn 235 | 0d1e2f3a-4b5c-6d7e-8f9a-0b1c2d3e4f5a | Microsoft.Network/frontDoorWebApplicationFirewallPolicies | Governance | Medium | Front Door WAF Policy without associations | Learn 236 | b49a39fd-f431-4b61-9062-f2157849d845 | Microsoft.Compute/galleries | HighAvailability | Medium | A minimum of three replicas should be kept for production image versions | Learn 237 | 488dcc8b-f2e3-40ce-bf95-73deb2db095f | Microsoft.Compute/galleries | HighAvailability | Medium | Zone redundant storage should be used for image versions | Learn 238 | 1c5e1e58-4e56-491c-8529-10f37af9d4ed | Microsoft.Compute/galleries | HighAvailability | Low | Consider creating TrustedLaunchSupported images where possible | Learn 239 | eeba3a49-fef0-481f-a471-7ff01139b474 | Microsoft.Devices/IotHubs | HighAvailability | High | Do not use free tier | Learn 240 | b1e1378d-4572-4414-bebd-b8872a6d4d1c | Microsoft.Devices/IotHubs | Scalability | High | Use Device Provisioning Service | Learn 241 | e7dbd21f-b27a-4b8c-a901-cedb1e6d8e1e | Microsoft.Devices/IotHubs | MonitoringAndAlerting | Low | Disabled Fallback Route | Learn 242 | it-006 | Microsoft.VirtualMachineImages/imageTemplates | Governance | Low | Image Template Name should comply with naming conventions | Learn 243 | it-007 | Microsoft.VirtualMachineImages/imageTemplates | Governance | Low | Image Template should have tags | Learn 244 | 21fb841b-ba70-1f4e-a460-1f72fb41aa51 | Microsoft.VirtualMachineImages/imageTemplates | DisasterRecovery | Low | Replicate your Image Templates to a secondary region | Learn 245 | kv-001 | Microsoft.KeyVault/vaults | MonitoringAndAlerting | Low | Key Vault should have diagnostic settings enabled | Learn 246 | kv-003 | Microsoft.KeyVault/vaults | HighAvailability | High | Key Vault should have a SLA | Learn 247 | kv-006 | Microsoft.KeyVault/vaults | Governance | Low | Key Vault Name should comply with naming conventions | Learn 248 | kv-007 | Microsoft.KeyVault/vaults | Governance | Low | Key Vault should have tags | Learn 249 | 00c3d2b0-ea6e-4c4b-89be-b78a35caeb51 | Microsoft.KeyVault/vaults | Security | Medium | Private endpoint should be configured for Key Vault | Learn 250 | 1cca00d2-d9ab-8e42-a788-5d40f49405cb | Microsoft.KeyVault/vaults | DisasterRecovery | High | Key vaults should have soft delete enabled | Learn 251 | 70fcfe6d-00e9-5544-a63a-fff42b9f2edb | Microsoft.KeyVault/vaults | DisasterRecovery | Medium | Key vaults should have purge protection enabled | Learn 252 | lb-001 | Microsoft.Network/loadBalancers | MonitoringAndAlerting | Low | Load Balancer should have diagnostic settings enabled | Learn 253 | lb-003 | Microsoft.Network/loadBalancers | HighAvailability | High | Load Balancer should have a SLA | Learn 254 | lb-006 | Microsoft.Network/loadBalancers | Governance | Low | Load Balancer Name should comply with naming conventions | Learn 255 | lb-007 | Microsoft.Network/loadBalancers | Governance | Low | Load Balancer should have tags | Learn 256 | 38c3bca1-97a1-eb42-8cd3-838b243f35ba | Microsoft.Network/loadBalancers | HighAvailability | High | Use Standard Load Balancer SKU | Learn 257 | 6d82d042-6d61-ad49-86f0-6a5455398081 | Microsoft.Network/loadBalancers | HighAvailability | High | Ensure the Backend Pool contains at least two instances | Learn 258 | 8d319a05-677b-944f-b9b4-ca0fb42e883c | Microsoft.Network/loadBalancers | HighAvailability | Medium | Use NAT Gateway instead of Outbound Rules for Production Workloads | Learn 259 | 621dbc78-3745-4d32-8eac-9e65b27b7512 | Microsoft.Network/loadBalancers | HighAvailability | High | Ensure Standard Load Balancer is zone-redundant | Learn 260 | e5f5fcea-f925-4578-8599-9a391e888a60 | Microsoft.Network/loadBalancers | MonitoringAndAlerting | High | Use Health Probes to detect backend instances availability | Learn 261 | 9c0d1e2f-3a4b-5c6d-7e8f-9a0b1c2d3e4f | Microsoft.Network/loadBalancers | Governance | Medium | Load Balancers with empty backend address pools | Learn 262 | log-003 | Microsoft.OperationalInsights/workspaces | HighAvailability | High | Log Analytics Workspace SLA | Learn 263 | log-006 | Microsoft.OperationalInsights/workspaces | Governance | Low | Log Analytics Workspace Name should comply with naming conventions | Learn 264 | log-007 | Microsoft.OperationalInsights/workspaces | Governance | Low | Log Analytics Workspace should have tags | Learn 265 | logic-001 | Microsoft.Logic/workflows | MonitoringAndAlerting | Low | Logic App should have diagnostic settings enabled | Learn 266 | logic-003 | Microsoft.Logic/workflows | HighAvailability | High | Logic App should have a SLA | Learn 267 | logic-004 | Microsoft.Logic/workflows | Security | High | Logic App should limit access to Http Triggers | Learn 268 | logic-006 | Microsoft.Logic/workflows | Governance | Low | Logic App Name should comply with naming conventions | Learn 269 | logic-007 | Microsoft.Logic/workflows | Governance | Low | Logic App should have tags | Learn 270 | maria-001 | Microsoft.DBforMariaDB/servers | MonitoringAndAlerting | Low | MariaDB should have diagnostic settings enabled | Learn 271 | maria-002 | Microsoft.DBforMariaDB/servers | Security | High | MariaDB should have private endpoints enabled | Learn 272 | maria-003 | Microsoft.DBforMariaDB/servers | Governance | Low | MariaDB server Name should comply with naming conventions | Learn 273 | maria-004 | Microsoft.DBforMariaDB/servers | HighAvailability | High | MariaDB server should have a SLA | Learn 274 | maria-005 | Microsoft.DBforMariaDB/servers | Governance | Low | MariaDB should have tags | Learn 275 | maria-006 | Microsoft.DBforMariaDB/servers | Security | Low | MariaDB should enforce TLS >= 1.2 | Learn 276 | mysql-001 | Microsoft.DBforMySQL/servers | MonitoringAndAlerting | Low | Azure Database for MySQL - Single Server should have diagnostic settings enabled | Learn 277 | mysql-003 | Microsoft.DBforMySQL/servers | HighAvailability | High | Azure Database for MySQL - Single Server should have a SLA | Learn 278 | mysql-004 | Microsoft.DBforMySQL/servers | Security | High | Azure Database for MySQL - Single Server should have private endpoints enabled | Learn 279 | mysql-006 | Microsoft.DBforMySQL/servers | Governance | Low | Azure Database for MySQL - Single Server Name should comply with naming conventions | Learn 280 | mysql-007 | Microsoft.DBforMySQL/servers | HighAvailability | High | Azure Database for MySQL - Single Server is on the retirement path | Learn 281 | mysql-008 | Microsoft.DBforMySQL/servers | Governance | Low | Azure Database for MySQL - Single Server should have tags | Learn 282 | mysqlf-001 | Microsoft.DBforMySQL/flexibleServers | MonitoringAndAlerting | Low | Azure Database for MySQL - Flexible Server should have diagnostic settings enabled | Learn 283 | mysqlf-003 | Microsoft.DBforMySQL/flexibleServers | HighAvailability | High | Azure Database for MySQL - Flexible Server should have a SLA | Learn 284 | mysqlf-004 | Microsoft.DBforMySQL/flexibleServers | Security | High | Azure Database for MySQL - Flexible Server should have private access enabled | Learn 285 | mysqlf-006 | Microsoft.DBforMySQL/flexibleServers | Governance | Low | Azure Database for MySQL - Flexible Server Name should comply with naming conventions | Learn 286 | mysqlf-007 | Microsoft.DBforMySQL/flexibleServers | Governance | Low | Azure Database for MySQL - Flexible Server should have tags | Learn 287 | 8176a79d-8645-4e52-96be-a10fc0204fe5 | Microsoft.DBforMySQL/flexibleServers | Scalability | High | Configure storage auto-grow | Learn 288 | 88856605-53d8-4bbd-a75b-4a7b14939d32 | Microsoft.DBforMySQL/flexibleServers | HighAvailability | High | Enable HA with zone redundancy | Learn 289 | 82a9a0f2-24ee-496f-9ad2-25f81710942d | Microsoft.DBforMySQL/flexibleServers | Scalability | High | Enable custom maintenance schedule | Learn 290 | 5c96afc3-7d2e-46ff-a4c7-9c32850c441b | Microsoft.DBforMySQL/flexibleServers | DisasterRecovery | High | Configure geo redundant backup storage | Learn 291 | b49a8653-cc43-48c9-8513-a2d2e3f14dd1 | Microsoft.DBforMySQL/flexibleServers | DisasterRecovery | High | Configure one or more read replicas | Learn 292 | 72827434-c773-4345-9493-34848ddf5803 | Microsoft.NetApp/netAppAccounts | HighAvailability | High | Use snapshots for data protection in Azure NetApp Files | Learn 293 | b2fb3e60-97ec-e34d-af29-b16a0d61c2ac | Microsoft.NetApp/netAppAccounts | DisasterRecovery | High | Enable backup for data protection in Azure NetApp Files | Learn 294 | e30317d2-c502-4dfe-a2d3-0a737cc79545 | Microsoft.NetApp/netAppAccounts | DisasterRecovery | High | Enable Cross-region replication of Azure NetApp Files volumes | Learn 295 | 47d100a5-7f85-5742-967a-67eb5081240a | Microsoft.NetApp/netAppAccounts | HighAvailability | High | Use availability zones for high availability in Azure NetApp Files | Learn 296 | ab984130-c57b-6c4a-8d04-6723b4e1bdb6 | Microsoft.NetApp/netAppAccounts | Scalability | High | Use standard network features for production in Azure NetApp Files | Learn 297 | e3d742e1-dacd-9b48-b6b1-510ec9f87c96 | Microsoft.NetApp/netAppAccounts | DisasterRecovery | High | Enable Cross-zone replication of Azure NetApp Files volumes | Learn 298 | ng-001 | Microsoft.Network/natGateways | MonitoringAndAlerting | Low | NAT Gateway should have diagnostic settings enabled | Learn 299 | ng-003 | Microsoft.Network/natGateways | HighAvailability | High | NAT Gateway SLA | Learn 300 | ng-006 | Microsoft.Network/natGateways | Governance | Low | NAT Gateway Name should comply with naming conventions | Learn 301 | ng-007 | Microsoft.Network/natGateways | Governance | Low | NAT Gateway should have tags | Learn 302 | 5c6d7e8f-9a0b-1c2d-3e4f-5a6b7c8d9e0f | Microsoft.Network/natGateways | Governance | Medium | NAT Gateways not attached to any subnet | Learn 303 | 6f7a8b9c-0d1e-2f3a-4b5c-6d7e8f9a0b1c | Microsoft.Network/networkInterfaces | Governance | Medium | Network Interfaces not attached to any resource | Learn 304 | nsg-001 | Microsoft.Network/networkSecurityGroups | MonitoringAndAlerting | Low | NSG should have diagnostic settings enabled | Learn 305 | nsg-003 | Microsoft.Network/networkSecurityGroups | HighAvailability | High | NSG SLA | Learn 306 | nsg-006 | Microsoft.Network/networkSecurityGroups | Governance | Low | NSG Name should comply with naming conventions | Learn 307 | nsg-007 | Microsoft.Network/networkSecurityGroups | Governance | Low | NSG should have tags | Learn 308 | 8bb4a57b-55e4-d24e-9c19-2679d8bc779f | Microsoft.Network/networkSecurityGroups | MonitoringAndAlerting | Low | Monitor changes in Network Security Groups with Azure Monitor | Learn 309 | 8291c1fa-650c-b44b-b008-4deb7465919d | Microsoft.Network/networkSecurityGroups | Security | Medium | The NSG only has Default Security Rules, make sure to configure the necessary rules | Learn 310 | 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d | Microsoft.Network/networkSecurityGroups | Governance | Medium | Network Security Groups not attached to any network interface or subnet | Learn 311 | nw-003 | Microsoft.Network/networkWatchers | HighAvailability | High | Network Watcher SLA | Learn 312 | nw-006 | Microsoft.Network/networkWatchers | Governance | Low | Network Watcher Name should comply with naming conventions | Learn 313 | nw-007 | Microsoft.Network/networkWatchers | Governance | Low | Network Watcher should have tags | Learn 314 | bf0b7dbd-016d-458c-af99-70fcb03ad451 | Microsoft.Network/networkWatchers | MonitoringAndAlerting | Medium | Enable traffic analytics in Virtual Network Flow Logs configuration | Learn 315 | 22a769ed-0ecb-8b49-bafe-8f52e6373d9c | Microsoft.Network/networkWatchers | MonitoringAndAlerting | Low | Fix Flow Log configurations in Failed state or Disabled Status | Learn 316 | 7e8f9a0b-1c2d-3e4f-5a6b-7c8d9e0f1a2b | Microsoft.Network/privateDnsZones | Governance | Medium | Private DNS zones without Virtual Network Links | Learn 317 | pep-003 | Microsoft.Network/privateEndpoints | HighAvailability | High | Private Endpoint SLA | Learn 318 | pep-006 | Microsoft.Network/privateEndpoints | Governance | Low | Private Endpoint Name should comply with naming conventions | Learn 319 | pep-007 | Microsoft.Network/privateEndpoints | Governance | Low | Private Endpoint should have tags | Learn 320 | b89c9acc-0aba-fb44-9ff2-3dbfcf97dce7 | Microsoft.Network/privateEndpoints | HighAvailability | Medium | Resolve issues with Private Endpoints in non Succeeded connection state | Learn 321 | 8f9a0b1c-2d3e-4f5a-6b7c-8d9e0f1a2b3c | Microsoft.Network/privateEndpoints | Governance | Medium | Private Endpoints not connected to any resource | Learn 322 | pip-003 | Microsoft.Network/publicIPAddresses | HighAvailability | High | Public IP SLA | Learn 323 | pip-006 | Microsoft.Network/publicIPAddresses | Governance | Low | Public IP Name should comply with naming conventions | Learn 324 | pip-007 | Microsoft.Network/publicIPAddresses | Governance | Low | Public IP should have tags | Learn 325 | 5cea1501-6fe4-4ec4-ac8f-f72320eb18d3 | Microsoft.Network/publicIPAddresses | HighAvailability | Medium | Upgrade Basic SKU public IP addresses to Standard SKU | Learn 326 | c4254c66-b8a5-47aa-82f6-e7d7fb418f47 | Microsoft.Network/publicIPAddresses | Security | Medium | Public IP addresses should have DDoS protection enabled | Learn 327 | c63b81fb-7afc-894c-a840-91bb8a8dcfaf | Microsoft.Network/publicIPAddresses | HighAvailability | High | Use Standard SKU and Zone-Redundant IPs when applicable | Learn 328 | 1adba190-5c4c-e646-8527-dd1b2a6d8b15 | Microsoft.Network/publicIPAddresses | HighAvailability | Medium | Use NAT gateway for outbound connectivity to avoid SNAT Exhaustion | Learn 329 | 5e6f7a8b-9c0d-1e2f-3a4b-5c6d7e8f9a0b | Microsoft.Network/publicIPAddresses | Governance | Medium | Public IPs not attached to any resource | Learn 330 | psql-001 | Microsoft.DBforPostgreSQL/servers | MonitoringAndAlerting | Low | PostgreSQL should have diagnostic settings enabled | Learn 331 | psql-003 | Microsoft.DBforPostgreSQL/servers | HighAvailability | High | PostgreSQL should have a SLA | Learn 332 | psql-004 | Microsoft.DBforPostgreSQL/servers | Security | High | PostgreSQL should have private endpoints enabled | Learn 333 | psql-006 | Microsoft.DBforPostgreSQL/servers | Governance | Low | PostgreSQL Name should comply with naming conventions | Learn 334 | psql-007 | Microsoft.DBforPostgreSQL/servers | Governance | Low | PostgreSQL should have tags | Learn 335 | psql-008 | Microsoft.DBforPostgreSQL/servers | Security | High | PostgreSQL should enforce SSL | Learn 336 | psql-009 | Microsoft.DBforPostgreSQL/servers | Security | Low | PostgreSQL should enforce TLS >= 1.2 | Learn 337 | psqlf-001 | Microsoft.DBforPostgreSQL/flexibleServers | MonitoringAndAlerting | Low | PostgreSQL should have diagnostic settings enabled | Learn 338 | psqlf-003 | Microsoft.DBforPostgreSQL/flexibleServers | HighAvailability | High | PostgreSQL should have a SLA | Learn 339 | psqlf-004 | Microsoft.DBforPostgreSQL/flexibleServers | Security | High | PostgreSQL should have private access enabled | Learn 340 | psqlf-006 | Microsoft.DBforPostgreSQL/flexibleServers | Governance | Low | PostgreSQL Name should comply with naming conventions | Learn 341 | psqlf-007 | Microsoft.DBforPostgreSQL/flexibleServers | Governance | Low | PostgreSQL should have tags | Learn 342 | ca87914f-aac4-4783-ab67-82a6f936f194 | Microsoft.DBforPostgreSQL/flexibleServers | HighAvailability | High | Enable HA with zone redundancy | Learn 343 | b2bad57d-7e03-4c0f-9024-597c9eb295bb | Microsoft.DBforPostgreSQL/flexibleServers | Scalability | High | Enable custom maintenance schedule | Learn 344 | 31f4ac4b-29cb-4588-8de2-d8fe6f13ceb3 | Microsoft.DBforPostgreSQL/flexibleServers | DisasterRecovery | High | Configure geo redundant backup storage | Learn 345 | 2ab85a67-26be-4ed2-a0bb-101b2513ec63 | Microsoft.DBforPostgreSQL/flexibleServers | DisasterRecovery | High | Configure one or more read replicas | Learn 346 | redis-001 | Microsoft.Cache/Redis | MonitoringAndAlerting | Low | Redis should have diagnostic settings enabled | Learn 347 | redis-003 | Microsoft.Cache/Redis | HighAvailability | High | Redis should have a SLA | Learn 348 | redis-006 | Microsoft.Cache/Redis | Governance | Low | Redis Name should comply with naming conventions | Learn 349 | redis-007 | Microsoft.Cache/Redis | Governance | Low | Redis should have tags | Learn 350 | redis-008 | Microsoft.Cache/Redis | Security | High | Redis should not enable non SSL ports | Learn 351 | redis-009 | Microsoft.Cache/Redis | Security | Low | Redis should enforce TLS >= 1.2 | Learn 352 | 5a44bd30-ae6a-4b81-9b68-dc3a8ffca4d8 | Microsoft.Cache/Redis | HighAvailability | High | Enable zone redundancy for Azure Cache for Redis | Learn 353 | c474fc96-4e6a-4fb0-95d0-a26b3f35933c | Microsoft.Cache/redis | Security | Medium | Configure Private Endpoints | Learn 354 | 1c2d3e4f-5a6b-7c8d-9e0f-1a2b3c4d5e6f | Microsoft.Resources/resourceGroups | Governance | Medium | Resource Groups without resources | Learn 355 | 2912472d-0198-4bdc-aa90-37f145790edc | Microsoft.RecoveryServices/vaults | MonitoringAndAlerting | Medium | Migrate from classic alerts to built-in Azure Monitor alerts for Azure Recovery Services Vaults | Learn 356 | 1549b91f-2ea0-4d4f-ba2a-4596becbe3de | Microsoft.RecoveryServices/vaults | DisasterRecovery | Medium | Enable Cross Region Restore for your GRS Recovery Services Vault | Learn 357 | 9e39919b-78af-4a0b-b70f-c548dae97c25 | Microsoft.RecoveryServices/vaults | DisasterRecovery | Medium | Enable Soft Delete for Recovery Services Vaults in Azure Backup | Learn 358 | 17e877f7-3a89-4205-8a24-0670de54ddcd | Microsoft.RecoveryServices/vaults | DisasterRecovery | High | Validate VM functionality with a Site Recovery test failover to check performance at target | Learn 359 | udr-003 | Microsoft.Network/routeTables | HighAvailability | High | Rout Table SLA | Learn 360 | udr-006 | Microsoft.Network/routeTables | Governance | Low | Rout Table Name should comply with naming conventions | Learn 361 | udr-007 | Microsoft.Network/routeTables | Governance | Low | Rout Table should have tags | Learn 362 | 8b9c0d1e-2f3a-4b5c-6d7e-8f9a0b1c2d3e | Microsoft.Network/routeTables | Governance | Medium | Route Tables not attached to any subnet | Learn 363 | 23b2dfc7-7e5d-9443-9f62-980ca621b561 | Microsoft.Network/routeTables | MonitoringAndAlerting | Medium | Monitor changes in Route Tables with Azure Monitor | Learn 364 | sb-001 | Microsoft.ServiceBus/namespaces | MonitoringAndAlerting | Low | Service Bus should have diagnostic settings enabled | Learn 365 | sb-003 | Microsoft.ServiceBus/namespaces | HighAvailability | High | Service Bus should have a SLA | Learn 366 | sb-004 | Microsoft.ServiceBus/namespaces | Security | High | Service Bus should have private endpoints enabled | Learn 367 | sb-006 | Microsoft.ServiceBus/namespaces | Governance | Low | Service Bus Name should comply with naming conventions | Learn 368 | sb-007 | Microsoft.ServiceBus/namespaces | Governance | Low | Service Bus should have tags | Learn 369 | sb-008 | Microsoft.ServiceBus/namespaces | Security | Medium | Service Bus should have local authentication disabled | Learn 370 | f075a1bd-de9e-4819-9a1d-1ac41037a74f | Microsoft.ServiceBus/namespaces | ServiceUpgradeAndRetirement | High | Configure the minimum TLS version for Service Bus namespaces to TLS v1.2 or higher | Learn 371 | sigr-001 | Microsoft.SignalRService/SignalR | MonitoringAndAlerting | Low | SignalR should have diagnostic settings enabled | Learn 372 | sigr-003 | Microsoft.SignalRService/SignalR | HighAvailability | High | SignalR should have a SLA | Learn 373 | sigr-004 | Microsoft.SignalRService/SignalR | Security | High | SignalR should have private endpoints enabled | Learn 374 | sigr-006 | Microsoft.SignalRService/SignalR | Governance | Low | SignalR Name should comply with naming conventions | Learn 375 | sigr-007 | Microsoft.SignalRService/SignalR | Governance | Low | SignalR should have tags | Learn 376 | 6a8b3db9-5773-413a-a127-4f7032f34bbd | Microsoft.SignalRService/SignalR | HighAvailability | High | Enable zone redundancy for SignalR | Learn 377 | sql-004 | Microsoft.Sql/servers | Security | High | SQL should have private endpoints enabled | Learn 378 | sql-006 | Microsoft.Sql/servers | Governance | Low | SQL Name should comply with naming conventions | Learn 379 | sql-007 | Microsoft.Sql/servers | Governance | Low | SQL should have tags | Learn 380 | sql-008 | Microsoft.Sql/servers | Security | Low | SQL should enforce TLS >= 1.2 | Learn 381 | sqldb-001 | Microsoft.Sql/servers/databases | MonitoringAndAlerting | Low | SQL Database should have diagnostic settings enabled | Learn 382 | sqldb-003 | Microsoft.Sql/servers/databases | HighAvailability | High | SQL Database should have a SLA | Learn 383 | sqldb-006 | Microsoft.Sql/servers/databases | Governance | Low | SQL Database Name should comply with naming conventions | Learn 384 | sqldb-007 | Microsoft.Sql/servers/databases | Governance | Low | SQL Database should have tags | Learn 385 | sqlep-002 | Microsoft.Sql/servers/elasticPools | Governance | Low | SQL Elastic Pool Name should comply with naming conventions | Learn 386 | sqlep-003 | Microsoft.Sql/servers/elasticPools | Governance | Low | SQL Elastic Pool should have tags | Learn 387 | 7e7daec9-6a81-3546-a4cc-9aef72fec1f7 | Microsoft.Sql/servers | MonitoringAndAlerting | High | Monitor your Azure SQL Database in Near Real-Time to Detect Reliability Incidents | Learn 388 | 74c2491d-048b-0041-a140-935960220e20 | Microsoft.Sql/servers | DisasterRecovery | High | Use Active Geo Replication to Create a Readable Secondary in Another Region | Learn 389 | 943c168a-2ec2-a94c-8015-85732a1b4859 | Microsoft.Sql/servers | DisasterRecovery | High | Auto Failover Groups can encompass one or multiple databases, usually used by the same app. | Learn 390 | c0085c32-84c0-c247-bfa9-e70977cbf108 | Microsoft.Sql/servers | HighAvailability | High | Enable zone redundancy for Azure SQL Database to achieve high availability and resiliency | Learn 391 | 4d5e6f7a-8b9c-0d1e-2f3a-4b5c6d7e8f9a | Microsoft.Sql/servers/elasticpools | Governance | Medium | SQL elastic pool without databases | Learn 392 | st-001 | Microsoft.Storage/storageAccounts | MonitoringAndAlerting | Low | Storage should have diagnostic settings enabled | Learn 393 | st-003 | Microsoft.Storage/storageAccounts | HighAvailability | High | Storage should have a SLA | Learn 394 | st-006 | Microsoft.Storage/storageAccounts | Governance | Low | Storage Name should comply with naming conventions | Learn 395 | st-007 | Microsoft.Storage/storageAccounts | Security | High | Storage Account should use HTTPS only | Learn 396 | st-008 | Microsoft.Storage/storageAccounts | Governance | Low | Storage Account should have tags | Learn 397 | st-009 | Microsoft.Storage/storageAccounts | Security | Low | Storage Account should enforce TLS >= 1.2 | Learn 398 | st-010 | Microsoft.Storage/storageAccounts | DisasterRecovery | Low | Storage Account should have inmutable storage versioning enabled | Learn 399 | st-011 | Microsoft.Storage/storageAccounts | DisasterRecovery | Medium | Storage Account should have soft delete enabled | Learn 400 | 2ad78dec-5a4d-4a30-8fd1-8584335ad781 | Microsoft.Storage/storageAccounts | Scalability | Low | Consider upgrading legacy storage accounts to v2 storage accounts | Learn 401 | dc55be60-6f8c-461e-a9d5-a3c7686ed94e | Microsoft.Storage/storageAccounts | Security | Medium | Enable Azure Private Link service for storage accounts | Learn 402 | e6c7e1cc-2f47-264d-aa50-1da421314472 | Microsoft.Storage/storageAccounts | HighAvailability | High | Ensure that storage accounts are zone or region redundant | Learn 403 | syndp-001 | Microsoft.Synapse/workspaces/sqlPools | Governance | Low | Azure Synapse Dedicated SQL Pool Name should comply with naming conventions | Learn 404 | syndp-002 | Microsoft.Synapse/workspaces/sqlPools | HighAvailability | High | Azure Synapse Dedicated SQL Pool SLA | Learn 405 | syndp-003 | Microsoft.Synapse/workspaces/sqlPools | Governance | Low | Azure Synapse Dedicated SQL Pool should have tags | Learn 406 | synsp-001 | Microsoft.Synapse workspaces/bigDataPools | Governance | Low | Azure Synapse Spark Pool Name should comply with naming conventions | Learn 407 | synsp-002 | Microsoft.Synapse workspaces/bigDataPools | HighAvailability | High | Azure Synapse Spark Pool SLA | Learn 408 | synsp-003 | Microsoft.Synapse workspaces/bigDataPools | Governance | Low | Azure Synapse Spark Pool should have tags | Learn 409 | synw-001 | Microsoft.Synapse/workspaces | MonitoringAndAlerting | Low | Azure Synapse Workspace should have diagnostic settings enabled | Learn 410 | synw-002 | Microsoft.Synapse/workspaces | Security | High | Azure Synapse Workspace should have private endpoints enabled | Learn 411 | synw-003 | Microsoft.Synapse/workspaces | HighAvailability | High | Azure Synapse Workspace SLA | Learn 412 | synw-004 | Microsoft.Synapse/workspaces | Governance | Low | Azure Synapse Workspace Name should comply with naming conventions | Learn 413 | synw-005 | Microsoft.Synapse/workspaces | Governance | Low | Azure Synapse Workspace should have tags | Learn 414 | synw-006 | Microsoft.Synapse/workspaces | Security | High | Azure Synapse Workspace should establish network segmentation boundaries | Learn 415 | synw-007 | Microsoft.Synapse/workspaces | Security | High | Azure Synapse Workspace should disable public network access | Learn 416 | traf-001 | Microsoft.Network/trafficManagerProfiles | MonitoringAndAlerting | Low | Traffic Manager should have diagnostic settings enabled | Learn 417 | traf-002 | Microsoft.Network/trafficManagerProfiles | HighAvailability | High | Traffic Manager should have availability zones enabled | Learn 418 | traf-003 | Microsoft.Network/trafficManagerProfiles | HighAvailability | High | Traffic Manager should have a SLA | Learn 419 | traf-006 | Microsoft.Network/trafficManagerProfiles | Governance | Low | Traffic Manager Name should comply with naming conventions | Learn 420 | traf-007 | Microsoft.Network/trafficManagerProfiles | Governance | Low | Traffic Manager should have tags | Learn 421 | traf-009 | Microsoft.Network/trafficManagerProfiles | Security | High | Traffic Manager: HTTP endpoints should be monitored using HTTPS | Learn 422 | 9437634c-d69e-2747-b13e-631c13182150 | Microsoft.Network/trafficManagerProfiles | BusinessContinuity | High | Avoid combining Traffic Manager and Front Door | Learn 423 | f05a3e6d-49db-2740-88e2-2b13706c1f67 | Microsoft.Network/trafficManagerProfiles | HighAvailability | High | Traffic Manager Monitor Status Should be Online | Learn 424 | 1e2f3a4b-5c6d-7e8f-9a0b-1c2d3e4f5a6b | Microsoft.Network/trafficManagerProfiles | Governance | Medium | Traffic Manager without endpoints | Learn 425 | 5b422a7f-8caa-3d48-becb-511599e5bba9 | Microsoft.Network/trafficManagerProfiles | HighAvailability | Medium | Traffic manager profiles should have more than one endpoint | Learn 426 | 1ad9d7b7-9692-1441-a8f4-93792efbe97a | Microsoft.Network/trafficManagerProfiles | DisasterRecovery | Medium | Configure at least one endpoint within a another region | Learn 427 | c31f76a0-48cd-9f44-aa43-99ee904db9bc | Microsoft.Network/trafficManagerProfiles | DisasterRecovery | High | Ensure endpoint configured to (All World) for geographic profiles | Learn 428 | 979ff8be-5f3a-4d8e-9aa3-407ecdd6d6f7 | Microsoft.DesktopVirtualization/hostPools | Governance | Medium | Configure host pool scheduled agent updates | Learn 429 | vgw-001 | Microsoft.Network/virtualNetworkGateways | MonitoringAndAlerting | Low | Virtual Network Gateway should have diagnostic settings enabled | Learn 430 | vgw-002 | Microsoft.Network/virtualNetworkGateways | Governance | Low | Virtual Network Gateway Name should comply with naming conventions | Learn 431 | vgw-003 | Microsoft.Network/virtualNetworkGateways | Governance | Low | Virtual Network Gateway should have tags | Learn 432 | vgw-004 | Microsoft.Network/virtualNetworkGateways | HighAvailability | High | Virtual Network Gateway should have a SLA | Learn 433 | vgw-005 | Microsoft.Network/virtualNetworkGateways | HighAvailability | High | Storage should have availability zones enabled | Learn 434 | bbe668b7-eb5c-c746-8b82-70afdedf0cae | Microsoft.Network/virtualNetworkGateways | HighAvailability | High | Use Zone-redundant ExpressRoute gateway SKUs | Learn 435 | f8c2e6d9-4b3a-45d6-b9e2-8e7f3a1c2d04 | Microsoft.Network/virtualNetworkGateways | HighAvailability | Medium | Configure customer-controlled VPN gateway maintenance | Learn 436 | 281a2713-c0e0-3c48-b596-19f590c46671 | Microsoft.Network/virtualNetworkGateways | HighAvailability | Medium | Enable Active-Active VPN Gateways for redundancy | Learn 437 | d37db635-157f-584d-9bce-4f6fc8c65ce5 | Microsoft.Network/virtualNetworkGateways | HighAvailability | High | Connect ExpressRoute gateway with circuits from diverse peering locations | Learn 438 | 5b1933a6-90e4-f642-a01f-e58594e5aab2 | Microsoft.Network/virtualNetworkGateways | HighAvailability | High | Choose a Zone-redundant VPN gateway | Learn 439 | 4bae5a28-5cf4-40d9-bcf1-623d28f6d917 | Microsoft.Network/virtualNetworkGateways | HighAvailability | High | Deploy VPN gateways with zone-redundant Public IPs | Learn 440 | 3e115044-a3aa-433e-be01-ce17d67e50da | Microsoft.Network/virtualNetworkGateways | HighAvailability | Medium | Configure customer-controlled ExpressRoute gateway maintenance | Learn 441 | 9a0b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d | Microsoft.Network/virtualNetworkGateways | Governance | Medium | Virtual Network Gateways without Point-to-site configuration or Connections | Learn 442 | vm-003 | Microsoft.Compute/virtualMachines | HighAvailability | High | Virtual Machine should have a SLA | Learn 443 | vm-006 | Microsoft.Compute/virtualMachines | Governance | Low | Virtual Machine Name should comply with naming conventions | Learn 444 | vm-007 | Microsoft.Compute/virtualMachines | Governance | Low | Virtual Machine should have tags | Learn 445 | 3201dba8-d1da-4826-98a4-104066545170 | Microsoft.Compute/virtualMachines | Scalability | High | Don’t use A or B-Series VMs for production needing constant full CPU performance | Learn 446 | 98b334c0-8578-6046-9e43-b6e8fce6318e | Microsoft.Compute/virtualMachines | Governance | Low | Review VMs in stopped state | Learn 447 | 1981f704-97b9-b645-9c57-33f8ded9261a | Microsoft.Compute/virtualMachines | DisasterRecovery | Medium | Backup VMs with Azure Backup service | Learn 448 | 82b3cf6b-9ae2-2e44-b193-10793213f676 | Microsoft.Compute/virtualMachines | Security | Low | VM network interfaces and associated subnets both have a Network Security Group associated | Learn 449 | f0a97179-133a-6e4f-8a49-8a44da73ffce | Microsoft.Compute/virtualMachines | Security | High | Virtual Machines should have Azure Disk Encryption or EncryptionAtHost enabled | Learn 450 | 273f6b30-68e0-4241-85ea-acf15ffb60bf | Microsoft.Compute/virtualMachines | HighAvailability | High | Run production workloads on two or more VMs using VMSS Flex | Learn 451 | c42343ae-2712-2843-a285-3437eb0b28a1 | Microsoft.Compute/virtualMachines | Governance | Low | Ensure that your VMs are compliant with Azure Policies | Learn 452 | 122d11d7-b91f-8747-a562-f56b79bcfbdc | Microsoft.Compute/virtualMachines | HighAvailability | High | Use Managed Disks for VM disks | Learn 453 | 4a9d8973-6dba-0042-b3aa-07924877ebd5 | Microsoft.Compute/virtualMachines | MonitoringAndAlerting | Low | Configure monitoring for all Azure Virtual Machines | Learn 454 | b72214bb-e879-5f4b-b9cd-642db84f36f4 | Microsoft.Compute/virtualMachines | MonitoringAndAlerting | Low | Enable VM Insights | Learn 455 | 2bd0be95-a825-6f47-a8c6-3db1fb5eb387 | Microsoft.Compute/virtualMachines | HighAvailability | High | Deploy VMs across Availability Zones | Learn 456 | 41a22a5e-5e08-9647-92d0-2ffe9ef1bdad | Microsoft.Compute/virtualMachines | Security | Medium | IP Forwarding should only be enabled for Network Virtual Appliances | Learn 457 | a8d25876-7951-b646-b4e8-880c9031596b | Microsoft.Compute/virtualMachines | HighAvailability | High | Migrate VMs using availability sets to VMSS Flex | Learn 458 | 70b1d2be-e6c4-b54e-9959-b1b690f9e485 | Microsoft.Compute/virtualMachines | Security | Low | Network access to the VM disk should be set to Disable public access and enable private access | Learn 459 | 1f629a30-c9d0-d241-82ee-6f2eb9d42cb4 | Microsoft.Compute/virtualMachines | Security | Medium | VMs should not have a Public IP directly associated | Learn 460 | df0ff862-814d-45a3-95e4-4fad5a244ba6 | Microsoft.Compute/virtualMachines | Scalability | High | Mission Critical Workloads should consider using Premium or Ultra Disks | Learn 461 | 1cf8fe21-9593-1e4e-966b-779a294c0d30 | Microsoft.Compute/virtualMachines | OtherBestPractices | Low | Customer DNS Servers should be configured in the Virtual Network level | Learn 462 | 52ab9e5c-eec0-3148-8bd7-b6dd9e1be870 | Microsoft.Compute/virtualMachines | HighAvailability | High | Use maintenance configurations for the VMs | Learn 463 | 4ea2878f-0d69-8d4a-b715-afc10d1e538e | Microsoft.Compute/virtualMachines | Scalability | Low | Host database data on a data disk | Learn 464 | 302fda08-ee65-4fbe-a916-6dc0b33169c4 | Microsoft.Compute/virtualMachines | HighAvailability | High | Reserve Compute Capacity for critical workloads | Learn 465 | dfedbeb1-1519-fc47-86a5-52f96cf07105 | Microsoft.Compute/virtualMachines | Scalability | Medium | Enable Accelerated Networking (AccelNet) | Learn 466 | cfe22a65-b1db-fd41-9e8e-d573922709ae | Microsoft.Compute/virtualMachines | DisasterRecovery | Medium | Replicate VMs using Azure Site Recovery | Learn 467 | vmss-003 | Microsoft.Compute/virtualMachineScaleSets | HighAvailability | High | Virtual Machine should have a SLA | Learn 468 | vmss-004 | Microsoft.Compute/virtualMachineScaleSets | Governance | Low | Virtual Machine Scale Set Name should comply with naming conventions | Learn 469 | vmss-005 | Microsoft.Compute/virtualMachineScaleSets | Governance | Low | Virtual Machine Scale Set should have tags | Learn 470 | e7495e1c-0c75-0946-b266-b429b5c7f3bf | Microsoft.Compute/virtualMachineScaleSets | Scalability | Medium | Deploy VMSS with Flex orchestration mode instead of Uniform | Learn 471 | e4ffd7b0-ba24-c84e-9352-ba4819f908c0 | Microsoft.Compute/virtualMachineScaleSets | OtherBestPractices | Low | Set Patch orchestration options to Azure-orchestrated | Learn 472 | 94794d2a-eff0-2345-9b67-6f9349d0a627 | Microsoft.Compute/virtualMachineScaleSets | MonitoringAndAlerting | Medium | Enable Azure Virtual Machine Scale Set Application Health Monitoring | Learn 473 | 820f4743-1f94-e946-ae0b-45efafd87962 | Microsoft.Compute/virtualMachineScaleSets | HighAvailability | High | Enable Automatic Repair Policy on Azure Virtual Machine Scale Sets | Learn 474 | 3f85a51c-e286-9f44-b4dc-51d00768696c | Microsoft.Compute/virtualMachineScaleSets | Scalability | Low | Enable Predictive autoscale and configure at least for Forecast Only | Learn 475 | ee66ff65-9aa3-2345-93c1-25827cf79f44 | Microsoft.Compute/virtualMachineScaleSets | Scalability | High | Configure VMSS Autoscale to custom and configure the scaling metrics | Learn 476 | b5a63aa0-c58e-244f-b8a6-cbba0560a6db | Microsoft.Compute/virtualMachineScaleSets | HighAvailability | High | Disable Force strictly even balance across zones to avoid scale in and out fail attempts | Learn 477 | 1422c567-782c-7148-ac7c-5fc14cf45adc | Microsoft.Compute/virtualMachineScaleSets | HighAvailability | High | Deploy VMSS across availability zones with VMSS Flex | Learn 478 | vnet-001 | Microsoft.Network/virtualNetworks | MonitoringAndAlerting | Low | Virtual Network should have diagnostic settings enabled | Learn 479 | vnet-006 | Microsoft.Network/virtualNetworks | Governance | Low | Virtual Network Name should comply with naming conventions | Learn 480 | vnet-007 | Microsoft.Network/virtualNetworks | Governance | Low | Virtual Network should have tags | Learn 481 | vnet-009 | Microsoft.Network/virtualNetworks | HighAvailability | High | Virtual Network should have at least two DNS servers assigned | Learn 482 | f0bf9ae6-25a5-974d-87d5-025abec73539 | Microsoft.Network/virtualNetworks | Security | Low | All Subnets should have a Network Security Group associated | Learn 483 | 69ea1185-19b7-de40-9da1-9e8493547a5c | Microsoft.Network/virtualNetworks | Security | High | Shield public endpoints in Azure VNets with Azure DDoS Standard Protection Plans | Learn 484 | 24ae3773-cc2c-3649-88de-c9788e25b463 | Microsoft.Network/virtualNetworks | Security | Medium | When available, use Private Endpoints instead of Service Endpoints for PaaS Services | Learn 485 | 06b77be9-56a3-4d41-b362-8b295c5a283d | Microsoft.Network/virtualNetworks | MonitoringAndAlerting | Medium | Enable Virtual Network Flow Logs | Learn 486 | 3a4b5c6d-7e8f-9a0b-1c2d-3e4f5a6b7c8d | Microsoft.Network/virtualNetworks | Governance | Medium | Virtual Networks without subnets | Learn 487 | 4b5c6d7e-8f9a-0b1c-2d3e-4f5a6b7c8d9e | Microsoft.Network/virtualNetworks/subnets | Governance | Medium | Subnets without Connected Devices or Delegation | Learn 488 | vwa-001 | Microsoft.Network/virtualWans | MonitoringAndAlerting | Medium | Virtual WAN should have diagnostic settings enabled | Learn 489 | vwa-002 | Microsoft.Network/virtualWans | HighAvailability | High | Virtual WAN should have availability zones enabled | Learn 490 | vwa-003 | Microsoft.Network/virtualWans | HighAvailability | High | Virtual WAN should have a SLA | Learn 491 | vwa-005 | Microsoft.Network/virtualWans | HighAvailability | High | Virtual WAN Type | Learn 492 | vwa-006 | Microsoft.Network/virtualWans | Governance | Low | Virtual WAN Name should comply with naming conventions | Learn 493 | vwa-007 | Microsoft.Network/virtualWans | Governance | Low | Virtual WAN should have tags | Learn 494 | wps-001 | Microsoft.SignalRService/webPubSub | MonitoringAndAlerting | Low | Web Pub Sub should have diagnostic settings enabled | Learn 495 | wps-002 | Microsoft.SignalRService/webPubSub | HighAvailability | High | Web Pub Sub should have availability zones enabled | Learn 496 | wps-003 | Microsoft.SignalRService/webPubSub | HighAvailability | High | Web Pub Sub should have a SLA | Learn 497 | wps-004 | Microsoft.SignalRService/webPubSub | Security | High | Web Pub Sub should have private endpoints enabled | Learn 498 | wps-006 | Microsoft.SignalRService/webPubSub | Governance | Low | Web Pub Sub Name should comply with naming conventions | Learn 499 | wps-007 | Microsoft.SignalRService/webPubSub | Governance | Low | Web Pub Sub should have tags | Learn