在 Azure SQL 託管執行個體中的 SQL Server 稽核

適用於:Azure SQL 受控執行個體

你可以在Azure SQL 受控執行個體設定 SQL Server Audit。

  • 稽核可協助您保持法規遵循、了解資料庫活動,以及深入了解可指出商務考量或疑似安全違規的不一致和異常。
  • 稽核有助於並促進遵守合規標準,儘管它並不保證一定合規。 欲了解更多資訊,請參閱 Microsoft Azure Trust Center,您可以在那裡找到最新的 SQL 受管理執行個體 合規認證清單。

要開始在Azure SQL 受控執行個體中配置SQL Server稽核,請參見開始Azure SQL 受控執行個體稽核。

效能優化

Azure SQL 受控執行個體 的稽核經過優化,以提升可用性與效能。 在高活動或高網路負載時,Azure SQL 受控執行個體 允許操作繼續,且可能無法記錄部分稽核事件。

審查 Microsoft 支援服務的運作

SQL 受管理執行個體 的 Microsoft 支援作業稽核,使您能夠在 Microsoft 支援工程師需要存取您的伺服器以便處理支援請求時,進行稽核其運作。 將這項功能與稽核搭配使用,可提升您的員工透明度,並可進行異常偵測、趨勢視覺化和資料外洩防護。

要啟用 Microsoft 支援操作的稽核,請在 SQL 管理實例中進入 Security 項下的 Create Audit>,並選擇 Microsoft 支援操作。

SQL Server Management Studio截圖顯示Microsoft支援操作勾選框。

備註

你必須建立一個專門用於稽核 Microsoft 營運的伺服器稽核。 如果您針對現有稽核啟用此核取方塊,則會覆寫稽核,並僅記錄支援作業。

Azure SQL 受控執行個體 中的內部操作

在 Azure SQL Database 與 Azure SQL 受控執行個體 中,由 SQLDBControlPlaneFirstPartyApp 引發的事件是 Azure SQL Database 控制平面 的內部 Azure 功能。 由 SQLDBControlPlaneFirstPartyApp 發起的事件是 SQL 引擎與 Azure Resource Manager 之間內部同步操作的一部分。 這些事件是資源管理的正常部分,是 Azure 中正確表示與運作所必需的。

Azure SQL 受控執行個體 與 SQL Server 資料庫之間的審計差異

Azure SQL 受控執行個體 資料庫稽核與 SQL Server 資料庫的主要差異有:

  • 有了 Azure SQL 受控執行個體,稽核是在伺服器層級運作,並將 .xel 日誌檔案儲存在 Azure Blob 儲存中。
  • 在 SQL Server 中,審計功能在伺服器層級運作,但事件會儲存在檔案系統和 Windows 事件日誌中。

XEvent 在受管理實例中稽核支援 Azure Blob 儲存目標。 檔案與Windows日誌皆為不支援。

CREATE AUDIT 語法在審核 Azure Blob 儲存體時的主要差異有:

  • 新增語法 TO URL,讓你能指定放置 .xel 檔案的 Azure Blob 儲存容器的網址。
  • 新增語法 TO EXTERNAL MONITOR 以啟用事件中樞及 Azure 監視器 日誌目標。
  • 語法 TO FILE 不支援,因為 Azure SQL 受控執行個體 無法存取 Windows 檔案共用。
  • 不支援關機選項。
  • queue_delay 不支援使用 0 的 。

許可

要設定稽核,你需要在 SQL 管理實例內擁有資料庫權限,並且還需要對用於儲存和存取稽核日誌的 Azure 資源擁有權限。

要設定 SQL 管理的實例稽核,您需要以下資料庫權限:

資料庫權限 設定稽核 使用 T-SQL 查看稽核日誌
VIEW DATABASE SECURITY AUDIT No 是的
ALTER ANY DATABASE AUDIT 是的 No
CONTROL DATABASE 是的 是的

要在 Azure 儲存體中設定稽核功能,你需要在儲存帳戶上具備 Storage Blob 資料貢獻者 角色或更高的權限。 若要將稽核設定到 Event Hubs 或 Log Analytics,你需要在 Event Hubs 或 Log Analytics 工作區所配置的資源群組上,啟用 Monitoring Contributor 角色或更高的權限。

自動內部連接測試

啟用稽核後,你可能會發現 Azure SQL 受控執行個體 會自動執行內部連線測試,以監控服務可靠性並加速問題偵測。 這些測試每 10 秒從 SQL 管理實例子網內的內部 IP 位址執行一次,對網路吞吐量與服務效能的影響微乎其微。 其中一個測試透過嘗試使用已知失敗的憑證()登入,驗證端對端連線,該憑證AzureSQLConnectivityChecker會在稽核日誌、擴展事件及 SQL 錯誤日誌中產生預期失敗的登入紀錄。 這些紀錄很正常,並不代表有安全問題。 欲了解更多資訊,包括如何在日誌中識別測試簽名,請參閱 自動內部連接測試。

下一個步驟