在 Azure 中保護 PaaS 資料庫的最佳實務

本文提供一系列 Azure SQL Database 與 Azure Synapse Analytics 的安全最佳實務,以保護您的平台即服務(PaaS)網頁與行動應用程式的安全。 Microsoft 從與 Azure 及 Azure 客戶的經驗中得出這些最佳實務。

Azure SQL Database 與 Azure Synapse Analytics 提供針對您網際網路應用的關聯式資料庫服務。 檢視在 PaaS 部署中使用 Azure SQL Database 與 Azure Synapse Analytics 時,協助保護應用程式與資料的服務:

  • Microsoft Entra 認證(取代 SQL Server 認證)
  • Azure SQL 防火牆
  • 透明資料加密 (TDE)

使用集中式身分識別存放庫

你可以設定 Azure SQL Database 使用兩種認證方式之一:

  • SQL 驗證 會使用使用者名稱和密碼。 當你為資料庫建立伺服器時,你會指定使用者名稱和密碼的 server admin 驗證。 利用這些憑證作為資料庫擁有者,向該伺服器上的任何資料庫進行認證。

  • Microsoft Entra 認證使用由 Microsoft Entra ID 管理的身份,並支援受管理及整合網域。 要使用 Microsoft Entra 認證,您必須建立另一個伺服器管理員,稱為 ,Microsoft Entra admin該管理員能管理 Microsoft Entra 使用者與群組。 此管理員也可以執行一般伺服器管理員可執行的所有作業。

Microsoft Entra 認證是一種透過使用 Microsoft Entra ID 中的身份來連接 Azure SQL Database 和 Azure Synapse Analytics 的機制。 Microsoft Entra ID 提供了 SQL Server 認證的替代方案,讓你能阻止使用者身份在資料庫伺服器間的擴散。 Microsoft Entra 驗證可讓您集中管理資料庫使用者和其他Microsoft服務在一個中央位置的身分識別。 中央識別碼管理提供單一位置以管理資料庫使用者並簡化權限管理。

Microsoft Entra ID 取代 SQL 認證的優點

  • 允許在單一位置變換密碼。
  • 你可以透過外部的 Microsoft Entra 群組來管理資料庫權限。
  • 透過啟用整合的 Windows 驗證 及 Microsoft Entra ID 支援的其他認證方式,消除密碼儲存。
  • 使用受限資料庫用戶來認證資料庫層級的身分識別。
  • 支援連線到 SQL Database 之應用程式的令牌型驗證。
  • 支援與 Active Directory 同盟服務(ADFS)進行網域聯盟,或本地 Microsoft Entra ID 的原生使用者/密碼驗證,無需網域同步。
  • 它支援使用 Active Directory 通用驗證(包含多重驗證,MFA)的 SQL Server Management Studio 連線。 MFA 包含具有一系列簡單驗證選項的強式驗證。 驗證選項包括電話、簡訊、帶有密碼的智慧卡,或行動應用程式通知。 欲了解更多資訊,請參閱 Universal Authentication with SQL Database and Azure Synapse Analytics。

欲了解更多關於 Microsoft Entra 認證的資訊,請參閱:

備註

為了確保Microsoft Entra ID適合你的環境,請參閱 Microsoft Entra 功能與限制。

根據 IP 位址限制存取權限

您可以建立防火牆規則,以指定可接受的IP位址範圍。 你可以在伺服器層級和資料庫層級都針對這些規則進行調整。 盡可能使用資料庫層級防火牆規則,以增強安全性並使資料庫更具可攜性。 當您不想花時間逐一設定每個資料庫時,請針對管理員以及多個具有相同存取需求的資料庫使用伺服器層級防火牆規則。

SQL 資料庫預設來源 IP 位址限制允許從任何 Azure 位址存取,包括其他訂閱與租戶。 你可以限制它,只允許你的 IP 位址存取該實例。 即使有 SQL 防火牆和 IP 位址限制,仍然需要強身份驗證。 請參閱本文稍早所做的建議。

欲了解更多關於 Azure SQL 防火牆及 IP 限制的資訊,請參見:

加密待用資料

透明資料加密 (TDE) 預設為啟用。 TDE 透明地加密 SQL Server、Azure SQL Database 以及 Azure Synapse Analytics 的資料與日誌檔案。 TDE 可防止檔案或其備份的直接存取受到危害。 此功能讓您能在不更改現有應用程式的情況下加密靜態資料。 保持 TDE 開啟。 然而,TDE 並不能阻止使用正常存取路徑的攻擊者。 TDE 幫助您遵守各行各業制定的多項法律、法規與指引。

Azure SQL 會管理 TDE 中與金鑰相關的問題。 與 TDE 本地部署相同,請特別注意確保可恢復性並支援資料庫移動。 在更複雜的情境下,你可以透過可擴充的金鑰管理,明確管理 Azure Key Vault 中的金鑰。 請參見 使用 EKM 在 SQL Server 上啟用 TDE。 此功能也支援透過 Azure Key Vault BYOK 功能使用自備金鑰(BYOK)。

Azure SQL 提供欄位的加密,通過Always Encrypted。 此功能僅允許授權應用程式存取敏感欄位。 這種加密限制了對加密欄位的 SQL 查詢,僅限於基於等值的值。

選擇性資料使用應用層級加密。 有時候你可以透過用保存在正確國家/地區的金鑰加密資料來減輕資料主權的疑慮。 這種方法可防止即使是意外的資料傳輸也會造成問題,因為沒有金鑰就無法解密資料,前提是使用像 AES-256 這樣的強演算法。

你可以採取更多預防措施來協助資料庫安全,例如設計安全系統、加密機密資產,以及在資料庫伺服器周圍建立防火牆。

後續步驟

本文介紹了一系列 SQL 資料庫與 Azure Synapse Analytics 的安全最佳實務,以保護您的 PaaS 網頁與行動應用程式安全。 若要深入了解如何保護您的 PaaS 部署,請參閱︰