Set-AzSqlDatabaseVulnerabilityAssessmentRuleBaseline
Define a linha de base da regra de avaliação de vulnerabilidade.
Sintaxe
Set-AzSqlDatabaseVulnerabilityAssessmentRuleBaseline
[-ServerName] <String>
[-DatabaseName] <String>
[-InputObject <VulnerabilityAssessmentRuleBaselineModel>]
-BaselineResult <String[][]>
-RuleId <String>
[-RuleAppliesToMaster]
[-ResourceGroupName] <String>
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
O cmdlet Set-AzureRmSqlDatabaseVulnerabilityAssessmentRuleBaseline define a linha de base da regra de avaliação de vulnerabilidade. Ao analisar os resultados da avaliação, você pode marcar resultados específicos como sendo uma linha de base aceitável em seu ambiente. A linha de base é basicamente uma personalização da forma como os resultados são comunicados. Os resultados que correspondem à linha de base são considerados como transmitidos nas análises subsequentes. Depois de estabelecer seu estado de segurança de linha de base, a avaliação de vulnerabilidade relata apenas desvios da linha de base, e você pode concentrar sua atenção nos problemas relevantes. Observe que você precisa executar o cmdlet Enable-AzSqlServerAdvancedDataSecurity e Update-AzSqlServerVulnerabilityAssessmentSetting como pré-requisito para usar esses cmdlets.
Exemplos
Exemplo 1: Definir uma linha de base de regra de avaliação de vulnerabilidade
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')
O valor BaselineResult é uma composição de várias submatrizes que descreveram os resultados do T-SQL que serão adicionados à linha de base.
Observe a sintaxe PS especial para definir matrizes de matrizes com um resultado usando uma vírgula de abertura.
Você pode encontrar os resultados da verificação no armazenamento definido pelo cmdlet Set-AzSqlServerVulnerabilityAssessmentSettings, em scans/{ServerName}/{DatabaseName}/scan_{ScanId}.json
Exemplo 2: Definir uma linha de base de regra de avaliação de vulnerabilidade a partir de um objeto de linha de base
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')
Exemplo 3: Definir uma linha de base de regra de avaliação de vulnerabilidade em todos os bancos de dados em um servidor
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')
Parâmetros
-BaselineResult
Os resultados a serem definidos como linha de base para a regra em todas as verificações futuras
Tipo: | String[][] |
Position: | Named |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | False |
-Confirm
Solicita a sua confirmação antes de executar o cmdlet.
Tipo: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-DatabaseName
Nome do Banco de Dados SQL.
Tipo: | String |
Position: | 2 |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | False |
-DefaultProfile
As credenciais, a conta, o locatário e a assinatura usados para comunicação com o Azure.
Tipo: | IAzureContextContainer |
Aliases: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-InputObject
O objeto de linha de base da regra de Avaliação de Vulnerabilidade a ser definido
Tipo: | VulnerabilityAssessmentRuleBaselineModel |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | False |
-ResourceGroupName
O nome do grupo de recursos.
Tipo: | String |
Position: | 0 |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | False |
-RuleAppliesToMaster
Especifica que a linha de base deve ser aplicada ao banco de dados mestre. Isso é necessário somente quando as configurações no nível do banco de dados especificam uma conta de armazenamento diferente da especificada nas configurações no nível do servidor.
Tipo: | SwitchParameter |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | False |
-RuleId
A ID da regra que identifica a regra para definir os resultados da linha de base.
Tipo: | String |
Position: | Named |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | False |
-ServerName
Nome do servidor do Banco de dados SQL.
Tipo: | String |
Position: | 1 |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | False |
-WhatIf
Apresenta o que aconteceria mediante a execução do cmdlet. O cmdlet não é executado.
Tipo: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
Entradas
VulnerabilityAssessmentRuleBaselineModel
String[][]
Saídas
Azure PowerShell