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

Set-AzureRmSqlDatabaseAuditing

更改 Azure SQL 数据库的审核设置。

警告

截至 2024 年 2 月 29 日,AzureRM PowerShell 模块已正式弃用。 为了确保持续获得支持和更新,建议用户从 AzureRM 迁移到 Az PowerShell 模块。

尽管 AzureRM 模块仍可能正常运行,但它不再维护或受支持,但会根据用户的自由裁量权和风险继续使用任何继续使用模块。 有关过渡到 Az 模块的指导,请参阅我们的迁移资源

语法

Set-AzureRmSqlDatabaseAuditing
   -State <String>
   [-PassThru]
   [-AuditActionGroup <AuditActionGroups[]>]
   [-AuditAction <String[]>]
   [-StorageAccountName <String>]
   [-StorageKeyType <String>]
   [-RetentionInDays <UInt32>]
   [-PredicateExpression <String>]
   [-ServerName] <String>
   [-DatabaseName] <String>
   [-ResourceGroupName] <String>
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-AzureRmSqlDatabaseAuditing
   -State <String>
   [-PassThru]
   [-AuditActionGroup <AuditActionGroups[]>]
   [-AuditAction <String[]>]
   -StorageAccountName <String>
   [-StorageAccountSubscriptionId <Guid>]
   [-StorageKeyType <String>]
   [-RetentionInDays <UInt32>]
   [-PredicateExpression <String>]
   [-ServerName] <String>
   [-DatabaseName] <String>
   [-ResourceGroupName] <String>
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

说明

Set-AzureRmSqlDatabaseAuditing cmdlet 更改 Azure SQL 数据库的审核设置。 若要使用 cmdlet,请使用 ResourceGroupName、ServerNameDatabaseName 参数来标识数据库。 指定 存储AccountName 参数以指定审核日志的存储帐户和用于定义存储密钥的 存储KeyType 参数。 使用 State 参数启用/禁用策略。 还可以通过设置 RetentionInDays 参数的值来定义审核日志的保留期。 成功运行 cmdlet 后,将启用数据库的审核。 如果 cmdlet 成功并使用 PassThru 参数,则除了数据库标识符外,还会返回描述当前 Blob 审核策略的对象。 数据库标识符包括但不限于 ResourceGroupName、ServerNameDatabaseName

示例

示例 1:启用 Azure SQL 数据库的审核策略

PS C:\>Set-AzureRmSqlDatabaseAuditing -State Enabled -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -StorageAccountName "Storage22" -DatabaseName "Database01"

示例 2:禁用 Azure SQL 数据库的 Blob 审核策略

PS C:\>Set-AzureRmSqlDatabaseAuditing -State Disabled -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01"

示例 3:使用不同订阅中的存储帐户启用 Azure SQL 数据库的审核策略

PS C:\>Set-AzureRmSqlDatabaseAuditing -State Enabled -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -StorageAccountName "Storage22" -StorageAccountSubscriptionId "7fe3301d-31d3-4668-af5e-211a890ba6e3"

示例 4:启用 Azure SQL 数据库的扩展审核策略

PS C:\>Set-AzureRmSqlDatabaseAuditing -State Enabled -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -StorageAccountName "Storage22" -DatabaseName "Database01" -PredicateExpression "statement <> 'select 1'"

示例 5:删除 Azure SQL 数据库的扩展审核策略,并设置审核策略而不是它。

PS C:\>Set-AzureRmSqlDatabaseAuditing -State Enabled -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -StorageAccountName "Storage22" -DatabaseName "Database01" -PredicateExpression ""

参数

-AuditAction

审核操作集。 要审核的受支持操作包括:标准版LECT UPDATE IN标准版RT DELETE EXECUTE RECEIVE REFERENCES 定义要审核的操作的一般形式是:[action] ON [object] BY [principal] 请注意,采用上述格式的 [object] 可以引用表、视图或存储过程或整个数据库或架构等对象。 对于后一种情况,将分别使用 DATABA标准版::[dbname] 和 SCHEMA::[schemaname] 的形式。 例如:按 DATABA 上的公共 标准版LECT 在 dbo.myTable 上标准版LECT标准版::myDatabase by public 标准版LECT on SCHEMA::mySchema by public,有关详细信息,请参阅https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-actions

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-AuditActionGroup

建议使用的操作组集是以下组合 - 这将审核针对数据库执行的所有查询和存储过程,以及成功和失败的登录:“BATCH_COMPLETED_GROUP”、“SUCCESSFUL_DATABA标准版_AUTHENTICATION_GROUP”、“FAILED_DATABA标准版_AUTHENTICATION_GROUP”上述组合也是默认配置的集。 这些组涵盖针对数据库执行的所有 SQL 语句和存储过程,不应与其他组结合使用,因为这将导致重复的审核日志。 有关详细信息,请参阅 https://docs.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions#database-level-audit-action-groups

Type:AuditActionGroups[]
Accepted values:BATCH_STARTED_GROUP, BATCH_COMPLETED_GROUP, APPLICATION_ROLE_CHANGE_PASSWORD_GROUP, BACKUP_RESTORE_GROUP, DATABASE_LOGOUT_GROUP, DATABASE_OBJECT_CHANGE_GROUP, DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP, DATABASE_OBJECT_PERMISSION_CHANGE_GROUP, DATABASE_OPERATION_GROUP, AUDIT_CHANGE_GROUP, DATABASE_PERMISSION_CHANGE_GROUP, DATABASE_PRINCIPAL_CHANGE_GROUP, DATABASE_PRINCIPAL_IMPERSONATION_GROUP, DATABASE_ROLE_MEMBER_CHANGE_GROUP, FAILED_DATABASE_AUTHENTICATION_GROUP, SCHEMA_OBJECT_ACCESS_GROUP, SCHEMA_OBJECT_CHANGE_GROUP, SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP, SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP, SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP, USER_CHANGE_PASSWORD_GROUP
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Confirm

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

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DatabaseName

SQL 数据库名称。

Type:String
Position:2
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-DefaultProfile

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

Type:IAzureContextContainer
Aliases:AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PassThru

{{Fill PassThru Description}}

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PredicateExpression

用于筛选审核日志的 Where 子句的语句。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ResourceGroupName

资源组的名称。

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-RetentionInDays

审核日志的保留天数。

Type:Nullable<T>[UInt32]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ServerName

SQL 数据库服务器名称。

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-State

策略的状态。

Type:String
Accepted values:Enabled, Disabled
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-StorageAccountName

存储帐户的名称。 不允许使用通配符。 此参数不是必需的。 如果未指定此参数,cmdlet 将使用以前定义为审核策略的一部分的存储帐户。 如果这是首次定义审核策略,并且未指定此参数,则 cmdlet 将失败。

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-StorageAccountSubscriptionId

指定存储帐户订阅 ID

Type:Guid
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-StorageKeyType

指定要使用的存储访问密钥之一。

Type:String
Accepted values:Primary, Secondary
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

显示运行该 cmdlet 时会发生什么情况。 cmdlet 未运行。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False