通过


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

Server Blob Auditing Policies - Create Or Update

创建或更新服务器的 blob 审计策略。

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/auditingSettings/default?api-version=2025-01-01

URI 参数

名称 必需 类型 说明
blobAuditingPolicyName
path True

BlobAuditingPolicyName

blob审计策略的名称。

resourceGroupName
path True

string

minLength: 1
maxLength: 90

资源组的名称。 此名称不区分大小写。

serverName
path True

string

服务器的名称。

subscriptionId
path True

string (uuid)

目标订阅的 ID。 该值必须是 UUID。

api-version
query True

string

minLength: 1

用于此作的 API 版本。

请求正文

名称 必需 类型 说明
properties.state True

BlobAuditingPolicyState

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

properties.auditActionsAndGroups

string[]

指定要审核的 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 语句和存储过程,不应与其他组结合使用,因为这将导致重复的审核日志。

有关详细信息,请参阅 Database-Level 审核作组

对于数据库审核策略,还可以指定特定作(请注意,不能为服务器审核策略指定作)。 支持的审计作包括:选择、更新、插入、删除、执行、接收引用

定义待审计动作的一般形式为:{action} 对 {object} 由 {principal} 进行

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

例如:在 dbo.myTable 上按 公用 在 DATABASE::myDatabase 上选 公用 在 SCHEMA::mySchema 上用公用 SELECT 在 SCHEMA::mySchema 上 由 public 推举

有关详细信息,请参阅 Database-Level 审核作

properties.isAzureMonitorTargetEnabled

boolean

指定审计事件是否发送到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

properties.isDevopsAuditEnabled

boolean

指定 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

properties.isManagedIdentityInUse

boolean

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

properties.isStorageSecondaryKeyInUse

boolean

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

properties.queueDelayMs

integer (int32)

指定在强制执行审核操作之前可以经过的时间(以毫秒为单位)。 默认值为 1000(1 秒)。 最大值为 2,147,483,647。

properties.retentionDays

integer (int32)

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

properties.storageAccountAccessKey

string (password)

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

  1. 在 Azure Active Directory (AAD) 中为 SQL Server 分配系统指定的管理身份。
  2. 通过在服务器身份中添加“Storage Blob Data Contributor”(存储 Blob 数据贡献者)角色,赋予 SQL Server 身份访问存储账户的权限。 有关详细信息,请参阅 使用托管标识身份验证对存储的审核
properties.storageAccountSubscriptionId

string (uuid)

指定 Blob 存储订阅 ID。

properties.storageEndpoint

string

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

响应

名称 类型 说明
200 OK

ServerBlobAuditingPolicy

资源“ServerBlobAuditingPolicy”更新操作成功

202 Accepted

已接受资源作。

标头

  • Location: string
  • Retry-After: integer
Other Status Codes

ErrorResponse

意外的错误响应。

安全性

azure_auth

Azure Active Directory OAuth2 Flow.

类型: oauth2
流向: implicit
授权 URL: https://login.microsoftonline.com/common/oauth2/authorize

作用域

名称 说明
user_impersonation 模拟用户帐户

示例

Update a server's blob auditing policy with all parameters
Update a server's blob auditing policy with minimal parameters

Update a server's blob auditing policy with all parameters

示例请求

PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/auditingSettings/default?api-version=2025-01-01

{
  "properties": {
    "auditActionsAndGroups": [
      "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
      "FAILED_DATABASE_AUTHENTICATION_GROUP",
      "BATCH_COMPLETED_GROUP"
    ],
    "isAzureMonitorTargetEnabled": true,
    "isStorageSecondaryKeyInUse": false,
    "queueDelayMs": 4000,
    "retentionDays": 6,
    "state": "Enabled",
    "storageAccountAccessKey": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==",
    "storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000",
    "storageEndpoint": "https://mystorage.blob.core.windows.net"
  }
}

示例响应

{
  "name": "default",
  "type": "Microsoft.Sql/servers/auditingSettings",
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/auditingSettings/default",
  "properties": {
    "auditActionsAndGroups": [
      "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
      "FAILED_DATABASE_AUTHENTICATION_GROUP",
      "BATCH_COMPLETED_GROUP"
    ],
    "isAzureMonitorTargetEnabled": true,
    "isStorageSecondaryKeyInUse": false,
    "queueDelayMs": 4000,
    "retentionDays": 6,
    "state": "Enabled",
    "storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000",
    "storageEndpoint": "https://mystorage.blob.core.windows.net"
  }
}

Update a server's blob auditing policy with minimal parameters

示例请求

PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/auditingSettings/default?api-version=2025-01-01

