共用方式為


保護 Azure 中 PaaS 資料庫的最佳做法

在本文中,我們會討論 Azure SQL DatabaseAzure Synapse Analytics 安全性最佳做法的集合,以保護您的平臺即服務 (PaaS) Web 和行動應用程式。 這些最佳做法衍生自我們的 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 驗證 會使用使用者名稱和密碼。 當您為資料庫創建伺服器時,您指定了「伺服器管理員」登入資料,包括使用者名稱和密碼。 使用這些憑證,您可以作為資料庫擁有者身份驗證伺服器上的任何資料庫。

  • 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 識別碼所支援的其他形式的驗證,來消除儲存密碼。
  • 使用受限資料庫用戶來認證資料庫層級的身分識別。
  • 支援連線到 SQL Database 之應用程式的令牌型驗證。
  • 支援 Active Directory Federation Services (ADFS) 的網域同盟或本機 Microsoft Entra ID 的原生使用者/密碼驗證,而不需進行網域同步處理。
  • 支援從 SQL Server Management Studio 使用 Active Directory 通用驗證的連線,其中包括多因素驗證(MFA)。 MFA 包含具有一系列簡單驗證選項的強式驗證。 驗證選項包括通話、簡訊、具有釘選的智慧卡或行動應用程式通知。 如需詳細資訊,請參閱 使用 SQL Database 和 Azure Synapse Analytics 進行通用驗證

若要深入瞭解Microsoft Entra 驗證,請參閱:

備註

若要確保Microsoft Entra標識符適合您的環境,請參閱 Microsoft Entra 功能和限制

根據IP位址限制存取

您可以建立防火牆規則,以指定可接受的IP位址範圍。 這些規則可以同時以伺服器和資料庫層級為目標。 建議您盡可能使用資料庫層級防火牆規則來增強安全性,並讓您的資料庫更具可移植性。 伺服器層級防火牆規則最適合用於系統管理員,而且當您有許多資料庫具有相同存取需求,但不想花時間個別設定每個資料庫時。

SQL Database 預設來源 IP 位址限制允許從任何 Azure 位址存取,包括其他訂用帳戶和租使用者。 您可以將此限制為只允許您的 IP 位址存取執行個體。 即使有 SQL 防火牆和 IP 位址限制,仍然需要強身份驗證。 請參閱本文稍早所做的建議。

若要深入瞭解 Azure SQL 防火牆和IP限制,請參閱:

加密待用資料

預設會啟用透明數據加密 (TDE)。 TDE 會以透明方式加密 SQL Server、Azure SQL Database 和 Azure Synapse Analytics 數據和記錄檔。 TDE 可防止直接存取檔案或其備份遭到入侵。 這可讓您加密待用數據,而不需要變更現有的應用程式。 TDE 應該一律保持啟用;不過,這不會阻止攻擊者使用一般存取路徑。 TDE 可讓您遵守在各種產業中建立的許多法律、法規和指導方針。

Azure SQL 會管理 TDE 的重要相關問題。 如同 TDE,在移動資料庫時,內部部署必須特別小心,如此才能保障復原能力。 在更複雜的案例中,密鑰可以透過可延伸密鑰管理在 Azure Key Vault 中明確管理。 請參閱 使用 EKM 在 SQL Server 上啟用 TDE。 這也允許使用 Azure Key Vaults 的 BYOK 能力來獲取您自己的密鑰(BYOK)。

Azure SQL 透過 Always Encrypted 提供數據行的加密。 這隻允許授權的應用程式存取敏感性數據行。 使用這種加密會將加密數據行的 SQL 查詢限制為以相等為基礎的值。

應用層級加密也應該用於選擇性數據。 數據主權考慮有時可以藉由使用保留在正確國家/地區的密鑰來加密數據來緩解問題。 這可防止意外數據傳輸造成問題,因為無法解密沒有密鑰的數據,假設使用了強演算法(例如 AES 256)。

您可以使用其他預防措施來協助保護資料庫,例如設計安全系統、加密機密資產,以及在資料庫伺服器周圍建置防火牆。

後續步驟

本文介紹 SQL Database 和 Azure Synapse Analytics 安全性最佳做法集合,以保護 PaaS Web 和行動應用程式。 若要深入了解如何保護您的 PaaS 部署,請參閱︰