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

Microsoft.Sql servers/databases/auditingSettings 2020-02-02-preview

Bicep 资源定义

可以使用面向以下操作部署 servers/databases/auditingSettings 资源类型:

有关每个 API 版本中已更改属性的列表,请参阅 更改日志

资源格式

若要创建 Microsoft.Sql/servers/databases/auditingSettings 资源,请将以下 Bicep 添加到模板。

resource symbolicname 'Microsoft.Sql/servers/databases/auditingSettings@2020-02-02-preview' = {
  name: 'default'
  parent: resourceSymbolicName
  properties: {
    auditActionsAndGroups: [
      'string'
    ]
    isAzureMonitorTargetEnabled: bool
    isStorageSecondaryKeyInUse: bool
    queueDelayMs: int
    retentionDays: int
    state: 'string'
    storageAccountAccessKey: 'string'
    storageAccountSubscriptionId: 'string'
    storageEndpoint: 'string'
  }
}

属性值

servers/databases/auditingSettings

名称 说明
name 资源名称

了解如何在 Bicep 中设置子资源的名称和类型。
'default'
父级 (parent) 在 Bicep 中,可以为子资源指定父资源。 仅当子资源在父资源外部声明时,才需要添加此属性。

有关详细信息,请参阅 父资源之外的子资源
类型的资源的符号名称: 数据库
properties 资源属性。 DatabaseBlobAuditingPolicyProperties

DatabaseBlobAuditingPolicyProperties

名称 说明
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

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

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

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

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

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

例如:
select on dbo.myTable by public
SELECT on DATABASE::myDatabase by public
SELECT on SCHEMA::mySchema by public

有关详细信息,请参阅 数据库级审核操作
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
bool
isStorageSecondaryKeyInUse 指定 storageAccountAccessKey 值是否为存储的辅助密钥。 bool
queueDelayMs 指定在强制处理审核操作之前可以等待的时间(毫秒)。
默认的最小值为 1000(1 秒)。 最大值为 2,147,483,647。
int
retentionDays 指定要在存储帐户的审核日志中保留的天数。 int
state 指定审核的状态。 如果状态为“已启用”,则需要 storageEndpoint 或 isAzureMonitorTargetEnabled。 “Disabled”
“已启用” (必需)
storageAccountAccessKey 指定审核存储帐户的标识符密钥。
如果状态为“已启用”并指定 storageEndpoint,则不指定 storageAccountAccessKey 将使用 SQL Server 系统分配的托管标识来访问存储。
使用托管标识身份验证的先决条件:
1. 在 Azure Active Directory (AAD) 中分配SQL Server系统分配的托管标识。
2. 通过向服务器标识添加“存储 Blob 数据参与者”RBAC 角色,向SQL Server标识授予对存储帐户的访问权限。
有关详细信息,请参阅 使用托管标识身份验证审核存储
字符串

约束:
敏感值。 作为安全参数传入。
storageAccountSubscriptionId 指定 Blob 存储订阅 ID。 字符串

