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

Microsoft.Sql server/auditingSettings 2020-02-02-preview

Bicep 资源定义

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

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

资源格式

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

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

属性值

servers/auditingSettings

名称 说明
name 资源名称

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

有关详细信息,请参阅 父资源之外的子资源
类型为“服务器”的资源的符号名称
properties 资源属性。 ServerBlobAuditingPolicyProperties

ServerBlobAuditingPolicyProperties

名称 说明
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
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
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。 字符串

快速入门模板

以下快速入门模板部署此资源类型。

模板 说明
将审核写入 Blob 存储的Azure SQL服务器

部署到 Azure
此模板允许部署启用了审核的 Azure SQL 服务器,以便将审核日志写入 Blob 存储
将审核写入事件中心的Azure SQL服务器

部署到 Azure
此模板允许部署启用了审核的 Azure SQL 服务器,以便将审核日志写入事件中心
将审核写入 Log Analytics 的Azure SQL服务器

部署到 Azure
此模板允许部署启用了审核的 Azure SQL 服务器,以便将审核日志写入 Log Analytics (OMS 工作区)

ARM 模板资源定义

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

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

资源格式

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

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

属性值

servers/auditingSettings

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

了解如何在 JSON ARM 模板中设置子资源的名称和类型。
'default'
properties 资源属性。 ServerBlobAuditingPolicyProperties

ServerBlobAuditingPolicyProperties

名称 说明
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
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
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。 字符串

快速入门模板

以下快速入门模板部署此资源类型。

模板 说明
将审核写入 Blob 存储的Azure SQL服务器

部署到 Azure
此模板允许部署启用了审核的Azure SQL服务器,以便将审核日志写入 Blob 存储
将审核写入事件中心的Azure SQL服务器

部署到 Azure
此模板允许部署启用了审核的Azure SQL服务器,以便将审核日志写入事件中心
将审核写入 Log Analytics 的Azure SQL服务器

部署到 Azure
此模板允许部署启用了审核的Azure SQL服务器,以便将审核日志写入 Log Analytics (OMS 工作区)

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

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

  • 资源组

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

资源格式

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

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

属性值

servers/auditingSettings

名称 说明 Value
type 资源类型 “Microsoft.Sql/servers/auditingSettings@2020-02-02-preview”
name 资源名称 "default"
parent_id 此资源的父资源 ID。 类型为“服务器”的资源的 ID
properties 资源属性。 ServerBlobAuditingPolicyProperties

ServerBlobAuditingPolicyProperties

名称 说明
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
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
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。 字符串