訓練
認證
Microsoft Certified: Azure Database Administrator Associate - Certifications
使用 Microsoft PaaS 關聯式資料庫供應項目管理用於雲端、內部部署和混合關聯式資料庫的 SQL Server 資料庫基礎結構。
適用於:Azure SQL 受控執行個體
Azure SQL 受控執行個體稽核會追蹤資料庫事件並將事件寫入至您 Azure 儲存體帳戶中的稽核記錄。 稽核也會:
重要
適用於 Azure SQL Database、Azure Synapse 和 Azure SQL 受控執行個體的稽核已針對可用性和效能最佳化。 在大量活動或網路高度負載期間,Azure SQL Database、Azure Synapse 和 Azure SQL 受控執行個體會允許作業繼續進行,而且可能不會記錄部份稽核事件。
下節描述在您受控執行個體上進行稽核的設定。
移至 Azure 入口網站。
建立用來儲存稽核記錄的 Azure 儲存體容器。
瀏覽至您要儲存稽核記錄的 Azure 儲存體帳戶。
在儲存體帳戶中,移至 [概觀],然後按一下 [Blob]。
在上方功能表中,選取 [+ 容器] 建立新的容器。
提供一個容器 [名稱],將 [公用存取層級] 設定為 [私人],然後選取 [確定]。
重要
客戶希望針對伺服器或資料庫層級的稽核事件設定不可變的記錄存放區,應該依循 Azure 儲存體所提供的指示。 (在您設定不可變的 Blob 儲存體時,請確定您已選取 [允許其他附加]。)
在建立稽核紀錄的容器之後,共有兩個方法可將該容器設定為稽核記錄的目標:使用 T-SQL 或使用 SQL Server Management Studio (SSMS) UI:
在容器清單中,選取新建立的容器,然後選取 [容器屬性]。
選取複製圖示以複製容器 URL,然後儲存 URL (例如,儲存在 [記事本] 中) 以供之後使用。 容器 URL 的格式應為 https://<StorageName>.blob.core.windows.net/<ContainerName>
產生 Azure 儲存體 SAS 權杖來將受控執行個體稽核存取權限授與至儲存體帳戶:
瀏覽至您在上一個步驟中建立容器的 Azure 儲存體帳戶。
在 [儲存體設定] 功能表中,選取 [共用存取簽章]。
請依照下列方式設定 SAS:
允許的服務:Blob
開始日期:若要避免時區相關的問題,請使用昨天的日期
結束日期:選擇此 SAS 權杖到期的日期
注意
在過期時更新權杖,以避免稽核失敗。
選取 [產生 SAS]。
SAS 權杖會出現在底部。 選取複製圖示以複製權杖,然後儲存權杖 (例如,儲存在 [記事本] 中) 以供之後使用。
重要
移除權杖開頭的問號 (?
) 字元。
透過 SQL Server Management Studio (SSMS) 或任何其他支援的工具連線至受控執行個體。
執行下列 T-SQL 陳述式,以使用您在上一個步驟中建立的容器 URL 和 SAS 權杖來建立新的認證:
CREATE CREDENTIAL [<container_url>]
WITH IDENTITY='SHARED ACCESS SIGNATURE',
SECRET = '<SAS KEY>'
GO
執行下列 T-SQL 陳述式來建立新的伺服器稽核 (選擇您自己的稽核名稱,並使用您在上一個步驟中建立的容器 URL)。 如果未指定,RETENTION_DAYS
預設為 0 (無限制的保留期):
CREATE SERVER AUDIT [<your_audit_name>]
TO URL (PATH ='<container_url>', RETENTION_DAYS = <integer>);
GO
藉由建立伺服器稽核規格或資料庫稽核規格來繼續。
請使用 SQL Server Management Studio (SSMS) 18 和更新版本設定稽核記錄的 Blob 儲存體:
使用 SQL Server Management Studio (SSMS) UI 來連線至受控執行個體。
展開 [物件總管] 的根節點。
展開 [安全性] 節點,以滑鼠右鍵按一下 [稽核] 節點,然後選取 [新增稽核]:
確定已選取 [稽核目的地] 中的 [URL],然後選取 [瀏覽]:
(選擇性) 登入您的 Azure 帳戶:
從下拉式清單中選取訂用帳戶、儲存體帳戶和 Blob 容器,或者,選取 [建立] 以建立您自己的容器。 完成之後,選取 [確定]:
在 [建立稽核] 對話方塊中,選取 [確定]。
注意
使用 SQL Server Management Studio UI 來建立稽核時,會自動建立具有 SAS 金鑰的容器認證。
將 Blob 容器設定為稽核記錄的目標之後,如同您對 SQL Server 的操作,請建立並啟用伺服器稽核規格或資料庫稽核規格:
啟用您在步驟 3 中建立的伺服器稽核:
ALTER SERVER AUDIT [<your_audit_name>]
WITH (STATE = ON);
GO
如需其他資訊:
適用於 SQL 受控執行個體的 Microsoft 支援服務作業稽核,可讓您在支援要求期間,在 Microsoft 支援工程師的作業需要存取您的伺服器時,對其進行稽核。 將這項功能與稽核搭配使用,可提升您的員工透明度,並可進行異常偵測、趨勢視覺化和資料外洩防護。
若要啟用 Microsoft 支援服務作業的稽核,請在 SQL 受控執行個體中,巡覽至 [安全性] > [稽核] 下的 [建立稽核],然後選取 [Microsoft support operations]。
注意
您必須建立另一個伺服器稽核以用於稽核 Microsoft 作業。 如果您在現有的稽核中啟用此核取方塊,則會覆寫該稽核且僅記錄支援作業。
來自受控執行個體的稽核記錄可以傳送至 Azure 事件中樞或 Azure 監視器記錄。 本節說明如何進行此設定:
在 Azure 入口網站中瀏覽至受控執行個體。
選取 [診斷設定]。
選取 [開啟診斷]。 如果已經啟用診斷,則會改為顯示 [+新增診斷設定]。
從記錄清單中選取 [SQLSecurityAuditEvents]。
如果您要設定 Microsoft 支援作業,請在記錄清單中選取 [DevOps 作業稽核記錄]。
選取稽核事件的目的地:事件中樞、Azure 監視器記錄或兩者。 針對每個目標設定必要參數 (例如 Log Analytics 工作區)。
選取 [儲存]。
使用 SQL Server Management Studio (SSMS) 或任何其他支援的用戶端來連線至受控執行個體。
執行下列 T-SQL 陳述式以建立伺服器稽核:
CREATE SERVER AUDIT [<your_audit_name>] TO EXTERNAL_MONITOR;
GO
就像對 SQL Server 一樣,建立和啟用伺服器稽核規格或資料庫稽核規格:
啟用在步驟 8 中建立的伺服器稽核:
ALTER SERVER AUDIT [<your_audit_name>]
WITH (STATE = ON);
GO
-- Create audit without OPERATOR_AUDIT - Will audit standard SQL Audit events
USE [master];
GO
CREATE SERVER AUDIT testingauditnodevops TO EXTERNAL_MONITOR;
GO
CREATE SERVER AUDIT SPECIFICATION testingaudit_Specification_nodevops
FOR SERVER AUDIT testingauditnodevops ADD (SUCCESSFUL_LOGIN_GROUP),
ADD (BATCH_COMPLETED_GROUP),
ADD (FAILED_LOGIN_GROUP)
WITH (STATE = ON);
GO
ALTER SERVER AUDIT testingauditnodevops
WITH (STATE = ON);
GO
-- Create separate audit without OPERATOR_AUDIT ON - Will audit Microsoft Support Operations
USE [master]
CREATE SERVER AUDIT testingauditdevops TO EXTERNAL_MONITOR
WITH (OPERATOR_AUDIT = ON);
GO
CREATE SERVER AUDIT SPECIFICATION testingaudit_Specification_devops
FOR SERVER AUDIT testingauditdevops ADD (SUCCESSFUL_LOGIN_GROUP),
ADD (BATCH_COMPLETED_GROUP),
ADD (FAILED_LOGIN_GROUP)
WITH (STATE = ON);
GO
ALTER SERVER AUDIT testingauditdevops
WITH (STATE = ON);
GO
有幾種方法可以用於檢視 Blob 稽核記錄。
使用系統函式 sys.fn_get_audit_file
(T-SQL) 以表格格式傳回稽核記錄資料。 如需有關如何使用此函數的詳細資訊,請參閱 sys.fn_get_audit_file 文件 (英文)。
您可以使用工具 (例如 Azure 儲存體總管) 來查看稽核記錄。 在 Azure 儲存體中,稽核記錄會以 Blob 檔案集合的方式儲存在定義來儲存稽核記錄的容器內。 如需儲存體資料夾階層、命名慣例以及記錄格式的詳細資訊,請參閱 Blob 稽核記錄格式參考。
如需稽核記錄耗用方法的完整清單,請參閱開始使用 Azure SQL Database 稽核。
若要取用來自事件中樞的稽核記錄資料,您必須設定資料流以取用事件並將其寫入至目標。 如需詳細資訊,請參閱 Azure 事件中樞文件。
如果稽核記錄寫入 Azure 監視器記錄,則會出現在 Log Analytics 工作區中,而您可以在其中對稽核資料執行進階搜尋。 請瀏覽至 Log Analytics 工作區來開始。 在 [一般] 區段下方,選取 [記錄],然後輸入基本的查詢,例如:search "SQLSecurityAuditEvents"
以檢視稽核記錄。
Azure 監視器記錄可供使用整合式搜尋和自訂儀表板來立即分析所有工作負載和伺服器上數百萬筆的記錄,以取得即時作業見解。 如需 Azure 監視器的記錄搜尋語言和命令詳細資訊,請參閱 Azure 監視器記錄搜尋參考。
注意
本文最近有所更新,改為使用「Azure 監視器記錄」一詞,而非 Log Analytics。 記錄資料仍儲存在 Log Analytics 工作區中,並仍由相同的 Log Analytics 服務收集和分析。 我們會持續更新術語,以更精確地反映 Azure 監視器記錄的角色。 如需詳細資料,請參閱 Azure 監視器遙測變更。
Azure SQL 受控執行個體中資料庫和 SQL Server 中資料庫之間的主要稽核差異在於:
.xel
記錄檔儲存在 Azure Blob 儲存體中。受控執行個體中的 XEvent 稽核支援 Azure Blob 儲存體目標。 不支援檔案和 Windows 記錄。
向 Azure Blob 儲存體進行稽核的 CREATE AUDIT
語法有一個主要差異:
TO URL
,可讓您指定放置 .xel
檔案的 Azure Blob 儲存體容器 URL。TO EXTERNAL MONITOR
以啟用事件中樞和 Azure 監視器記錄目標。TO FILE
,因為 Azure SQL 受控執行個體無法存取 Windows 檔案共用。queue_delay
。訓練
認證
Microsoft Certified: Azure Database Administrator Associate - Certifications
使用 Microsoft PaaS 關聯式資料庫供應項目管理用於雲端、內部部署和混合關聯式資料庫的 SQL Server 資料庫基礎結構。
文件
設定稽核 - Azure SQL Database & Azure Synapse Analytics
本文概述如何設定稽核,並將這些稽核儲存至 Azure 儲存體帳戶、Log Analytics 工作區或事件中樞目的地。
使用稽核以分析稽核記錄和報告 - Azure SQL Database & Azure Synapse Analytics
使用稽核來分析 Log Analytics、事件中樞或透過 Azure 儲存體帳戶的記錄。
SQL Database 稽核記錄格式 - Azure SQL Database & Azure Synapse Analytics
了解 Azure SQL Database 稽核記錄的架構。