你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Extended Database Blob Auditing Policies - Create Or Update
创建或更新扩展数据库的 Blob 审核策略。
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/extendedAuditingSettings/default?api-version=2021-11-01
URI 参数
名称 | 在 | 必需 | 类型 | 说明 |
---|---|---|---|---|
blob
|
path | True |
Blob 审核策略的名称。 |
|
database
|
path | True |
string |
数据库的名称。 |
resource
|
path | True |
string |
包含该资源的资源组名称。 可以从 Azure 资源管理器 API 或门户获取此值。 |
server
|
path | True |
string |
服务器的名称。 |
subscription
|
path | True |
string |
用于标识 Azure 订阅的订阅 ID。 |
api-version
|
query | True |
string |
要用于请求的 API 版本。 |
请求正文
名称 | 必需 | 类型 | 说明 |
---|---|---|---|
properties.state | True |
指定审核的状态。 如果状态为“已启用”,则需要 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 语句和存储过程,不应与其他组结合使用,因为这将导致重复的审核日志。 有关详细信息,请参阅 数据库级审核操作组。 对于数据库审核策略,还可以指定特定操作 (请注意,不能为服务器审核策略指定操作) 。 支持审核的操作包括: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 有关详细信息,请参阅 数据库级审核操作 |
|
properties.isAzureMonitorTargetEnabled |
boolean |
指定是否将审核事件发送到 Azure Monitor。 若要将事件发送到 Azure Monitor,请将“State”指定为“Enabled”,将“IsAzureMonitorTargetEnabled”指定为 true。 使用 REST API 配置审核时,还应在数据库上创建具有“SQLSecurityAuditEvents”诊断日志类别的诊断设置。 请注意,对于服务器级别审核,应将“master”数据库用作 {databaseName}。 有关详细信息,请参阅 诊断设置 REST API 或 诊断设置 PowerShell |
|
properties.isManagedIdentityInUse |
boolean |
指定是否使用托管标识访问 Blob 存储 |
|
properties.isStorageSecondaryKeyInUse |
boolean |
指定 storageAccountAccessKey 值是否为存储的辅助密钥。 |
|
properties.predicateExpression |
string |
指定创建审核时 where 子句的条件。 |
|
properties.queueDelayMs |
integer |
指定在强制处理审核操作之前可以等待的时间(毫秒)。 默认的最小值为 1000(1 秒)。 最大值为 2,147,483,647。 |
|
properties.retentionDays |
integer |
指定要在存储帐户的审核日志中保留的天数。 |
|
properties.storageAccountAccessKey |
string |
指定审核存储帐户的标识符密钥。 如果状态为“已启用”并指定 storageEndpoint,则不指定 storageAccountAccessKey 将使用 SQL Server 系统分配的托管标识来访问存储。 使用托管标识身份验证的先决条件:
|
|
properties.storageAccountSubscriptionId |
string |
指定 Blob 存储订阅 ID。 |
|
properties.storageEndpoint |
string |
指定 blob 存储终结点 (例如 https://MyAccount.blob.core.windows.net) 。 如果状态为 Enabled,则需要 storageEndpoint 或 isAzureMonitorTargetEnabled。 |
响应
名称 | 类型 | 说明 |
---|---|---|
200 OK |
已成功设置扩展数据库 Blob 审核策略。 |
|
201 Created |
已成功创建扩展数据库 Blob 审核策略。 |
|
Other Status Codes |
错误响应: ***
|
示例
Create or update an extended database's azure monitor 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/databases/testdb/extendedAuditingSettings/default?api-version=2021-11-01
{
"properties": {
"state": "Enabled",
"isAzureMonitorTargetEnabled": true
}
}
示例响应
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
"name": "default",
"type": "Microsoft.Sql/servers/databases/extendedAuditingSettings",
"properties": {
"state": "Enabled",
"isAzureMonitorTargetEnabled": true,
"retentionDays": 0,
"storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000",
"auditActionsAndGroups": [
"SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
"FAILED_DATABASE_AUTHENTICATION_GROUP",
"BATCH_COMPLETED_GROUP"
]
}
}
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
"name": "default",
"type": "Microsoft.Sql/servers/databases/extendedAuditingSettings",
"properties": {
"state": "Enabled",
"isAzureMonitorTargetEnabled": true,
"retentionDays": 0,
"storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000",
"auditActionsAndGroups": [
"SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
"FAILED_DATABASE_AUTHENTICATION_GROUP",
"BATCH_COMPLETED_GROUP"
]
}
}
Create or update an extended database'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/databases/testdb/extendedAuditingSettings/default?api-version=2021-11-01
{
"properties": {
"state": "Enabled",
"storageAccountAccessKey": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==",
"storageEndpoint": "https://mystorage.blob.core.windows.net",
"retentionDays": 6,
"storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000",
"isStorageSecondaryKeyInUse": false,
"queueDelayMs": 4000,
"auditActionsAndGroups": [
"DATABASE_LOGOUT_GROUP",
"DATABASE_ROLE_MEMBER_CHANGE_GROUP",
"UPDATE on database::TestDatabaseName by public"
],
"predicateExpression": "statement = 'select 1'",
"isAzureMonitorTargetEnabled": true
}
}
示例响应
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
"name": "default",
"type": "Microsoft.Sql/servers/databases/extendedAuditingSettings",
"properties": {
"state": "Enabled",
"storageEndpoint": "https://mystorage.blob.core.windows.net",
"retentionDays": 0,
"storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000",
"isStorageSecondaryKeyInUse": false,
"queueDelayMs": 4000,
"auditActionsAndGroups": [
"DATABASE_LOGOUT_GROUP",
"DATABASE_ROLE_MEMBER_CHANGE_GROUP",
"UPDATE on database::TestDatabaseName by public"
],
"predicateExpression": "statement = 'select 1'",
"isAzureMonitorTargetEnabled": true
}
}
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
"name": "default",
"type": "Microsoft.Sql/servers/databases/extendedAuditingSettings",
"properties": {
"state": "Enabled",
"storageEndpoint": "https://mystorage.blob.core.windows.net",
"retentionDays": 0,
"storageAccountSubscriptionId": "00000000-1234-0000-5678-000000000000",
"isStorageSecondaryKeyInUse": false,
"queueDelayMs": 4000,
"auditActionsAndGroups": [
"DATABASE_LOGOUT_GROUP",
"DATABASE_ROLE_MEMBER_CHANGE_GROUP",
"UPDATE on database::TestDatabaseName by public"
],
"predicateExpression": "statement = 'select 1'",
"isAzureMonitorTargetEnabled": true
}
}
Create or update an extended database'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/databases/testdb/extendedAuditingSettings/default?api-version=2021-11-01
{
"properties": {
"state": "Enabled",
"storageAccountAccessKey": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==",
"storageEndpoint": "https://mystorage.blob.core.windows.net"
}
}
示例响应
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
"name": "default",
"type": "Microsoft.Sql/servers/databases/extendedAuditingSettings",
"properties": {
"state": "Enabled",
"storageEndpoint": "https://mystorage.blob.core.windows.net",
"retentionDays": 0,
"storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000",
"isStorageSecondaryKeyInUse": false,
"auditActionsAndGroups": [
"SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
"FAILED_DATABASE_AUTHENTICATION_GROUP",
"BATCH_COMPLETED_GROUP"
],
"isAzureMonitorTargetEnabled": false
}
}
{
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/blobauditingtest-4799/providers/Microsoft.Sql/servers/blobauditingtest-6440/databases/testdb",
"name": "default",
"type": "Microsoft.Sql/servers/databases/extendedAuditingSettings",
"properties": {
"state": "Enabled",
"storageEndpoint": "https://mystorage.blob.core.windows.net",
"retentionDays": 0,
"storageAccountSubscriptionId": "00000000-0000-0000-0000-000000000000",
"isStorageSecondaryKeyInUse": false,
"auditActionsAndGroups": [
"SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP",
"FAILED_DATABASE_AUTHENTICATION_GROUP",
"BATCH_COMPLETED_GROUP"
],
"isAzureMonitorTargetEnabled": false
}
}
定义
名称 | 说明 |
---|---|
blob |
Blob 审核策略的名称。 |
Blob |
指定审核的状态。 如果状态为“已启用”,则需要 storageEndpoint 或 isAzureMonitorTargetEnabled。 |
Extended |
扩展数据库 Blob 审核策略。 |
blobAuditingPolicyName
Blob 审核策略的名称。
名称 | 类型 | 说明 |
---|---|---|
default |
string |
BlobAuditingPolicyState
指定审核的状态。 如果状态为“已启用”,则需要 storageEndpoint 或 isAzureMonitorTargetEnabled。
名称 | 类型 | 说明 |
---|---|---|
Disabled |
string |
|
Enabled |
string |
ExtendedDatabaseBlobAuditingPolicy
扩展数据库 Blob 审核策略。
名称 | 类型 | 说明 |
---|---|---|
id |
string |
资源 ID。 |
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 语句和存储过程,不应与其他组结合使用,因为这将导致重复的审核日志。 有关详细信息,请参阅 数据库级审核操作组。 对于数据库审核策略,还可以指定特定操作 (请注意,不能为服务器审核策略指定操作) 。 支持审核的操作包括: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 有关详细信息,请参阅 数据库级审核操作 |
properties.isAzureMonitorTargetEnabled |
boolean |
指定是否将审核事件发送到 Azure Monitor。 若要将事件发送到 Azure Monitor,请将“State”指定为“Enabled”,将“IsAzureMonitorTargetEnabled”指定为 true。 使用 REST API 配置审核时,还应在数据库上创建具有“SQLSecurityAuditEvents”诊断日志类别的诊断设置。 请注意,对于服务器级别审核,应将“master”数据库用作 {databaseName}。 有关详细信息,请参阅 诊断设置 REST API 或 诊断设置 PowerShell |
properties.isManagedIdentityInUse |
boolean |
指定是否使用托管标识访问 Blob 存储 |
properties.isStorageSecondaryKeyInUse |
boolean |
指定 storageAccountAccessKey 值是否为存储的辅助密钥。 |
properties.predicateExpression |
string |
指定创建审核时 where 子句的条件。 |
properties.queueDelayMs |
integer |
指定在强制处理审核操作之前可以等待的时间(毫秒)。 默认的最小值为 1000(1 秒)。 最大值为 2,147,483,647。 |
properties.retentionDays |
integer |
指定要在存储帐户的审核日志中保留的天数。 |
properties.state |
指定审核的状态。 如果状态为“已启用”,则需要 storageEndpoint 或 isAzureMonitorTargetEnabled。 |
|
properties.storageAccountAccessKey |
string |
指定审核存储帐户的标识符密钥。 如果状态为“已启用”并指定 storageEndpoint,则不指定 storageAccountAccessKey 将使用 SQL Server 系统分配的托管标识来访问存储。 使用托管标识身份验证的先决条件:
|
properties.storageAccountSubscriptionId |
string |
指定 Blob 存储订阅 ID。 |
properties.storageEndpoint |
string |
指定 blob 存储终结点 (例如 https://MyAccount.blob.core.windows.net) 。 如果状态为 Enabled,则需要 storageEndpoint 或 isAzureMonitorTargetEnabled。 |
type |
string |
资源类型。 |