【问题标题】:Azure SQL database auditing for DML & DDL oprations用于 DML 和 DDL 操作的 Azure SQL 数据库审核
【发布时间】:2019-03-31 02:03:18
【问题描述】:

出于安全目的,我们启用了审核的 Azure SQL 数据库。客户安全团队向我们询问了 Azure 数据库中的信息列表。

1.查看或创建所有新创建/修改/删除记录的报告 2.查看或创建包含所有已删除记录内容的报告 3.查看或创建对给定记录的所有更改的报告 4.查看或创建所有用户访问配置文件的报告 5.查看或创建特定时间段内所有用户ID登录和注销时间的报告 6.查看或创建特定时期内系统活动的用户 ID 的功能使用报告,例如列出用户在某一天访问每种类型的系统活动(报告、查询、加入等)的次数 7.按系统活动查看或创建特定时期内用户访问的报告,例如对于每个系统活动(报告、查询、加入等),列出在特定日期访问的每个用户 8.查看或创建用户查询的报告”

当然,我们可以从审计日志中得知对数据库进行了哪些操作以及进行了何种操作。但是我们不会得到确切的数据更改,例如插入的行/更新的数据以及更新之前和之后的数据/用户删除的确切内容。

已尝试的解决方案:我们尝试了用于 azure sql db 更改跟踪的时间故事。它为我们提供了 DML 操作的更改数据,但不提供 DDL 操作是否完成,例如更改列名/删除列/添加列等。

SQL 专家可以帮忙。

提前致谢!

【问题讨论】:

    标签: azure-sql-database


    【解决方案1】:

    DDL Triggers 可以真正帮助您跟踪 Azure SQL 数据库上的架构更改。下面是一个例子:

    CREATE TRIGGER safety   
    ON DATABASE   
    FOR DROP_TABLE, ALTER_TABLE   
    AS   
       PRINT 'Save change on a log'   
       SELECT EVENTDATA().value('(/EVENT_INSTANCE/TSQLCommand/CommandText)[1]','nvarchar(max)');
    

    数据库审计有助于架构更改和删除对象。下面是一个例子:

    Set-AzureRmSqlDatabaseAuditing `
     -State Enabled `
     -ResourceGroupName "resourcegroupname" `
     -ServerName "ssqlinstancename" `  #ssqlinstancename.database.windows.net
     -StorageAccountName "strageaccountname" `
     -DatabaseName "dbname" `
     -AuditActionGroup 'SCHEMA_OBJECT_CHANGE_GROUP' `
     -RetentionInDays 8 `
     -AuditAction "DELETE ON schema::dbo BY [public]" 
    

    对于 DML 操作,您提到您找到了使用临时表的解决方案,但数据库审计也可以提供帮助:

    Set-AzureRmSqlDatabaseAuditing -ResourceGroupName "resourceGroup"
     -ServerName "SQL Server Name" -DatabaseName "AdventureWorksLT"  
     -StorageAccountName "storageAccount" 
    -AuditActionGroup "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP", "FAILED_DATABASE_AUTHENTICATION_GROUP", "BATCH_COMPLETED_GROUP" 
     -AuditAction "UPDATE ON database::[AdventureWorksLT] BY [public]"  
     -RetentionInDays 60
    

    关于审核数据库登录和数据库连接,请阅读this 文章。

    【讨论】:

    • 谢谢 Alberto... 我会测试这些并在遇到任何问题时联系我们...非常感谢..
    猜你喜欢
    • 1970-01-01
    • 2011-05-07
    • 2019-11-29
    • 1970-01-01
    • 2015-12-18
    • 2011-05-16
    • 2022-01-16
    • 2016-05-08
    • 2018-12-14
    相关资源
    最近更新 更多