ExtendedServerBlobAuditingPolicyProperties interface

擴充伺服器 blob 稽核政策的屬性。

屬性

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} 對 {object} 由 {principal} 進行

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

例如:在 dbo.myTable 上以公開方式 在 SELECT::在 DATABASE::由公開上選擇 在 SCHEMA::mySchema 上以公開方式選擇

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

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 APIDiagnostic Settings PowerShell

isDevopsAuditEnabled

指定 devops 稽核的狀態。 如果狀態是啟用,DevOps 日誌會傳送到 Azure 監視器。 要將事件傳送到 Azure 監視器,請將「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 APIDiagnostic Settings PowerShell

isManagedIdentityInUse

指定受控識別是否用來存取 Blob 記憶體

isStorageSecondaryKeyInUse

指定 storageAccountAccessKey 值是否為記憶體的次要密鑰。

predicateExpression

指定建立稽核時,where 子句的條件。

queueDelayMs

指定可以在強制處理稽核動作之前經過的時間長度 (以毫秒為單位)。 預設值為1000 (1秒)。 最大值為 2,147,483,647。

retentionDays

指定要保留在記憶體帳戶稽核記錄中的天數。

state

指定稽核的狀態。 如果狀態為 Enabled,則需要 storageEndpoint 或 isAzureMonitorTargetEnabled。

storageAccountAccessKey

指定稽核記憶體帳戶的標識碼金鑰。 如果狀態為 Enabled 且 storageEndpoint 已指定,則未指定 storageAccountAccessKey 會使用 SQL Server 系統指派的受控識別來存取記憶體。 使用受控識別驗證的必要條件:

  1. Assign SQL Server a system-assigned managed identity in Azure Active Directory (AAD).
  2. 透過在伺服器身份中新增「Storage Blob Data Contributor」RBAC 角色,授予 SQL Server 身份存取權。 如需詳細資訊,請參閱使用受控識別驗證對記憶體 稽核
storageAccountSubscriptionId

指定 Blob 記憶體訂用帳戶標識碼。

storageEndpoint

指定 Blob 記憶體端點(例如 https://MyAccount.blob.core.windows.net)。 如果狀態為 Enabled,則需要 storageEndpoint 或 isAzureMonitorTargetEnabled。

屬性詳細資料

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} 對 {object} 由 {principal} 進行

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

例如:在 dbo.myTable 上以公開方式 在 SELECT::在 DATABASE::由公開上選擇 在 SCHEMA::mySchema 上以公開方式選擇

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

auditActionsAndGroups?: string[]

屬性值

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 APIDiagnostic Settings PowerShell

isAzureMonitorTargetEnabled?: boolean

屬性值

boolean

isDevopsAuditEnabled

指定 devops 稽核的狀態。 如果狀態是啟用,DevOps 日誌會傳送到 Azure 監視器。 要將事件傳送到 Azure 監視器,請將「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 APIDiagnostic Settings PowerShell

isDevopsAuditEnabled?: boolean

屬性值

boolean

isManagedIdentityInUse

指定受控識別是否用來存取 Blob 記憶體

isManagedIdentityInUse?: boolean

屬性值

boolean

isStorageSecondaryKeyInUse

指定 storageAccountAccessKey 值是否為記憶體的次要密鑰。

isStorageSecondaryKeyInUse?: boolean

屬性值

boolean

predicateExpression

指定建立稽核時,where 子句的條件。

predicateExpression?: string

屬性值

string

queueDelayMs

指定可以在強制處理稽核動作之前經過的時間長度 (以毫秒為單位)。 預設值為1000 (1秒)。 最大值為 2,147,483,647。

queueDelayMs?: number

屬性值

number

retentionDays

指定要保留在記憶體帳戶稽核記錄中的天數。

retentionDays?: number

屬性值

number

state

指定稽核的狀態。 如果狀態為 Enabled,則需要 storageEndpoint 或 isAzureMonitorTargetEnabled。

state: BlobAuditingPolicyState

屬性值

storageAccountAccessKey

指定稽核記憶體帳戶的標識碼金鑰。 如果狀態為 Enabled 且 storageEndpoint 已指定,則未指定 storageAccountAccessKey 會使用 SQL Server 系統指派的受控識別來存取記憶體。 使用受控識別驗證的必要條件:

  1. Assign SQL Server a system-assigned managed identity in Azure Active Directory (AAD).
  2. 透過在伺服器身份中新增「Storage Blob Data Contributor」RBAC 角色,授予 SQL Server 身份存取權。 如需詳細資訊,請參閱使用受控識別驗證對記憶體 稽核
storageAccountAccessKey?: string

屬性值

string

storageAccountSubscriptionId

指定 Blob 記憶體訂用帳戶標識碼。

storageAccountSubscriptionId?: string

屬性值

string

storageEndpoint

指定 Blob 記憶體端點(例如 https://MyAccount.blob.core.windows.net)。 如果狀態為 Enabled,則需要 storageEndpoint 或 isAzureMonitorTargetEnabled。

storageEndpoint?: string

屬性值

string