本文協助您識別並解決 Microsoft Defender for SQL on Machines 在商業雲端環境中的設定與保護問題。
這很重要
本文適用於 Azure 商業雲端與 Azure Government 雲端。
在開始故障排除前,先在 Azure 訂閱層級或 SQL Server 資源層啟用 Defender for SQL Server on Machines。
步驟一:所需資源與啟用流程
Defender for SQL Server on Machines 會自動在您的機器上建立以下資源:
| 資源類型 | 關卡創建 |
|---|---|
| 系統受控識別。 只有在沒有使用者定義的管理身份時才會被建立。 | 裝載 SQL Server 執行個體的虛擬機器或已啟用 Arc 的伺服器 |
| Defender for SQL 延伸模組 | 該擴充功能安裝於每個虛擬機器/支援 Arc 的伺服器上,這些伺服器承載著 SQL Server 實例 |
當你在訂閱或指定的 SQL Server 上啟用 Defender for SQL Server 時,它會執行以下動作來保護每個 SQL Server 實例:
- 如果訂閱中沒有使用者管理身份,則會建立系統管理身份。
- 在裝載 SQL Server 的虛擬機器/已啟用 Arc 的伺服器上安裝 Defender for SQL 擴充功能。
- 冒充執行 SQL Server 服務(預設系統管理員角色)的 Windows 使用者來存取 SQL Server 實例。
步驟二:確保您已符合先決條件
在排除故障前,請確保以下先決條件已達成:
訂用帳戶許可權:若要在訂用帳戶上部署方案,包括 Azure 原則,您需要 訂用帳戶擁有者 許可權。
SQL Server 實例權限:SQL Server 服務帳號必須在每個 SQL Server 實例上擁有系統管理員固定伺服器角色,這是預設設定。 欲了解更多資訊,請參閱 SQL Server 服務帳號需求。
支援的資源:
- 支援 SQL 虛擬機和 Azure Arc SQL Server 實例。
- 內部部署機器必須 上線至Arc,並註冊為 Azure Arc SQL Server 實例。
通訊:允許使用傳輸層安全性 (TLS),透過傳輸控制通訊協定 (TCP) 連接埠 443 對
*.<region>.arcdataservices.comURL 進行輸出 HTTPS 流量。 欲了解更多資訊,請參閱 網址要求。擴充功能:請確定這些擴充功能不會在您的環境中遭到封鎖。 深入瞭解 限制 Windows VM 上的擴充功能安裝。
SQL Defender(適用於 IaaS 和 Arc)
- 發行者:Microsoft.Azure.AzureDefenderForSQL
- 類型:AdvancedThreatProtection.Windows
SQL IaaS 擴充功能 (IaaS)
- 發行者:Microsoft.SqlServer.Management
- 類型:SqlIaaSAgent
SQL IaaS 延伸模組 (Arc)
- 發行者:Microsoft.AzureData
- 類型:WindowsAgent.SqlServer
支援的 SQL Server 版本:SQL Server 2012 R2(11.x)及後續版本。
支援作業系統:SQL Server 2012 R2 及更新版本。
步驟 3:在 SQL Server 實例層級識別並解決保護設定錯誤
請依驗證流程辨識 SQL Server 實例上的保護設定錯誤。
該建議 The status of Microsoft SQL Servers on Machines should be protected 可用於驗證 SQL 伺服器的保護狀態,但建議應在資源層級進行修復。 任何未受保護的 SQL 伺服器會在推薦的不健康資源區塊中標示,並列出保護狀態及原因。
這很重要
建議僅每 12 小時更新一次。 要檢查機器的即時狀態,您必須 驗證每台 SQL 伺服器的保護狀態 ,並在必要時進行故障排除。
請使用對應的異常原因和建議動作來解決設定錯誤:
| 不健康的理由 | 建議的動作 |
|---|---|
| 失蹤的身份 | 將使用者指定的/系統指定的受控識別指派給託管 SQL Server 執行個體的虛擬機器/啟用 Azure Arc 的伺服器。 不需要基於角色的存取控制權限。 |
| SQL 擴充功能的 Defender 不存在 | 確保 Defender for SQL 擴充功能不會被 Azure 的拒絕政策封鎖: - 發行者: Microsoft.Azure.AzureDefenderForSQL - 類型:先進威脅防護。Windows 手動在虛擬機器上安裝 Defender for SQL 擴充功能,並透過提供的腳本來架設 SQL Server 實例。 確保你使用的是版本 2.X 或以上。 1. 執行這個腳本 Set-AzVMExtension -Publisher 'Microsoft.Azure.AzureDefenderForSQL' -ExtensionType 'AdvancedThreatProtection.Windows' -ResourceGroupName 'resourceGroupeName' -VMName <Vm name> -Name 'Microsoft.Azure.AzureDefenderForSQL.AdvancedThreatProtection.Windows' -TypeHandlerVersion '2.0' -Location 'vmLocation' -EnableAutomaticUpgrade $true 2. 執行此腳本以設定正確訂閱的上下文: connect-AzAccount -Subscription SubscriptionId -UseDeviceAuthentication |
| Defender for SQL 擴充功能應保持在最新狀態 | 在虛擬機器/已啟用 Arc 的伺服器資源的 [擴充功能] 頁面上更新該擴充功能。 |
| 安裝 Defender for SQL 擴充套件時發生錯誤 | 請在入口網站查看 Defender 的 SQL 擴充狀態,以獲得更多資訊來排查問題。 |
| SQL Server 實例處於非啟用狀態 | Defender for SQL Server on Machines 只能保護活躍(正在執行的)SQL Server 實例。 |
| 權限不足 | 確保 SQL Server 服務帳號是每個 SQL Server 實例中系統管理員固定伺服器角色的成員(預設設定)。 了解更多關於 SQL Server 服務權限的資訊。 |
| 缺乏溝通 | 確保允許從虛擬機/啟用 Arc 的伺服器,使用傳輸層安全性協定 (TLS) 在 TCP 連接埠 443 上輸出 HTTPS 流量到*.<region>.arcdataservices.com URL。 了解更多關於 網址要求 |
| 需要重新啟動 SQL 伺服器 | 重新啟動 SQL Server 實例,讓 Defender for SQL Server 安裝生效。 |
| 內部誤差 | 請連絡支援人員。 |
同一虛擬機上的多個 SQL Server 實例
如果你在同一台虛擬機器上安裝了多個 SQL Server 實例,建議The status of Microsoft SQL Servers on Machines should be protected無法區分不同實例。 為了將錯誤訊息與對應的 SQL Server 實例關聯,請在 Defender for SQL 擴充功能下檢查錯誤訊息。 Defender for SQL 擴充功能可顯示每個實例的以下理由:
- 重新啟動 SQL Server
- 檢查權限
- 確保 SQL Server 實例是啟用狀態
根據上述不良原因,採取步驟 3 中所述的適當行動:識別並解決保護錯誤設定,以修復該 SQL Server 實例的錯誤設定。
步驟四:重新驗證保護狀態
完成每個 SQL Server 實例所有錯誤的修復後,請重新驗證每個 SQL Server 實例的保護狀態。