Set-AzSqlDatabaseVulnerabilityAssessmentRuleBaseline
Устанавливает базовое правило для оценки уязвимости.
Синтаксис
Set-AzSqlDatabaseVulnerabilityAssessmentRuleBaseline
[-ServerName] <String>
[-DatabaseName] <String>
[-InputObject <VulnerabilityAssessmentRuleBaselineModel>]
-BaselineResult <String[][]>
-RuleId <String>
[-RuleAppliesToMaster]
[-ResourceGroupName] <String>
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Описание
Командлет Set-AzureRmSqlDatabaseVulnerabilityAssessmentRuleBaseline задает базовый план правила оценки уязвимостей. При просмотре результатов оценки можно пометить определенные результаты как допустимые базовые показатели в своей среде. Базовые показатели — важные параметры, влияющие на содержимое отчета о проверке. При следующих проверках результаты, которые соответствуют базовым показателям, будут рассматриваться как прошедшие проверку. После того как вы установили базовое состояние безопасности, оценка уязвимостей сообщает только о отклонениях от базового плана, и вы можете сосредоточить внимание на соответствующих проблемах. Обратите внимание, что необходимо запустить командлет Enable-AzSqlServerAdvancedDataSecurity и Update-AzSqlServerVulnerabilityAssessmentSetting в качестве обязательного условия для использования этих командлетов.
Примеры
Пример 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')
Базовое значениеResult — это состав нескольких вложенных массивов, описывающих результаты T-SQL, которые будут добавлены в базовый план.
Обратите внимание на специальный синтаксис PS для определения массива массивов с одним результатом с помощью открывающей запятой.
Результаты сканирования можно найти в хранилище, определенное командлетом Set-AzSqlServerVulnerabilityAssessmentSettings, в разделе "Сканы/{Имя_сервера}/{Имя_базы данных}/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[][] |
Position: | Named |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-Confirm
Запрос подтверждения перед выполнением командлета.
Тип: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-DatabaseName
База данных SQL имя.
Тип: | String |
Position: | 2 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-DefaultProfile
Учетные данные, учетная запись, клиент и подписка, используемые для взаимодействия с Azure.
Тип: | IAzureContextContainer |
Aliases: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-InputObject
Базовый объект правила оценки уязвимостей для задания
Тип: | VulnerabilityAssessmentRuleBaselineModel |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-ResourceGroupName
Имя группы ресурсов.
Тип: | String |
Position: | 0 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-RuleAppliesToMaster
Указывает, что базовые показатели должны применяться к базе данных master. Это необходимо только в том случае, если параметры уровня базы данных указывают учетную запись хранения, отличную от учетной записи хранения, указанной в параметрах уровня сервера.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-RuleId
Идентификатор правила, определяющий правило для задания базовых результатов.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-ServerName
База данных SQL имя сервера.
Тип: | String |
Position: | 1 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-WhatIf
Показывает, что произойдет при запуске командлета. Командлет не выполняется.
Тип: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Входные данные
VulnerabilityAssessmentRuleBaselineModel
String[][]