Skip to content

Commit f08ec1f

Browse files
GalGoldi72Copilot
andcommitted
[Security] az security va sql: Migrate to aaz with API 2026-04-01-preview
[BREAKING CHANGE] Replace hand-authored SQL Vulnerability Assessment commands with atomic aaz-generated commands. - Single --resource-id replaces 7-arg combo (--vm-resource-id, --workspace-id, --server-name, --database-name, --vm-name, --agent-id, --vm-uuid). - New 'security va sql {create, delete, show, update}' settings commands. - New 'security va sql baseline {add, create, update}' (replaces 'set'). - New 'security va sql scans initiate-scan' + 'scan-operation-result show'. - All commands tagged Preview. Supported scopes: Azure SQL Server, Azure SQL MI, Synapse, Azure VM (SQL on VM), Arc-enabled SQL Server. Companion aaz PR: Azure/aaz#1021 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 8e90407 commit f08ec1f

37 files changed

Lines changed: 4312 additions & 799 deletions

src/azure-cli/HISTORY.rst

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,14 @@ Release History
9292
* [BREAKING CHANGE] `az postgres flexible-server backup/db/firewall-rule/long-term-retention/migration/replica create`: Make consistent use of `--name` and `--server-name` across all commands (#33343)
9393
* [BREAKING CHANGE] `az postgres flexible-server long-term-retention`: Remove support for command group (#33345)
9494

95+
**Security**
96+
97+
* `az security va sql`: [BREAKING CHANGE] Replaced hand-authored SQL Vulnerability Assessment commands with atomic aaz-generated commands targeting API version `2026-04-01-preview`. A single `--resource-id` argument now identifies the assessed resource, replacing the previous combination of `--vm-resource-id`, `--workspace-id`, `--server-name`, `--database-name`, `--vm-name`, `--agent-id`, and `--vm-uuid`. Optional `--database-name` is used only for server-level scopes (e.g. `master`). Supported scopes include Azure SQL Server, Azure SQL Managed Instance, Synapse, Azure VM (SQL on VM), and Arc-enabled SQL servers.
98+
* `az security va sql`: Add new SQL Vulnerability Assessment settings commands: `create`, `delete`, `show`, `update` for enabling/disabling SQL VA on a resource.
99+
* `az security va sql baseline`: Add `add` (set baseline for all rules), `create` (single-rule baseline), and `update` commands. Remove `set` command (use `add` instead).
100+
* `az security va sql scans`: Add `initiate-scan` command to trigger a vulnerability assessment scan, and `scan-operation-result show` to poll the operation result.
101+
* `az security va sql`: All commands are tagged Preview, matching the underlying API version.
102+
95103
**Storage**
96104

97105
* `az storage account create/update`: Support new value `Smart` for `--access-tier` (#33423)

src/azure-cli/azure/cli/command_modules/security/_client_factory.py

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -63,18 +63,6 @@ def cf_security_advanced_threat_protection(cli_ctx, _):
6363
return _cf_security(cli_ctx).advanced_threat_protection
6464

6565

66-
def cf_sql_vulnerability_assessment_scans(cli_ctx, _):
67-
return _cf_security(cli_ctx).sql_vulnerability_assessment_scans
68-
69-
70-
def cf_sql_vulnerability_assessment_results(cli_ctx, _):
71-
return _cf_security(cli_ctx).sql_vulnerability_assessment_scan_results
72-
73-
74-
def cf_sql_vulnerability_assessment_baseline(cli_ctx, _):
75-
return _cf_security(cli_ctx).sql_vulnerability_assessment_baseline_rules
76-
77-
7866
def cf_security_assessment(cli_ctx, _):
7967
return _cf_security(cli_ctx).assessments
8068

src/azure-cli/azure/cli/command_modules/security/_help.py

Lines changed: 0 additions & 145 deletions
Original file line numberDiff line numberDiff line change
@@ -187,151 +187,6 @@
187187
az security atp cosmosdb update --resource-group MyResourceGroup --cosmosdb-account MyCosmosDbAccount --is-enabled false
188188
"""
189189

190-
helps['security va'] = """
191-
type: group
192-
short-summary: View Vulnerability Assessment.
193-
"""
194-
195-
helps['security va sql'] = """
196-
type: group
197-
short-summary: View Sql Vulnerability Assessment scan results and manage baseline.
198-
"""
199-
200-
helps['security va sql scans'] = """
201-
type: group
202-
short-summary: View Sql Vulnerability Assessment scan summaries.
203-
"""
204-
205-
helps['security va sql scans show'] = """
206-
type: command
207-
short-summary: View Sql Vulnerability Assessment scan summaries.
208-
examples:
209-
- name: View Sql Vulnerability Assessment scan summary on an Azure virtual machine.
210-
text: >
211-
az security va sql scans show --vm-resource-id subscriptions/MySubscription/ResourceGroups/MyResourceGroup/Providers/Microsoft.Compute/VirtualMachines/MyVmName --workspace-id 00000000-0000-0000-0000-000000000000 --server-name MyServerName --database-name MyDbName --scan-id MyScanId
212-
- name: View Sql Vulnerability Assessment scan summary on an On-Premise machine.
213-
text: >
214-
az security va sql scans show --vm-resource-id subscriptions/MySubscription/ResourceGroups/MyResourceGroup/Providers/Microsoft.OperationalInsights/Workspaces/MyWorkspaceName --workspace-id 00000000-0000-0000-0000-000000000000 --server-name MyServerName --database-name MyDbName --vm-name MyVmName --agent-id MyAgentId --vm-uuid MyVmUUID --scan-id MyScanId
215-
"""
216-
217-
helps['security va sql scans list'] = """
218-
type: command
219-
short-summary: List all Sql Vulnerability Assessment scan summaries.
220-
examples:
221-
- name: List all Sql Vulnerability Assessment scan summaries on an Azure virtual machine.
222-
text: >
223-
az security va sql scans list --vm-resource-id subscriptions/MySubscription/ResourceGroups/MyResourceGroup/Providers/Microsoft.Compute/VirtualMachines/MyVmName --workspace-id 00000000-0000-0000-0000-000000000000 --server-name MyServerName --database-name MyDbName
224-
- name: List all Sql Vulnerability Assessment scan summaries on an On-Premise machine.
225-
text: >
226-
az security va sql scans list --vm-resource-id subscriptions/MySubscription/ResourceGroups/MyResourceGroup/Providers/Microsoft.OperationalInsights/Workspaces/MyWorkspaceName --workspace-id 00000000-0000-0000-0000-000000000000 --server-name MyServerName --database-name MyDbName --vm-name MyVmName --agent-id MyAgentId --vm-uuid MyVmUUID
227-
"""
228-
229-
helps['security va sql results'] = """
230-
type: group
231-
short-summary: View Sql Vulnerability Assessment scan results.
232-
"""
233-
234-
helps['security va sql results show'] = """
235-
type: command
236-
short-summary: View Sql Vulnerability Assessment scan results.
237-
examples:
238-
- name: View Sql Vulnerability Assessment scan results on an Azure virtual machine.
239-
text: >
240-
az security va sql results show --vm-resource-id subscriptions/MySubscription/ResourceGroups/MyResourceGroup/Providers/Microsoft.Compute/VirtualMachines/MyVmName --workspace-id 00000000-0000-0000-0000-000000000000 --server-name MyServerName --database-name MyDbName --scan-id MyScanId --rule-id VA9999
241-
- name: View Sql Vulnerability Assessment scan results on an On-Premise machine.
242-
text: >
243-
az security va sql results show --vm-resource-id subscriptions/MySubscription/ResourceGroups/MyResourceGroup/Providers/Microsoft.OperationalInsights/Workspaces/MyWorkspaceName --workspace-id 00000000-0000-0000-0000-000000000000 --server-name MyServerName --database-name MyDbName --vm-name MyVmName --agent-id MyAgentId --vm-uuid MyVmUUID --scan-id MyScanId --rule-id VA9999
244-
"""
245-
246-
helps['security va sql results list'] = """
247-
type: command
248-
short-summary: View all Sql Vulnerability Assessment scan results.
249-
examples:
250-
- name: View all Sql Vulnerability Assessment scan results on an Azure virtual machine.
251-
text: >
252-
az security va sql results list --vm-resource-id subscriptions/MySubscription/ResourceGroups/MyResourceGroup/Providers/Microsoft.Compute/VirtualMachines/MyVmName --workspace-id 00000000-0000-0000-0000-000000000000 --server-name MyServerName --database-name MyDbName --scan-id MyScanId
253-
- name: View all Sql Vulnerability Assessment scan results on an On-Premise machine.
254-
text: >
255-
az security va sql results list --vm-resource-id subscriptions/MySubscription/ResourceGroups/MyResourceGroup/Providers/Microsoft.OperationalInsights/Workspaces/MyWorkspaceName --workspace-id 00000000-0000-0000-0000-000000000000 --server-name MyServerName --database-name MyDbName --vm-name MyVmName --agent-id MyAgentId --vm-uuid MyVmUUID --scan-id MyScanId
256-
"""
257-
258-
helps['security va sql baseline'] = """
259-
type: group
260-
short-summary: View and manage Sql Vulnerability Assessment baseline.
261-
"""
262-
263-
helps['security va sql baseline show'] = """
264-
type: command
265-
short-summary: View Sql Vulnerability Assessment rule baseline.
266-
examples:
267-
- name: View Sql Vulnerability Assessment rule baseline on an Azure virtual machine.
268-
text: >
269-
az security va sql baseline show --vm-resource-id subscriptions/MySubscription/ResourceGroups/MyResourceGroup/Providers/Microsoft.Compute/VirtualMachines/MyVmName --workspace-id 00000000-0000-0000-0000-000000000000 --server-name MyServerName --database-name MyDbName --rule-id VA9999
270-
- name: View Sql Vulnerability Assessment rule baseline on an On-Premise machine.
271-
text: >
272-
az security va sql baseline show --vm-resource-id subscriptions/MySubscription/ResourceGroups/MyResourceGroup/Providers/Microsoft.OperationalInsights/Workspaces/MyWorkspaceName --workspace-id 00000000-0000-0000-0000-000000000000 --server-name MyServerName --database-name MyDbName --vm-name MyVmName --agent-id MyAgentId --vm-uuid MyVmUUID --rule-id VA9999
273-
"""
274-
275-
helps['security va sql baseline list'] = """
276-
type: command
277-
short-summary: View Sql Vulnerability Assessment baseline for all rules.
278-
examples:
279-
- name: View Sql Vulnerability Assessment baseline for all rules on an Azure virtual machine.
280-
text: >
281-
az security va sql baseline list --vm-resource-id subscriptions/MySubscription/ResourceGroups/MyResourceGroup/Providers/Microsoft.Compute/VirtualMachines/MyVmName --workspace-id 00000000-0000-0000-0000-000000000000 --server-name MyServerName --database-name MyDbName
282-
- name: View Sql Vulnerability Assessment baseline for all rules on an On-Premise machine.
283-
text: >
284-
az security va sql baseline list --vm-resource-id subscriptions/MySubscription/ResourceGroups/MyResourceGroup/Providers/Microsoft.OperationalInsights/Workspaces/MyWorkspaceName --workspace-id 00000000-0000-0000-0000-000000000000 --server-name MyServerName --database-name MyDbName --vm-name MyVmName --agent-id MyAgentId --vm-uuid MyVmUUID
285-
"""
286-
287-
helps['security va sql baseline delete'] = """
288-
type: command
289-
short-summary: Delete Sql Vulnerability Assessment rule baseline.
290-
examples:
291-
- name: Delete Sql Vulnerability Assessment rule baseline on an Azure virtual machine.
292-
text: >
293-
az security va sql baseline delete --vm-resource-id subscriptions/MySubscription/ResourceGroups/MyResourceGroup/Providers/Microsoft.Compute/VirtualMachines/MyVmName --workspace-id 00000000-0000-0000-0000-000000000000 --server-name MyServerName --database-name MyDbName --rule-id VA9999
294-
- name: Delete Sql Vulnerability Assessment rule baseline on an On-Premise machine.
295-
text: >
296-
az security va sql baseline delete --vm-resource-id subscriptions/MySubscription/ResourceGroups/MyResourceGroup/Providers/Microsoft.OperationalInsights/Workspaces/MyWorkspaceName --workspace-id 00000000-0000-0000-0000-000000000000 --server-name MyServerName --database-name MyDbName --vm-name MyVmName --agent-id MyAgentId --vm-uuid MyVmUUID --rule-id VA9999
297-
"""
298-
299-
helps['security va sql baseline update'] = """
300-
type: command
301-
short-summary: Update Sql Vulnerability Assessment rule baseline. Replaces the current rule baseline.
302-
examples:
303-
- name: Update Sql Vulnerability Assessment rule baseline on an Azure virtual machine. Replaces the current rule baseline with latest scan results.
304-
text: >
305-
az security va sql baseline update --vm-resource-id subscriptions/MySubscription/ResourceGroups/MyResourceGroup/Providers/Microsoft.Compute/VirtualMachines/MyVmName --workspace-id 00000000-0000-0000-0000-000000000000 --server-name MyServerName --database-name MyDbName --rule-id VA9999 --latest
306-
- name: Update Sql Vulnerability Assessment rule baseline on an Azure virtual machine. Replaces the current rule baseline with provided results.
307-
text: >
308-
az security va sql baseline update --vm-resource-id subscriptions/MySubscription/ResourceGroups/MyResourceGroup/Providers/Microsoft.Compute/VirtualMachines/MyVmName --workspace-id 00000000-0000-0000-0000-000000000000 --server-name MyServerName --database-name MyDbName --rule-id VA9999 --baseline Line1_Col1 Line1_Col2 --baseline Line2_Col1 Line2_Col2
309-
- name: Update Sql Vulnerability Assessment rule baseline on an On-Premise machine. Replaces the current rule baseline with latest scan results.
310-
text: >
311-
az security va sql baseline update --vm-resource-id subscriptions/MySubscription/ResourceGroups/MyResourceGroup/Providers/Microsoft.OperationalInsights/Workspaces/MyWorkspaceName --workspace-id 00000000-0000-0000-0000-000000000000 --server-name MyServerName --database-name MyDbName --vm-name MyVmName --agent-id MyAgentId --vm-uuid MyVmUUID --rule-id VA9999 --latest
312-
- name: Update Sql Vulnerability Assessment rule baseline on an On-Premise machine. Replaces the current rule baseline with provided results.
313-
text: >
314-
az security va sql baseline update --vm-resource-id subscriptions/MySubscription/ResourceGroups/MyResourceGroup/Providers/Microsoft.OperationalInsights/Workspaces/MyWorkspaceName --workspace-id 00000000-0000-0000-0000-000000000000 --server-name MyServerName --database-name MyDbName --vm-name MyVmName --agent-id MyAgentId --vm-uuid MyVmUUID --rule-id VA9999 --baseline Line1_Col1 Line1_Col2 --baseline Line2_Col1 Line2_Col2
315-
"""
316-
317-
helps['security va sql baseline set'] = """
318-
type: command
319-
short-summary: Sets Sql Vulnerability Assessment baseline. Replaces the current baseline.
320-
examples:
321-
- name: Sets Sql Vulnerability Assessment baseline on an Azure virtual machine. Replaces the current baseline with latest scan results.
322-
text: >
323-
az security va sql baseline set --vm-resource-id subscriptions/MySubscription/ResourceGroups/MyResourceGroup/Providers/Microsoft.Compute/VirtualMachines/MyVmName --workspace-id 00000000-0000-0000-0000-000000000000 --server-name MyServerName --database-name MyDbName --latest
324-
- name: Sets Sql Vulnerability Assessment baseline on an Azure virtual machine. Replaces the current baseline with provided results.
325-
text: >
326-
az security va sql baseline set --vm-resource-id subscriptions/MySubscription/ResourceGroups/MyResourceGroup/Providers/Microsoft.Compute/VirtualMachines/MyVmName --workspace-id 00000000-0000-0000-0000-000000000000 --server-name MyServerName --database-name MyDbName --baseline rule=VA9999 Line1_col1 Line1_col2 Line1_col3 --baseline rule=VA8888 Line1_col1 Line1_col2 --baseline rule=VA9999 Line2_col1 Line2_col2 Line2_col3
327-
- name: Sets Sql Vulnerability Assessment baseline on an On-Premise machine. Replaces the current baseline with latest scan results.
328-
text: >
329-
az security va sql baseline set --vm-resource-id subscriptions/MySubscription/ResourceGroups/MyResourceGroup/Providers/Microsoft.OperationalInsights/Workspaces/MyWorkspaceName --workspace-id 00000000-0000-0000-0000-000000000000 --server-name MyServerName --database-name MyDbName --vm-name MyVmName --agent-id MyAgentId --vm-uuid MyVmUUID --latest
330-
- name: Sets Sql Vulnerability Assessment baseline on an On-Premise machine. Replaces the current baseline with provided results.
331-
text: >
332-
az security va sql baseline set --vm-resource-id subscriptions/MySubscription/ResourceGroups/MyResourceGroup/Providers/Microsoft.OperationalInsights/Workspaces/MyWorkspaceName --workspace-id 00000000-0000-0000-0000-000000000000 --server-name MyServerName --database-name MyDbName --vm-name MyVmName --agent-id MyAgentId --vm-uuid MyVmUUID --baseline rule=VA9999 Line1_col1 Line1_col2 Line1_col3 --baseline rule=VA8888 Line1_col1 Line1_col2 --baseline rule=VA9999 Line2_col1 Line2_col2 Line2_col3
333-
"""
334-
335190
helps['security auto-provisioning-setting'] = """
336191
type: group
337192
short-summary: View your auto provisioning settings.

0 commit comments

Comments
 (0)