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