约束:
最小长度 = 36
最大长度 = 36
Pattern = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
storageEndpoint 指定 blob 存储终结点 (例如 https://MyAccount.blob.core.windows.net) 。 如果状态为 Enabled,则需要 storageEndpoint 或 isAzureMonitorTargetEnabled。 字符串

ARM 模板资源定义

servers/databases/auditingSettings 资源类型可以使用面向以下对象的操作进行部署:

有关每个 API 版本中更改的属性的列表,请参阅 更改日志

资源格式

若要创建 Microsoft.Sql/servers/databases/auditingSettings 资源,请将以下 JSON 添加到模板。

{
  "type": "Microsoft.Sql/servers/databases/auditingSettings",
  "apiVersion": "2020-02-02-preview",
  "name": "default",
  "properties": {
    "auditActionsAndGroups": [ "string" ],
    "isAzureMonitorTargetEnabled": "bool",
    "isStorageSecondaryKeyInUse": "bool",
    "queueDelayMs": "int",
    "retentionDays": "int",
    "state": "string",
    "storageAccountAccessKey": "string",
    "storageAccountSubscriptionId": "string",
    "storageEndpoint": "string"
  }
}

属性值

servers/databases/auditingSettings

名称 说明 Value
type 资源类型 “Microsoft.Sql/servers/databases/auditingSettings”
apiVersion 资源 API 版本 “2020-02-02-preview”
name 资源名称

了解如何在 JSON ARM 模板中为子资源设置名称和类型。
“default”
properties 资源属性。 DatabaseBlobAuditingPolicyProperties

DatabaseBlobAuditingPolicyProperties

名称 说明
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

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

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

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

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

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

例如:
select on dbo.myTable by public
SELECT on DATABASE::myDatabase by public
SELECT on SCHEMA::mySchema by public

有关详细信息,请参阅 数据库级审核操作
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
bool
isStorageSecondaryKeyInUse 指定 storageAccountAccessKey 值是否为存储的辅助密钥。 bool
queueDelayMs 指定在强制处理审核操作之前可以等待的时间(毫秒)。
默认的最小值为 1000(1 秒)。 最大值为 2,147,483,647。
int
retentionDays 指定要在存储帐户的审核日志中保留的天数。 int
state 指定审核的状态。 如果状态为“已启用”,则需要 storageEndpoint 或 isAzureMonitorTargetEnabled。 'Disabled'
“Enabled” (必需)
storageAccountAccessKey 指定审核存储帐户的标识符密钥。
如果状态为 Enabled 且指定 storageEndpoint,则不指定 storageAccountAccessKey 将使用 SQL Server 系统分配的托管标识来访问存储。
使用托管标识身份验证的先决条件:
1. 在 Azure Active Directory (AAD) 中分配SQL Server系统分配的托管标识。
2. 通过将“存储 Blob 数据参与者”RBAC 角色添加到服务器标识,授予SQL Server标识对存储帐户的访问权限。
有关详细信息,请参阅 使用托管标识身份验证审核存储
字符串

约束:
敏感值。 作为安全参数传入。
storageAccountSubscriptionId 指定 Blob 存储订阅 ID。 字符串

约束:
最小长度 = 36
最大长度 = 36
模式 = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
storageEndpoint 指定 blob 存储终结点 (例如 https://MyAccount.blob.core.windows.net) 。 如果状态为“已启用”,则需要 storageEndpoint 或 isAzureMonitorTargetEnabled。 字符串

Terraform (AzAPI 提供程序) 资源定义

可以使用面向以下操作部署 servers/databases/auditingSettings 资源类型:

  • 资源组

有关每个 API 版本中已更改属性的列表,请参阅 更改日志

资源格式

若要创建 Microsoft.Sql/servers/databases/auditingSettings 资源,请将以下 Terraform 添加到模板。

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Sql/servers/databases/auditingSettings@2020-02-02-preview"
  name = "default"
  parent_id = "string"
  body = jsonencode({
    properties = {
      auditActionsAndGroups = [
        "string"
      ]
      isAzureMonitorTargetEnabled = bool
      isStorageSecondaryKeyInUse = bool
      queueDelayMs = int
      retentionDays = int
      state = "string"
      storageAccountAccessKey = "string"
      storageAccountSubscriptionId = "string"
      storageEndpoint = "string"
    }
  })
}

属性值

servers/databases/auditingSettings

名称 说明 Value
type 资源类型 “Microsoft.Sql/servers/databases/auditingSettings@2020-02-02-preview”
name 资源名称 "default"
parent_id 此资源的父资源的 ID。 类型为 的资源的 ID: 数据库
properties 资源属性。 DatabaseBlobAuditingPolicyProperties

DatabaseBlobAuditingPolicyProperties

名称 说明
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

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

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

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

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

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

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

有关详细信息,请参阅 数据库级审核操作
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
bool
isStorageSecondaryKeyInUse 指定 storageAccountAccessKey 值是否为存储的辅助密钥。 bool
queueDelayMs 指定在强制处理审核操作之前可以等待的时间(毫秒)。
默认的最小值为 1000(1 秒)。 最大值为 2,147,483,647。
int
retentionDays 指定要在存储帐户的审核日志中保留的天数。 int
state 指定审核的状态。 如果状态为“已启用”,则需要 storageEndpoint 或 isAzureMonitorTargetEnabled。 “Disabled”
“已启用” (必需)
storageAccountAccessKey 指定审核存储帐户的标识符密钥。
如果状态为“已启用”并指定 storageEndpoint,则不指定 storageAccountAccessKey 将使用 SQL Server 系统分配的托管标识来访问存储。
使用托管标识身份验证的先决条件:
1. 在 Azure Active Directory (AAD) 中分配SQL Server系统分配的托管标识。
2. 通过向服务器标识添加“存储 Blob 数据参与者”RBAC 角色,向SQL Server标识授予对存储帐户的访问权限。
有关详细信息,请参阅 使用托管标识身份验证审核存储
字符串

约束:
敏感值。 作为安全参数传入。
storageAccountSubscriptionId 指定 Blob 存储订阅 ID。 字符串

约束:
最小长度 = 36
最大长度 = 36
Pattern = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$
storageEndpoint 指定 blob 存储终结点 (例如 https://MyAccount.blob.core.windows.net) 。 如果状态为“已启用”,则需要 storageEndpoint 或 isAzureMonitorTargetEnabled。 字符串