Description:
Azure SQL Vulnerability Assessment scans SQL servers and their databases for security risks, configuration issues, and deviations from best practices. For VA to function correctly, it must be enabled and must have a valid Storage Account assigned to store scan results and assessment reports. This control ensures that VA is enabled and the SQL Server has an associated Storage Account so that assessments can run successfully.
Rationale:
This control verifies that the SQL Server has VA enabled and that a Storage Account has been configured to store scan results, baseline files, and assessment logs. Without a configured Storage Account, Vulnerability Assessment cannot run, and the SQL Server is considered non-compliant. Storing scan results enables auditing, compliance tracking, and long-term visibility into SQL security posture.
Impact:
Improves SQL security posture by identifying risks early.
Provides automated vulnerability scans for all SQL databases.
Supports audit requirements with stored reports and baselines.
Reduces chances of data breaches caused by misconfigured SQL assets.
Default Value:
Vulnerability Assessment is not enabled by default, and no Storage Account is assigned automatically. Azure Defender for SQL does not configure VA storage settings without manual setup.
Pre-Requisites:
A Storage Account in the same region or globally accessible.
Permissions:
Microsoft.Sql/servers/vulnerabilityAssessments/write
Microsoft.Storage/storageAccounts/read
If using Defender for SQL, the Defender plan must be set to Standard (recommended but optional).
Test Plan:
Sign in to the Azure Portal at https://portal.azure.com
Search for and open Azure SQL Server
Select the target SQL Server
From the left menu, under security, select Microsoft Defender for Cloud
Verify Microsoft Defender for SQL is enabled
Select Vulnerability assessment
Verify that a Storage account is configured to store Vulnerability Assessment results
Confirm Vulnerability Assessment status is Enabled
If Vulnerability Assessment is not enabled or no storage account is configured, follow the implementation steps
Implementation Steps:
Sign in to the Azure Portal at https://portal.azure.com
Search for and open Azure SQL Server
Select the target SQL Server
From the left menu, under settings, open Microsoft Defender for Cloud
Set Microsoft Defender for SQL to be enabled
Select Vulnerability assessment
Choose an existing Storage account or create a new one to store vulnerability assessment results
Save the configuration to enable Vulnerability Assessment
Backout Plan:
Sign in to the Azure Portal
Search for and open Azure SQL Server
Select the target SQL Server
Open Microsoft Defender for Cloud or Microsoft Defender for SQL
Select Vulnerability assessment
Disable Vulnerability Assessment or remove the configured Storage account
Save the changes
Reference:
https://learn.microsoft.com/azure/azure-sql/database/sql-vulnerability-assessment
https://learn.microsoft.com/azure/defender-for-cloud/defender-for-sql-introduction
https://learn.microsoft.com/azure/security-benchmark/azure-security-benchmark-sql
https://learn.microsoft.com/azure/governance/policy/samples/cis-azure-1-3-0


