Azure Synapse Analytics audit log format

Tip

Microsoft Fabric Data Warehouse 是一個企業規模的關聯式倉庫,建立在資料湖基礎上,具備未來準備架構、內建 AI 及新功能。 如果你是資料倉儲新手,建議先從Fabric Data Warehouse開始。 現有的 專用 SQL 工作負載可升級至 Fabric,以取得資料科學、即時分析與報告等多項新功能。

Azure Synapse Analytics稽核追蹤資料庫事件並將其寫入Azure 儲存體,或送交Azure 事件中樞或Azure 監視器 Log Analytics進行下游處理與分析。

命名慣例

Blob 稽核

儲存在 Azure Blob 儲存體 中的稽核日誌會儲存在一個名為 sqldbauditlogs. 的容器中。 容器內的目錄階層為 <ServerName>/<DatabaseName>/<AuditName>/<Date>/。 blob 檔案名稱格式為 <CreationTime>_<FileNumberInSession>.xel,其中 CreationTime 使用 UTC hh_mm_ss_ms 格式,當 FileNumberInSession 一個會話跨越多個 blob 檔案時,是持續的索引。

例如,以下路徑適用於伺服器Server1上的資料庫Database1:

Server1/Database1/SqlDbAuditing_ServerAudit_NoRetention/2019-02-03/12_23_30_794_0.xel

事件中樞

稽核事件會寫入命名空間,並設定為可稽核的事件中心。 事件會被捕捉在 Apache Avro 事件的主體中,並使用 JSON 格式搭配 UTF-8 編碼。

Log Analytics

稽核事件會寫入AzureDiagnostics設定的 Log Analytics 工作區中的表格。 資料庫稽核事件使用該SQLSecurityAuditEvents類別,Microsoft 支援作業則使用該DevOpsOperationsAudit類別。 查詢指引請參見 Log Analytics 查詢。

稽核日誌欄位

名稱(blob) 名稱(Event Hubs/Log Analytics) Description Blob 類型 Event Hubs/Log Analytics 類型
action_id action_id_s 動作的ID碼 varchar(4) string
action_name action_name_s 行動名稱 N/A string
additional_information additional_information_s 關於事件的任何額外資訊,都儲存為 XML nvarchar(4000) string
affected_rows affected_rows_d 查詢影響的列數 bigint int
application_name application_name_s 用戶端應用程式名稱 nvarchar(128) string
audit_schema_version audit_schema_version_d 永遠為 1 int int
class_type class_type_s 審計對象的可稽核實體類型 varchar(2) string
class_type_desc class_type_description_s 審計所屬的可稽核實體描述 N/A string
client_ip client_ip_s 用戶端應用程式的來源 IP nvarchar(128) string
connection_id N/A 伺服器中連線的 ID GUID N/A
data_sensitivity_information data_sensitivity_information_s 根據資料庫中的分類資料行,稽核查詢返回的資訊類型和敏感度標籤。 欲了解更多資訊,請參閱 Azure Synapse Analytics 安全性:威脅防護 nvarchar(4000) string
database_name database_name_s 該動作發生的資料庫上下文 sysname string
database_principal_id database_principal_id_d 執行該動作的資料庫使用者上下文的識別碼 int int
database_principal_name database_principal_name_s 執行該動作的資料庫使用者上下文名稱 sysname string
duration_milliseconds duration_milliseconds_d 查詢執行持續時間 (以毫秒為單位) bigint int
event_time event_time_t 可稽核動作觸發的日期與時間 datetime2 datetime
host_name N/A 用戶端主機名稱 string N/A
is_column_permission is_column_permission_s 指示這是否為資料行層級許可權的旗標。 1 = true,0 = false bit string
N/A is_server_level_audit_s 標示此審計是否發生在伺服器層級 N/A string
object_ 身分證 object_id_d 稽核發生所在之實體的識別碼。 這包括:伺服器物件、資料庫、資料庫物件和結構物件。 若實體為伺服器本身,或審計未在物件層級執行,則為 0 int int
object_name object_name_s 稽核發生所在之實體的名稱。 這包括:伺服器物件、資料庫、資料庫物件和結構物件。 若實體為伺服器本身,或審計未在物件層級執行,則為 0 sysname string
obo_middle_tier_app_id obo_middle_tier_app_id_s 是中階應用程式的應用程式 ID,該應用程式使用 OBO 存取方式連接到 Azure Synapse Analytics。 varchar(120) string
permission_bitmask permission_bitmask_s 適用時,顯示已授與、拒絕或撤銷的許可權 varbinary(16) string
response_rows response_rows_d 結果集回傳的列數 bigint int
schema_name schema_name_s 動作發生所在的結構描述環境。 NULL 用於進行結構外的稽核 sysname string
N/A securable_class_type_s 可保護的物件,對應到被稽核的對象class_type N/A string
sequence_group_id sequence_group_id_g 唯一識別碼 varbinary GUID
sequence_number sequence_number_d 追蹤單一稽核記錄中太長而無法納入稽核寫入緩衝區內的記錄順序。 Azure Synapse Analytics 審計會儲存 4000 字元的資料,用於稽核記錄中的字元欄位。 當字元超過 4000 個字元時,超過前 4000 個字元的資料會被截斷 int int
server_instance_name server_instance_name_s 進行稽核的伺服器實例名稱 sysname string
server_principal_id server_principal_id_d 執行該動作的登入上下文識別碼 int int
server_principal_name server_principal_name_s 目前登入 sysname string
server_principal_sid server_principal_sid_s 目前登入 SID varbinary string
session_id session_id_d 事件發生時的會議編號 smallint int
session_server_principal_name session_server_principal_name_s 伺服器主體用於會話 sysname string
statement statement_s 已執行的 T-SQL 陳述句(如果有的話) nvarchar(4000) string
succeeded succeeded_s 指示觸發此事件的動作是否成功。 對於登入與批次以外的事件,這只會報告權限檢查是否成功,而非操作本身。 1 = 成功,0 = 失敗 bit string
target_database_principal_id target_database_principal_id_d 操作所執行的資料庫主體GRANT//DENYREVOKE為 0,若不適用 int int
target_database_principal_name target_database_principal_name_s 動作的目標使用者。 NULL 若不適用 string string
target_server_principal_id target_server_principal_id_d 執行作業的伺服器主體 GRANT/DENY/REVOKE 。 若不適用,回報為0 int int
target_server_principal_name target_server_principal_name_s 動作的目標登入。 NULL 若不適用 sysname string
target_server_principal_sid target_server_principal_sid_s 目標登入的 SID。 NULL 若不適用 varbinary string
transaction_id transaction_id_d Not populated for Azure Synapse Analytics bigint int
user_defined_event_id user_defined_event_id_d 傳遞做為自變數給 sp_audit_write的使用者定義事件標識碼。 NULL 針對系統事件 (預設值) 和使用者定義事件的非零。 更多資訊請參見 sp_audit_write(Transact-SQL) smallint int
user_defined_information user_defined_information_s 使用者定義的資訊作為參數傳遞給 sp_audit_write。 系統事件(預設)為 NULL,使用者自訂事件為非零。 更多資訊請參見 sp_audit_write(Transact-SQL) nvarchar(4000) string