DatabaseBlobAuditingPolicyProperties interface
資料庫 blob 稽核政策的特性。
屬性
| audit |
指定要稽核的 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 稽核動作 |
| is |
指定審計事件是否會傳送到 Azure 監視器。 若要將事件傳送到 Azure 監視器,請將「State」設為「Enabled」,「IsAzureMonitorTargetEnabled」為 true。 使用 REST API 設定稽核時,也應該在資料庫上建立具有 'SQLSecurityAuditEvents' 診斷記錄類別的診斷設定。 請注意,針對伺服器層級稽核,您應該使用 'master' 資料庫作為 {databaseName}。 診斷設定 URI 格式:PUT 欲了解更多資訊,請參閱 診斷設定 REST API 或 Diagnostic Settings PowerShell |
| is |
指定受控識別是否用來存取 Blob 記憶體 |
| is |
指定 storageAccountAccessKey 值是否為記憶體的次要密鑰。 |
| queue |
指定可以在強制處理稽核動作之前經過的時間長度 (以毫秒為單位)。 預設值為1000 (1秒)。 最大值為 2,147,483,647。 |
| retention |
指定要保留在記憶體帳戶稽核記錄中的天數。 |
| state | 指定稽核的狀態。 如果狀態為 Enabled,則需要 storageEndpoint 或 isAzureMonitorTargetEnabled。 |
| storage |
指定稽核記憶體帳戶的標識碼金鑰。 如果狀態為 Enabled 且 storageEndpoint 已指定,則未指定 storageAccountAccessKey 會使用 SQL Server 系統指派的受控識別來存取記憶體。 使用受控識別驗證的必要條件:
|
| storage |
指定 Blob 記憶體訂用帳戶標識碼。 |
| storage |
指定 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 稽核動作
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 API 或 Diagnostic Settings PowerShell
isAzureMonitorTargetEnabled?: boolean
屬性值
boolean
isManagedIdentityInUse
指定受控識別是否用來存取 Blob 記憶體
isManagedIdentityInUse?: boolean
屬性值
boolean
isStorageSecondaryKeyInUse
指定 storageAccountAccessKey 值是否為記憶體的次要密鑰。
isStorageSecondaryKeyInUse?: boolean
屬性值
boolean
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 系統指派的受控識別來存取記憶體。 使用受控識別驗證的必要條件:
- Assign SQL Server a system-assigned managed identity in Azure Active Directory (AAD).
- 透過在伺服器身份中新增「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