【问题标题】:How to filter Azure Auditing如何筛选 Azure 审核
【发布时间】:2026-01-13 08:05:01
【问题描述】:

我在 Azure SQL 数据库中启用了 Azure 审计,审计正在捕获数据库中的所有活动并将其存储在存储帐户中。 我的问题是,是否可以配置 Azure 审核并筛选要在审核中捕获和不捕获的内容?

默认情况下,它正在捕获 DDL、DML、安全角色等,这是工具很多信息,只想捕获安全角色更改,所以我在哪里过滤审计捕获,因为我不想在之后过滤数据捕获。

谢谢

【问题讨论】:

    标签: azure azure-sql-database audit


    【解决方案1】:

    恐怕答案是否定的,没有办法配置 Azure 审计并过滤审计中要捕获和不捕获的内容。

    Azure SQL 数据库审核不提供自定义审核活动的方法。

    HTH。

    【讨论】:

    • 谢谢leon-yue
    • @Flock,不客气!如果我的回答对你有帮助,希望你能接受它作为答案(点击答案旁边的复选标记,将其从灰色切换为填充。)。这对其他社区成员可能是有益的。谢谢。
    • 嗨@Flock,您还有其他顾虑吗?
    【解决方案2】:

    可以使用Set-AzSqlDatabaseAudit Powershell 命令更详细地控制 Azure SQL 数据库的审核日志记录。

    在您的情况下,您可能需要查看 -AuditActionGroup 参数。它接受的值之一是DATABASE_ROLE_MEMBER_CHANGE_GROUP

    -PredicateExpression 允许您为记录的内容指定 WHERE 子句。我发现过滤掉某些应用程序用来检查数据库可用性的SELECT 1 查询非常有用。例如:

    Set-AzSqlDatabaseAudit -PredicateExpression "statement <> 'SELECT 1'" -ResourceGroupName "myRg" -ServerName "myServer" -DatabaseName "myDb" -LogAnalyticsTargetState Enabled -WorkspaceResourceId "/subscriptions/<subId>/resourcegroups/<rgName>/providers/microsoft.operationalinsights/workspaces/<workspaceName>"
    

    请注意,列名是statement,而不是您在日志中看到的statement_s

    【讨论】: