共用方式為


Microsoft.Sql servers/databases/auditingSettings 2021-05-01-preview

Bicep 資源定義

servers/databases/auditingSettings 資源類型可以使用目標作業來部署:

如需每個 API 版本中已變更屬性的清單,請參閱 變更記錄檔

資源格式

若要建立 Microsoft.Sql/servers/databases/auditingSettings 資源,請將下列 Bicep 新增至範本。

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

屬性值

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
LEDGER_OPERATION_GROUP

這些群組涵蓋針對資料庫執行的所有 sql 語句和預存程式,且不應與其他群組搭配使用,因為這會導致重複的稽核記錄。

如需詳細資訊,請參閱 Database-Level 稽核動作群組

針對資料庫稽核原則,也可以指定特定動作(請注意,無法為伺服器稽核原則指定動作)。 要稽核的支援動作如下:
選擇
更新
插入
刪除
執行
收到
引用

定義要稽核之動作的一般窗體如下:
{action}ON {object} BY {principal}

請注意,上述格式 <物件> 可以參考數據表、檢視或預存程式或整個資料庫或架構等物件。 針對後者,會分別使用 DATABASE::{db_name} 和 SCHEMA::{schema_name} 窗體。

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

如需詳細資訊,請參閱 Database-Level 稽核動作
string[]
isAzureMonitorTargetEnabled 指定稽核事件是否傳送至 Azure 監視器。
若要將事件傳送至 Azure 監視器,請將 '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
指定稽核的狀態。 如果狀態為 Enabled,則需要 storageEndpoint 或 isAzureMonitorTargetEnabled。 'Disabled'
'Enabled' (必要)
storageAccountAccessKey 指定稽核記憶體帳戶的標識碼金鑰。
如果狀態為 Enabled 且 storageEndpoint 已指定,則未指定 storageAccountAccessKey 會使用 SQL Server 系統指派的受控識別來存取記憶體。
使用受控識別驗證的必要條件:
1.在 Azure Active Directory (AAD) 中指派系統指派的受控識別給 SQL Server。
2.將「記憶體 Blob 數據參與者」RBAC 角色新增至伺服器身分識別,以授與 SQL Server 身分識別對記憶體帳戶的存取權。
如需詳細資訊,請參閱使用受控識別驗證對記憶體 稽核
字串

約束:
敏感性值。 以安全參數的形式傳入。
storageAccountSubscriptionId 指定 Blob 記憶體訂用帳戶標識碼。 字串

約束:
最小長度 = 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。 字串

Microsoft.Sql/servers/databases/auditingSettings

名字 描述 價值
名字 資源名稱 'default' (必要)
父母 在 Bicep 中,您可以指定子資源的父資源。 只有在父資源外部宣告子資源時,才需要新增這個屬性。

如需詳細資訊,請參閱 父資源外部的子資源
類型的資源符號名稱:伺服器/資料庫
性能 資源屬性。 DatabaseBlobAuditingPolicyProperties

ARM 樣本資源定義

servers/databases/auditingSettings 資源類型可以使用目標作業來部署:

如需每個 API 版本中已變更屬性的清單,請參閱 變更記錄檔

資源格式

若要建立 Microsoft.Sql/servers/databases/auditingSettings 資源,請將下列 JSON 新增至範本。

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

屬性值

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
LEDGER_OPERATION_GROUP

這些群組涵蓋針對資料庫執行的所有 sql 語句和預存程式,且不應與其他群組搭配使用,因為這會導致重複的稽核記錄。

如需詳細資訊,請參閱 Database-Level 稽核動作群組

針對資料庫稽核原則,也可以指定特定動作(請注意,無法為伺服器稽核原則指定動作)。 要稽核的支援動作如下:
選擇
更新
插入
刪除
執行
收到
引用

定義要稽核之動作的一般窗體如下:
{action}ON {object} BY {principal}

請注意,上述格式 <物件> 可以參考數據表、檢視或預存程式或整個資料庫或架構等物件。 針對後者,會分別使用 DATABASE::{db_name} 和 SCHEMA::{schema_name} 窗體。

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

