你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Set-AzSqlDatabaseVulnerabilityAssessmentRuleBaseline

设置漏洞评估规则基线。

语法

Default (默认值)

Set-AzSqlDatabaseVulnerabilityAssessmentRuleBaseline
    [-ServerName] <String>
    [-DatabaseName] <String>
    [-InputObject <VulnerabilityAssessmentRuleBaselineModel>]
    -BaselineResult <String[][]>
    -RuleId <String>
    [-RuleAppliesToMaster]
    [-ResourceGroupName] <String>
    [-DefaultProfile <IAzureContextContainer>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

说明

Set-AzureRmSqlDatabaseVulnerabilityAssessmentRuleBaseline cmdlet 设置漏洞评估规则基线。 查看评估结果时,可以将特定结果标记为环境中可接受的基线。 基线其实就是自定义结果的报告方式。 与基线匹配的结果被视为传入后续扫描。 建立基线安全状态后,漏洞评估只会报告与基线的偏差,并且可以将注意力集中在相关问题上。 请注意,需要运行 Enable-AzSqlServerAdvancedDataSecurityUpdate-AzSqlServerVulnerabilityAssessmentSetting cmdlet 作为使用此 cmdlet 的先决条件。

示例

示例 1:设置漏洞评估规则基线

Set-AzSqlDatabaseVulnerabilityAssessmentRuleBaseline `
             -ResourceGroupName "ahmadtesting" `
             -ServerName "ahmadpilotserver" `
             -DatabaseName "AhmadPilotDb" `
             -BaselineResult @(,@('dbo', 'db_owner', 'SQL_USER', 'INSTANCE')) `
             -RuleID 'VA2108'

Rule ID Rule Applies To Master Baseline Results
------- ---------------------- ----------------
VA2108  False                  {dbo;db_owner;SQL_USER;INSTANCE}

$arrayList = [System.Collections.ArrayList]::new()
$arrayList.Add(@('dbo', 'db_owner', 'SQL_USER', 'INSTANCE'))

Set-AzSqlDatabaseVulnerabilityAssessmentRuleBaseline `
             -ResourceGroupName "demoresourcegroup" `
            -ServerName "demosqlser" `
            -DatabaseName "SQL_ERConnect" `
            -BaselineResult $arrayList `
            -RuleID 'VA2108'


Rule ID Rule Applies To Master Baseline Results
------- ---------------------- ----------------
VA2108  False                  {dbo;db_owner;SQL_USER;INSTANCE}

Set-AzSqlDatabaseVulnerabilityAssessmentRuleBaseline  `
			-ResourceGroupName "ResourceGroup01" `
			-ServerName "Server01"  `
			-DatabaseName "Database01"  `
			-RuleId "VA2108" `
			-RuleAppliesToMaster `
			-BaselineResult @( 'Principal1', 'db_ddladmin', 'SQL_USER', 'None')  , @( 'Principal2', 'db_ddladmin', 'SQL_USER', 'None')

ResourceGroupName		: ResourceGroup01
ServerName	        	: Server01
DatabaseName	    	: Database01
RuleId		        	: VA2108
RuleAppliesToMaster    	: True
BaselineResult		    : @( 'Principal1', 'db_ddladmin', 'SQL_USER', 'None')  , @( 'Principal2', 'db_ddladmin', 'SQL_USER', 'None')

BaselineResult 值是描述要添加到基线的 T-SQL 结果的多个子数组的组合。 请注意,使用一个结果使用逗号定义数组的特殊 PS 语法。 可以在 Set-AzSqlServerVulnerabilityAssessmentSettings cmdlet 定义的存储下找到扫描结果,在 scans/{ServerName}/{DatabaseName}/scan_{ScanId}.json

示例 2:从基线对象设置漏洞评估规则基线

Set-AzSqlDatabaseVulnerabilityAssessmentRuleBaseline `
            -ResourceGroupName "ResourceGroup01" `
            -ServerName "Server01" `
            -DatabaseName "Database01" `
            -RuleId "VA2108" `
            -BaselineResult @( 'Principal1', 'db_ddladmin', 'SQL_USER', 'None')  , @( 'Principal2', 'db_ddladmin', 'SQL_USER', 'None')

Get-AzSqlDatabaseVulnerabilityAssessmentRuleBaseline `
            -ResourceGroupName "ResourceGroup01" `
            -ServerName "Server01" `
            -DatabaseName "Database01" `
            -RuleId "VA2108" `
            |  Set-AzSqlDatabaseVulnerabilityAssessmentRuleBaseline `
                -ResourceGroupName "ResourceGroup02" `
                -ServerName "Server02" `
                -DatabaseName "Database02"
ResourceGroupName		: ResourceGroup02
ServerName	        	: Server02
DatabaseName	    	: Database02
RuleId		        	: VA2108
RuleAppliesToMaster    	: False
BaselineResult		    : @( 'Principal1', 'db_ddladmin', 'SQL_USER', 'None')  , @( 'Principal2', 'db_ddladmin', 'SQL_USER', 'None')

示例 3:在服务器下的所有数据库上设置漏洞评估规则基线

Get-AzSqlDatabase -ResourceGroupName "ResourceGroup01" `
            -ServerName "Server01" `
            | Where-Object {$_.DatabaseName -ne "master"}  `
            | Set-AzSqlDatabaseVulnerabilityAssessmentRuleBaseline `
                -RuleId "VA2108" `
                -BaselineResult @( 'Principal1', 'db_ddladmin', 'SQL_USER', 'None')  , @( 'Principal2', 'db_ddladmin', 'SQL_USER', 'None')
ResourceGroupName		: ResourceGroup01
ServerName	        	: Server01
DatabaseName	    	: Database01
RuleId		        	: VA2108
RuleAppliesToMaster    	: False
BaselineResult		    : @( 'Principal1', 'db_ddladmin', 'SQL_USER', 'None')  , @( 'Principal2', 'db_ddladmin', 'SQL_USER', 'None')

ResourceGroupName		: ResourceGroup01
ServerName	        	: Server01
DatabaseName	    	: Database02
RuleId		        	: VA2108
RuleAppliesToMaster    	: False
BaselineResult		    : @( 'Principal1', 'db_ddladmin', 'SQL_USER', 'None')  , @( 'Principal2', 'db_ddladmin', 'SQL_USER', 'None')

参数

-BaselineResult

在将来的所有扫描中将规则设置为基线的结果

参数属性

类型:

String[][]

默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:True
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False

-Confirm

在运行 cmdlet 之前,提示你进行确认。

参数属性

类型:SwitchParameter
默认值:None
支持通配符:False
不显示:False
别名:cf

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-DatabaseName

SQL 数据库名称。

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:2
必需:True
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False

-DefaultProfile

用于与 Azure 通信的凭据、帐户、租户和订阅。

参数属性

类型:IAzureContextContainer
默认值:None
支持通配符:False
不显示:False
别名:AzContext, AzureRmContext, AzureCredential

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-InputObject

要设置的漏洞评估规则基线对象

参数属性

类型:VulnerabilityAssessmentRuleBaselineModel
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:True
来自管道的值(按属性名称):False
来自剩余参数的值:False

-ResourceGroupName

资源组的名称。

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:0
必需:True
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False

-RuleAppliesToMaster

指定基线应应用于 master 数据库。 仅当数据库级别设置指定与服务器级别设置中指定的存储帐户不同时,才需要这样做。

参数属性

类型:SwitchParameter
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False

-RuleId

用于标识要设置基线结果的规则的规则 ID。

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:True
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False

-ServerName

SQL 数据库服务器名称。

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:1
必需:True
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False

-WhatIf

显示 cmdlet 运行时会发生什么情况。 命令脚本未运行。

参数属性

类型:SwitchParameter
默认值:None
支持通配符:False
不显示:False
别名:无线

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

CommonParameters

此 cmdlet 支持通用参数:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 有关详细信息,请参阅 about_CommonParameters

输入

String

VulnerabilityAssessmentRuleBaselineModel

String

SwitchParameter

输出

DatabaseVulnerabilityAssessmentRuleBaselineModel