共用方式為


ExtendedDatabaseBlobAuditingPolicy 類別

擴充的資料庫 Blob 稽核原則。

變數只會由伺服器填入,而且會在傳送要求時予以忽略。

繼承
azure.mgmt.sql.models._models_py3.ProxyResource
ExtendedDatabaseBlobAuditingPolicy

建構函式

ExtendedDatabaseBlobAuditingPolicy(*, predicate_expression: str | None = None, retention_days: int | None = None, audit_actions_and_groups: List[str] | None = None, is_storage_secondary_key_in_use: bool | None = None, is_azure_monitor_target_enabled: bool | None = None, queue_delay_ms: int | None = None, state: str | BlobAuditingPolicyState | None = None, storage_endpoint: str | None = None, storage_account_access_key: str | None = None, storage_account_subscription_id: str | None = None, **kwargs)

參數

名稱 Description
predicate_expression
必要
str

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

retention_days
必要
int

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

audit_actions_and_groups
必要

指定要稽核的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

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

如需詳細資訊,請參閱 資料庫層級稽核動作群組

針對資料庫稽核原則,也可以指定特定動作 (請注意,無法為伺服器稽核原則指定動作) 。 要稽核的支援動作如下:SELECT UPDATE INSERT DELETE EXECUTE RECEIVE REFERENCES

定義要稽核之動作的一般形式是: {action} ON {object} BY {principal}

請注意, <object> 上述格式可以參照資料表、檢視或預存程式或整個資料庫或架構等物件。 在後者的情況下,會分別使用 DATABASE::{db_name} 和 SCHEMA::{schema_name}。

例如:依 PUBLIC SELECT on DATABASE::myDatabase 上的 public SELECT on DBo.myTable by public SELECT on SCHEMA::mySchema by public

如需詳細資訊,請參閱 資料庫層級稽核動作

is_storage_secondary_key_in_use
必要

指定 storageAccountAccessKey 值是否為儲存體的次要金鑰。

is_azure_monitor_target_enabled
必要

指定稽核事件是否傳送至 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

queue_delay_ms
必要
int

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

state
必要

指定稽核的狀態。 如果 state 為 Enabled,則需要 storageEndpoint 或 isAzureMonitorTargetEnabled。 可能的值包括:「Enabled」、「Disabled」。

storage_endpoint
必要
str

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

storage_account_access_key
必要
str

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

  1. 在 Azure Active Directory (AAD) 中指派系統指派的受控識別SQL Server。

#. 將「儲存體 Blob 資料參與者」RBAC 角色新增至伺服器身分識別,以授與SQL Server儲存體帳戶的身分識別存取權。

如需詳細資訊,請參閱 >> 使用 << 受控識別驗證對儲存體進行稽核

<https://go.microsoft.com/fwlink/?linkid=2114355>`_.

storage_account_subscription_id
必要
str

指定 Blob 儲存體訂用帳戶識別碼。

僅限關鍵字參數

名稱 Description
predicate_expression
必要
retention_days
必要
audit_actions_and_groups
必要
is_storage_secondary_key_in_use
必要
is_azure_monitor_target_enabled
必要
queue_delay_ms
必要
state
必要
storage_endpoint
必要
storage_account_access_key
必要
storage_account_subscription_id
必要

變數

名稱 Description
id
str

資源識別碼。

name
str

資源名稱。

type
str

資源類型。