在本文中,我們會討論 Azure SQL Database 和 Azure 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 驗證來向 SQL Database、受控實例或 Azure Synapse Analytics 進行驗證
- 對 Azure Synapse Analytics 的驗證
- 支援 Azure SQL Database 使用 Microsoft Entra 驗證進行權杖型驗證
備註
若要確保Microsoft Entra標識符適合您的環境,請參閱 Microsoft Entra 功能和限制。
根據IP位址限制存取
您可以建立防火牆規則,以指定可接受的IP位址範圍。 這些規則可以同時以伺服器和資料庫層級為目標。 建議您盡可能使用資料庫層級防火牆規則來增強安全性,並讓您的資料庫更具可移植性。 伺服器層級防火牆規則最適合用於系統管理員,而且當您有許多資料庫具有相同存取需求,但不想花時間個別設定每個資料庫時。
SQL Database 預設來源 IP 位址限制允許從任何 Azure 位址存取,包括其他訂用帳戶和租使用者。 您可以將此限制為只允許您的 IP 位址存取執行個體。 即使有 SQL 防火牆和 IP 位址限制,仍然需要強身份驗證。 請參閱本文稍早所做的建議。
若要深入瞭解 Azure SQL 防火牆和IP限制,請參閱:
- Azure SQL Database 和 Azure Synapse Analytics 存取控制
- Azure SQL Database 和 Azure Synapse Analytics 防火牆規則
加密待用資料
預設會啟用透明數據加密 (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 部署,請參閱︰