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

ServerBlobAuditingPolicy interface

服务器 Blob 审核策略。

扩展

属性

auditActionsAndGroups

指定要审核的Actions-Groups和操作。

建议使用的操作组集如下组合 - 这将审核针对数据库执行的所有查询和存储过程,以及成功和失败的登录:

BATCH_COMPLETED_GROUP、SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP、FAILED_DATABASE_AUTHENTICATION_GROUP。

上述组合也是从Azure 门户启用审核时默认配置的集。

要审核的受支持操作组 (注意:仅选择满足审核需求的特定组。使用不必要的组可能会导致大量审核记录) :

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 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 BATCH_STARTED_GROUP BATCH_COMPLETED_GROUP DBCC_GROUP DATABASE_OWNERSHIP_CHANGE_GROUP DATABASE_CHANGE_GROUP LEDGER_OPERATION_GROUP

这些组涵盖针对数据库执行的所有 sql 语句和存储过程,不应与其他组结合使用,因为这将导致重复的审核日志。

有关详细信息,请参阅 数据库级审核操作组

对于数据库审核策略,还可以指定特定操作 (请注意,不能为服务器审核策略指定操作) 。 支持审核的操作包括:SELECT UPDATE INSERT DELETE EXECUTE RECEIVE REFERENCES

用于定义要审核的操作的一般形式是:{action} ON {object} BY {principal}

请注意,上述格式可以引用对象,例如表、视图或存储过程,或者整个数据库或架构。 对于后一种情况,将分别使用形式 DATABASE::{db_name} 和 SCHEMA::{schema_name}。

例如:DBo.myTable 上的 SELECT by public SELECT on DATABASE::myDatabase by public SELECT on SCHEMA::mySchema by public SELECT by public

有关详细信息,请参阅 数据库级审核操作

isAzureMonitorTargetEnabled

指定是否将审核事件发送到 Azure Monitor。 若要将事件发送到 Azure Monitor,请将“State”指定为“Enabled”,将“IsAzureMonitorTargetEnabled”指定为 true。

使用 REST API 配置审核时,还应在数据库上创建具有“SQLSecurityAuditEvents”诊断日志类别的诊断设置。 请注意,对于服务器级别审核,应将“master”数据库用作 {databaseName}。

诊断设置 URI 格式:PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview

有关详细信息,请参阅 诊断设置 REST API诊断设置 PowerShell

isDevopsAuditEnabled

指定 devops 审核的状态。 如果状态为“已启用”,则 devops 日志将发送到 Azure Monitor。 若要将事件发送到 Azure Monitor,请将“State”指定为“Enabled”、“IsAzureMonitorTargetEnabled”为 true,将“IsDevopsAuditEnabled”指定为 true

使用 REST API 配置审核时,还应在 master 数据库上创建具有“DevOpsOperationsAudit”诊断日志类别的诊断设置。

诊断设置 URI 格式:PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/master/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview

有关详细信息,请参阅 诊断设置 REST API诊断设置 PowerShell

isManagedIdentityInUse

指定是否使用托管标识访问 Blob 存储

isStorageSecondaryKeyInUse

指定 storageAccountAccessKey 值是否为存储的辅助密钥。

queueDelayMs

指定在强制处理审核操作之前可以等待的时间(毫秒)。 默认的最小值为 1000(1 秒)。 最大值为 2,147,483,647。

retentionDays

指定要在存储帐户的审核日志中保留的天数。

state

指定审核的状态。 如果状态为“已启用”,则需要 storageEndpoint 或 isAzureMonitorTargetEnabled。

storageAccountAccessKey

指定审核存储帐户的标识符密钥。 如果状态为“已启用”并指定 storageEndpoint,则不指定 storageAccountAccessKey 将使用 SQL Server 系统分配的托管标识来访问存储。 使用托管标识身份验证的先决条件:

  1. 在 Azure Active Directory (AAD) 中分配SQL Server系统分配的托管标识。
  2. 通过将“存储 Blob 数据参与者”RBAC 角色添加到服务器标识,授予SQL Server标识对存储帐户的访问权限。 有关详细信息,请参阅 使用托管标识身份验证审核存储
storageAccountSubscriptionId

指定 Blob 存储订阅 ID。

storageEndpoint