如需詳細資訊,請參閱 Database-Level 稽核動作
string[]
isAzureMonitorTargetEnabled 指定稽核事件是否傳送至 Azure 監視器。
若要將事件傳送至 Azure 監視器,請將 '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
指定稽核的狀態。 如果狀態為 Enabled,則需要 storageEndpoint 或 isAzureMonitorTargetEnabled。 'Disabled'
'Enabled' (必要)
storageAccountAccessKey 指定稽核記憶體帳戶的標識碼金鑰。
如果狀態為 Enabled 且 storageEndpoint 已指定,則未指定 storageAccountAccessKey 會使用 SQL Server 系統指派的受控識別來存取記憶體。
使用受控識別驗證的必要條件:
1.在 Azure Active Directory (AAD) 中指派系統指派的受控識別給 SQL Server。
2.將「記憶體 Blob 數據參與者」RBAC 角色新增至伺服器身分識別,以授與 SQL Server 身分識別對記憶體帳戶的存取權。
如需詳細資訊,請參閱使用受控識別驗證對記憶體 稽核
字串

約束:
敏感性值。 以安全參數的形式傳入。
storageAccountSubscriptionId 指定 Blob 記憶體訂用帳戶標識碼。 字串

約束:
最小長度 = 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。 字串

Microsoft.Sql/servers/databases/auditingSettings

名字 描述 價值
apiVersion API 版本 '2021-05-01-preview'
名字 資源名稱 'default' (必要)
性能 資源屬性。 DatabaseBlobAuditingPolicyProperties
類型 資源類型 'Microsoft.Sql/servers/databases/auditingSettings'

Terraform (AzAPI 提供者) 資源定義

servers/databases/auditingSettings 資源類型可以使用目標作業來部署:

  • 資源群組

如需每個 API 版本中已變更屬性的清單,請參閱 變更記錄檔

資源格式

若要建立 Microsoft.Sql/servers/databases/auditingSettings 資源,請將下列 Terraform 新增至範本。

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

屬性值

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
LEDGER_OPERATION_GROUP

這些群組涵蓋針對資料庫執行的所有 sql 語句和預存程式,且不應與其他群組搭配使用,因為這會導致重複的稽核記錄。

如需詳細資訊,請參閱 Database-Level 稽核動作群組

針對資料庫稽核原則,也可以指定特定動作(請注意,無法為伺服器稽核原則指定動作)。 要稽核的支援動作如下:
選擇
更新
插入
刪除
執行
收到
引用

定義要稽核之動作的一般窗體如下:
{action}ON {object} BY {principal}

請注意,上述格式 <物件> 可以參考數據表、檢視或預存程式或整個資料庫或架構等物件。 針對後者,會分別使用 DATABASE::{db_name} 和 SCHEMA::{schema_name} 窗體。

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

如需詳細資訊,請參閱 Database-Level 稽核動作
string[]
isAzureMonitorTargetEnabled 指定稽核事件是否傳送至 Azure 監視器。
若要將事件傳送至 Azure 監視器,請將 '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
指定稽核的狀態。 如果狀態為 Enabled,則需要 storageEndpoint 或 isAzureMonitorTargetEnabled。 'Disabled'
'Enabled' (必要)
storageAccountAccessKey 指定稽核記憶體帳戶的標識碼金鑰。
如果狀態為 Enabled 且 storageEndpoint 已指定,則未指定 storageAccountAccessKey 會使用 SQL Server 系統指派的受控識別來存取記憶體。
使用受控識別驗證的必要條件:
1.在 Azure Active Directory (AAD) 中指派系統指派的受控識別給 SQL Server。
2.將「記憶體 Blob 數據參與者」RBAC 角色新增至伺服器身分識別,以授與 SQL Server 身分識別對記憶體帳戶的存取權。
如需詳細資訊,請參閱使用受控識別驗證對記憶體 稽核
字串

約束:
敏感性值。 以安全參數的形式傳入。
storageAccountSubscriptionId 指定 Blob 記憶體訂用帳戶標識碼。 字串

約束:
最小長度 = 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。 字串

Microsoft.Sql/servers/databases/auditingSettings

名字 描述 價值
名字 資源名稱 'default' (必要)
parent_id 此資源為父系之資源的標識碼。 類型資源的標識碼:伺服器/資料庫
性能 資源屬性。 DatabaseBlobAuditingPolicyProperties
類型 資源類型 “Microsoft.Sql/servers/databases/auditingSettings@2021-05-01-preview”