{
  "properties": {
    "state": "Enabled",
    "storageAccountAccessKey": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==",
    "storageEndpoint": "https://mystorage.blob.core.windows.net"
  }
}

示例响应

{
  "name": "default",
  "type": "Microsoft.Sql/servers/auditingSettings",
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/auditingSettings/default",
  "properties": {
    "auditActionsAndGroups": [
      "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
      "FAILED_DATABASE_AUTHENTICATION_GROUP",
      "BATCH_COMPLETED_GROUP"
    ],
    "isStorageSecondaryKeyInUse": false,
    "retentionDays": 6,
    "state": "Enabled",
    "storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000",
    "storageEndpoint": "https://mystorage.blob.core.windows.net"
  }
}

定义

名称 说明
BlobAuditingPolicyName
BlobAuditingPolicyState

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

createdByType

创建资源的标识的类型。

ErrorAdditionalInfo

资源管理错误附加信息。

ErrorDetail

错误详细信息。

ErrorResponse

错误响应

ServerBlobAuditingPolicy

服务器 Blob 审核策略。

systemData

与创建和上次修改资源相关的元数据。

BlobAuditingPolicyName

说明
default

默认

BlobAuditingPolicyState

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

说明
Enabled

已启用

Disabled

已禁用

createdByType

创建资源的标识的类型。

说明
User
Application
ManagedIdentity
Key

ErrorAdditionalInfo

资源管理错误附加信息。

名称 类型 说明
info

object

附加信息。

type

string

附加信息类型。

ErrorDetail

错误详细信息。

名称 类型 说明
additionalInfo

ErrorAdditionalInfo[]

错误附加信息。

code

string

错误代码。

details

ErrorDetail[]

错误详细信息。

message

string

错误消息。

target

string

错误目标。

ErrorResponse

错误响应

名称 类型 说明
error

ErrorDetail

错误对象。

ServerBlobAuditingPolicy

服务器 Blob 审核策略。

名称 类型 说明
id

string (arm-id)

资源的完全限定资源 ID。 例如,“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}”

name

string

资源的名称

properties.auditActionsAndGroups

string[]

指定要审核的 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 语句和存储过程,不应与其他组结合使用,因为这将导致重复的审核日志。

有关详细信息,请参阅 Database-Level 审核作组

对于数据库审核策略,还可以指定特定作(请注意,不能为服务器审核策略指定作)。 支持的审计作包括:选择、更新、插入、删除、执行、接收引用

定义待审计动作的一般形式为:{action} 对 {object} 由 {principal} 进行

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

例如:在 dbo.myTable 上按 公用 在 DATABASE::myDatabase 上选 公用 在 SCHEMA::mySchema 上用公用 SELECT 在 SCHEMA::mySchema 上 由 public 推举

有关详细信息,请参阅 Database-Level 审核作

properties.isAzureMonitorTargetEnabled

boolean

指定审计事件是否发送到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

properties.isDevopsAuditEnabled

boolean

指定 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

properties.isManagedIdentityInUse

boolean

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

properties.isStorageSecondaryKeyInUse

boolean

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

properties.queueDelayMs

integer (int32)

指定在强制执行审核操作之前可以经过的时间(以毫秒为单位)。 默认值为 1000(1 秒)。 最大值为 2,147,483,647。

properties.retentionDays

integer (int32)

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

properties.state

BlobAuditingPolicyState

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

properties.storageAccountAccessKey

string (password)

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

  1. 在 Azure Active Directory (AAD) 中为 SQL Server 分配系统指定的管理身份。
  2. 通过在服务器身份中添加“Storage Blob Data Contributor”(存储 Blob 数据贡献者)角色,赋予 SQL Server 身份访问存储账户的权限。 有关详细信息,请参阅 使用托管标识身份验证对存储的审核
properties.storageAccountSubscriptionId

string (uuid)

指定 Blob 存储订阅 ID。

properties.storageEndpoint

string

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

systemData

systemData

Azure 资源管理器 包含 createdBy 和 modifiedBy 信息的元数据。

type

string

资源类型。 例如,“Microsoft。计算/虚拟机“或”Microsoft“。存储/存储账户”

systemData

与创建和上次修改资源相关的元数据。

名称 类型 说明
createdAt

string (date-time)

资源创建时间戳(UTC)。

createdBy

string

创建资源的标识。

createdByType

createdByType

创建资源的标识的类型。

lastModifiedAt

string (date-time)

资源上次修改的时间戳 (UTC)

lastModifiedBy

string

上次修改资源的标识。

lastModifiedByType

createdByType

上次修改资源的标识的类型。