指定 blob 存储终结点 (例如 https://MyAccount.blob.core.windows.net) 。 如果状态为 Enabled,则需要 storageEndpoint 或 isAzureMonitorTargetEnabled。

继承属性

id

资源 ID。 注意:此属性不会被序列化。 它只能由服务器填充。

name

资源名称。 注意:此属性不会被序列化。 它只能由服务器填充。

type

资源类型。 注意:此属性不会被序列化。 它只能由服务器填充。

属性详细信息

auditActionsAndGroups

指定要审核的Actions-Groups和操作。

建议使用的操作组集如下组合 - 这将审核针对数据库执行的所有查询和存储过程,以及成功和失败的登录:

BATCH_COMPLETED_GROUP、SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP、FAILED_DATABASE_AUTHENTICATION_GROUP。

上述组合也是从Azure 门户启用审核时默认配置的集。

要审核的受支持操作组 (注意:仅选择满足审核需求的特定组。使用不必要的组可能会导致大量审核记录) :

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 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 BATCH_STARTED_GROUP BATCH_COMPLETED_GROUP DBCC_GROUP DATABASE_OWNERSHIP_CHANGE_GROUP DATABASE_CHANGE_GROUP LEDGER_OPERATION_GROUP

这些组涵盖针对数据库执行的所有 sql 语句和存储过程,不应与其他组结合使用,因为这将导致重复的审核日志。

有关详细信息,请参阅 数据库级审核操作组

对于数据库审核策略,还可以指定特定操作 (请注意,不能为服务器审核策略指定操作) 。 支持审核的操作包括:SELECT UPDATE INSERT DELETE EXECUTE RECEIVE REFERENCES

用于定义要审核的操作的一般形式是:{action} ON {object} BY {principal}

请注意,上述格式可以引用对象,例如表、视图或存储过程,或者整个数据库或架构。 对于后一种情况,将分别使用形式 DATABASE::{db_name} 和 SCHEMA::{schema_name}。

例如:DBo.myTable 上的 SELECT by public SELECT on DATABASE::myDatabase by public SELECT on SCHEMA::mySchema by public SELECT by public

有关详细信息,请参阅 数据库级审核操作

auditActionsAndGroups?: string[]

属性值

string[]

isAzureMonitorTargetEnabled

指定是否将审核事件发送到 Azure Monitor。 若要将事件发送到 Azure Monitor,请将“State”指定为“Enabled”,将“IsAzureMonitorTargetEnabled”指定为 true。

使用 REST API 配置审核时,还应在数据库上创建具有“SQLSecurityAuditEvents”诊断日志类别的诊断设置。 请注意,对于服务器级别审核,应将“master”数据库用作 {databaseName}。

诊断设置 URI 格式:PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview

有关详细信息,请参阅 诊断设置 REST API诊断设置 PowerShell

isAzureMonitorTargetEnabled?: boolean

属性值

boolean

isDevopsAuditEnabled

指定 devops 审核的状态。 如果状态为“已启用”,则 devops 日志将发送到 Azure Monitor。 若要将事件发送到 Azure Monitor,请将“State”指定为“Enabled”、“IsAzureMonitorTargetEnabled”为 true,将“IsDevopsAuditEnabled”指定为 true

使用 REST API 配置审核时,还应在 master 数据库上创建具有“DevOpsOperationsAudit”诊断日志类别的诊断设置。

诊断设置 URI 格式:PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Sql/servers/{serverName}/databases/master/providers/microsoft.insights/diagnosticSettings/{settingsName}?api-version=2017-05-01-preview

有关详细信息,请参阅 诊断设置 REST API诊断设置 PowerShell

isDevopsAuditEnabled?: boolean

属性值

boolean

isManagedIdentityInUse

指定是否使用托管标识访问 Blob 存储

isManagedIdentityInUse?: boolean

属性值

boolean

isStorageSecondaryKeyInUse

指定 storageAccountAccessKey 值是否为存储的辅助密钥。

isStorageSecondaryKeyInUse?: boolean

属性值

boolean

queueDelayMs

指定在强制处理审核操作之前可以等待的时间(毫秒)。 默认的最小值为 1000(1 秒)。 最大值为 2,147,483,647。

queueDelayMs?: number

属性值

number

retentionDays

指定要在存储帐户的审核日志中保留的天数。

retentionDays?: number

属性值

number

state

指定审核的状态。 如果状态为“已启用”,则需要 storageEndpoint 或 isAzureMonitorTargetEnabled。

state?: BlobAuditingPolicyState

属性值

storageAccountAccessKey

指定审核存储帐户的标识符密钥。 如果状态为“已启用”并指定 storageEndpoint,则不指定 storageAccountAccessKey 将使用 SQL Server 系统分配的托管标识来访问存储。 使用托管标识身份验证的先决条件:

  1. 在 Azure Active Directory (AAD) 中分配SQL Server系统分配的托管标识。
  2. 通过将“存储 Blob 数据参与者”RBAC 角色添加到服务器标识,授予SQL Server标识对存储帐户的访问权限。 有关详细信息,请参阅 使用托管标识身份验证审核存储
storageAccountAccessKey?: string

属性值

string

storageAccountSubscriptionId

指定 Blob 存储订阅 ID。

storageAccountSubscriptionId?: string

属性值

string

storageEndpoint

指定 blob 存储终结点 (例如 https://MyAccount.blob.core.windows.net) 。 如果状态为 Enabled,则需要 storageEndpoint 或 isAzureMonitorTargetEnabled。

storageEndpoint?: string

属性值

string

继承属性详细信息

id

资源 ID。 注意:此属性不会被序列化。 它只能由服务器填充。

id?: string

属性值

string

继承自ProxyResource.id

name

资源名称。 注意:此属性不会被序列化。 它只能由服务器填充。

name?: string

属性值

string

继承自ProxyResource.name

type

资源类型。 注意:此属性不会被序列化。 它只能由服务器填充。

type?: string

属性值

string

继承自ProxyResource.type