適用於 PostgreSQL 的 Azure 資料庫是完全受控的資料庫服務,提供內建的高可用性、自動化備份和調整功能。 保護 PostgreSQL 資料庫部署,對於保護敏感性資料和保持符合業界標準極為重要。
本文將引導您如何保護適用於 PostgreSQL 的 Azure 資料庫伺服器部署。
這很重要
從 2025 年 11 月 11 日開始,下列清單中的 Azure 區域會規劃使用新的中繼 CA 憑證的 TLS/SSL 憑證輪替。
- 美國中西部
- 東亞
- 英國南部
從 2026 年 1 月 19 日開始,此輪替計劃擴展到所有剩餘的 Azure 區域,包括 Azure Government 和所有其他區域。
如需疑難排解的相關資訊,請參閱 憑證綁定問題。
網路安全性
「網路安全性」小節會引導您進行防範公用存取,並使用網路功能將 PostgreSQL 整合到安全的分段雲端網路架構中。
停用公共網路存取:停用 PostgreSQL 的公共網路存取,以防止暴露在網際網路上。 此動作可確保只有受信任的網路才能存取您的資料庫。
私人端點:使用私人端點從虛擬網路內安全地連線到 PostgreSQL。
或者,使用虛擬網路整合:使用虛擬網路整合將 PostgreSQL 連線到虛擬網路。 此整合可讓您從 Azure 資源和伺服器安全存取取用的資源,例如 AI。
舊版防火牆規則和服務端點:如果您需要允許從特定 IP 位址存取,請使用舊版防火牆規則和服務端點。 不過,不建議使用此方法。 相反地,建議使用私人端點或虛擬網路整合。
網路安全性文章位於網路功能小節中:
身分識別管理
身分識別管理小節著重於使用集中式身分識別與存取管理系統進行驗證、保護身分識別與存取控制。 它涵蓋最佳做法,例如應用程式的增強式驗證機制和受控識別。
以下是身分識別管理小節的一些可能的安全性服務、功能和最佳做法:
使用 Entra 而不是資料庫本機驗證:您應該禁止 PostgreSQL 伺服器的本機驗證。 相反地,請僅使用 Microsoft Entra 驗證 (而非混合模式) 來管理資料庫的存取權。 Microsoft Entra 提供集中式驗證,具有強大的安全性控制和適用於身分識別的 Defender 即時保護。 如需詳細資訊,請瀏覽 Microsoft Entra 概念和 Microsoft Entra 驗證搭配適用於 PostgreSQL 的 Azure 資料庫。
使用受控識別進行安全的應用程式存取:使用 Azure 中的受控識別來安全地驗證應用程式和服務,而不需要管理認證。 這提供安全且簡化的方式來存取適用於 PostgreSQL 的 Azure 資料庫等資源。 如需詳細資訊,請瀏覽受控識別。
透過條件式存取原則強制執行安全性:在 Microsoft Entra 中設定條件式存取原則,以根據使用者、位置或裝置內容強制執行安全性控制。 這些原則會允許根據風險動態執行安全性要求,從而增強整體安全性態勢。 如需詳細資訊,請瀏覽 Microsoft Entra 條件式存取。
本機驗證應使用 SCRAM 驗證:如果您必須使用本機驗證,請確保強制執行強式密碼原則。 使用密碼複雜性要求和定期密碼變換,將帳戶遭入侵的風險降至最低。 如需詳細資訊,請瀏覽適用於 PostgreSQL 的 Azure 資料庫中的 SCRAM 驗證。
存取控制
存取控制小節著重於根據最低權限原則保護存取層級。 它強調透過限制和管理提升的權限、強制執行多重要素驗證,並確保特殊權限動作會被記錄和稽核,以降低未經授權存取敏感性資源的風險。
以下是存取控制小節的一些可能的安全性服務、功能和最佳做法:
使用 Entra 角色進行存取控制:實作 Azure 角色型存取控制 (角色型存取控制 (RBAC)) 來管理對適用於 PostgreSQL 的 Azure 資料庫資源的存取權。 根據最小權限原則指派角色,確保使用者和應用程式僅擁有所需的權限。 如需詳細資訊,請瀏覽 Azure 角色型存取控制 (RBAC) 概念和在適用於 PostgreSQL 的 Azure 資料庫中管理 Microsoft Entra 角色。
遵循 Entra 最佳做法:利用 MFA、條件式存取原則、Just-In-Time (JIT) 存取來保護您的使用者和資料庫。
管理本機資料庫使用者、角色和權限:使用 PostgreSQL 的內建角色管理來控制資料庫層級的存取。 建立具有特定權限的自訂角色,以強制執行最低權限原則。 定期檢閱和稽核這些角色,以確保符合安全性原則。 如需詳細資訊,請瀏覽在適用於 PostgreSQL 的 Azure 資料庫中建立使用者。
資料保護
資料保護小節著重於保護待用和傳輸中的敏感性資料。 它可確保資料經過加密、存取受到控制,並保護敏感性資訊免遭未經授權的存取。 它強調使用加密、安全連線和資料遮罩來保護資料的完整性和機密性。
以下是資料保護小節的一些可能的安全性服務、功能和最佳做法:
加密傳輸中的資料
驗證 TLS 連線:Azure PostgreSQL 一律會使用 SSL 或 TLS 來加密應用程式與資料庫之間傳輸的資料。 您應該設定應用程式以驗證所使用的憑證,例如根 CA、過期的憑證、主機名稱不相符和憑證撤銷。 此做法有助於保護敏感性資訊免受竊聽和中間人攻擊。 如需詳細資訊,請瀏覽在適用於 PostgreSQL 的 Azure 資料庫中使用 TLS 和 SSL 的安全連線。
確保用戶端已安裝最新的 TLS 憑證:確保您的用戶端應用程式已安裝最新的 TLS 憑證以支援安全連線。 此做法有助於防止連線失敗,並確保您的應用程式可以與 PostgreSQL 伺服器建立安全連線。 如需詳細資訊,請瀏覽下載根 CA 憑證和更新應用程式用戶端。
要求使用 TLS 1.3:將 PostgreSQL 伺服器設定為對所有連線都要求 TLS 1.3。 此設定可確保僅使用最新且最安全的通訊協定版本,從而提供更好的安全性和效能。 如需詳細資訊,請瀏覽 TLS 版本。
待用加密
資料一律會使用 SMK 透明地待用加密:適用於 PostgreSQL 的 Azure 資料庫會使用服務受控金鑰 (SMK) 自動加密待用資料。 此加密可確保您的資料受到保護,而無需額外設定。 它依賴於基礎 Azure 儲存體基礎結構。 它涵蓋主要伺服器、複本、時間點復原 (PITR) 和備份。 如需詳細資訊,請瀏覽適用於 PostgreSQL 的 Azure 資料庫中的資料加密。
使用客戶自控金鑰進行額外控制:如果您需要對加密金鑰進行更多控制,請使用儲存在 Azure Key Vault 或 Azure HSM 中的客戶自控金鑰 (CMK)。 此選項可讓您管理加密金鑰,並提供更多安全性和合規性選項。 如需詳細資訊,請瀏覽適用於 PostgreSQL 的 Azure 資料庫中的客戶自控金鑰和在適用於 PostgreSQL 的 Azure 資料庫中設定資料加密。
在 KV 或受控 HSM 中設定自動金鑰輪替:如果您使用客戶自控金鑰,請在 Azure Key Vault 中設定自動金鑰輪替,以確保您的加密金鑰定期更新。 適用於 PostgreSQL 的 Azure 資料庫支援在輪替金鑰之後自動更新金鑰版本。 如需詳細資訊,請瀏覽在 Azure 受控 HSM 中設定金鑰自動輪替或了解 Azure Key Vault 中的自動輪替,以取得更多 Key Vault 的詳細資料。 如需詳細資訊,請參閱在伺服器佈建期間使用客戶自控金鑰來設定資料加密,以取得如何設定自動金鑰輪替的詳細資料。
使用用戶端加密來加密超敏感性資料:對於超敏感性資料,請考慮實作用戶端加密。 此方法涉及在將資料傳送到資料庫之前對其進行加密,確保資料庫中僅儲存加密的資料。 此做法提供更多層的安全性,因為資料庫本身,進而資料庫管理員無權存取未加密的資料。
機密計算
Azure 機密運算 (ACC) (部分內容可能是機器或 AI 翻譯) 使組織能夠安全地處理敏感性資料並進行共和作業,例如個人資料或受保護的健康資訊 (PHI)。 ACC 透過受信任執行環境 (TEE) 確保使用中的資料安全,提供內建保護,防止未經授權的存取。
- SaaS 和主控提供者考慮設定機密計算:如果您是軟體即服務 (SaaS) 或主控提供者,且您的 PostgreSQL 工作負載涉及處理敏感性資料,請考慮使用 Azure 機密運算來保護使用中的資料。 此解決方案透過確保在安全環境中處理資料來提供更多層的安全性,從而防止未經授權存取 (甚至是特殊權限使用者)。 如需詳細資訊,請瀏覽適用於 Azure Database for PostgreSQL 的 Azure 機密運算。
資料遮罩和修訂
實作資料遮罩:使用 PostgreSQL Anonymizer 延伸模組來支援:
匿名傾印:將遮罩的資料匯出到 SQL 檔案中。
靜態遮罩:根據規則移除個人資料。
動態遮罩:僅針對遮罩使用者隱藏個人資料。
遮罩檢視:針對遮罩使用者建置專屬的檢視。
遮罩資料包裝函式:對外部資料套用遮罩規則。
稽核與威脅偵測
記錄和威脅偵測小節涵蓋在 Azure 環境中偵測威脅的控制項。 它涵蓋啟用、收集和儲存 Azure 服務的稽核記錄。 它強調使用本機威脅偵測功能、集中記錄管理以及適當的記錄保留來進行安全調查和合規性。 本節著重於產生高品質的警示、透過 Azure 工具集中安全性分析、維護準確的時間同步以及確保有效的記錄保留策略。
以下是記錄和威脅偵測小節的一些可能的安全性服務、功能和最佳做法:
啟用診斷記錄的收集:選取類別群組 [稽核],來確保已啟用診斷記錄。使用 Azure 原則來實作:
原則針對 PostgreSQL (microsoft.dbforpostgresql/flexibleservers) 啟用依類別群組記錄至 Log Analytics
利用 Microsoft Defender for Open-Source 關聯式資料庫:使用 Microsoft Defender for Open-Source 關聯式資料庫來增強 PostgreSQL 彈性伺服器執行個體的安全性狀態。 此服務提供針對開放原始碼資料庫量身訂做的進階威脅防護、漏洞評估和安全性建議。 如需詳細資訊,請瀏覽適用於開放原始碼關聯式資料庫的 Microsoft Defender 概觀。
啟用稽核記錄:為您的 PostgreSQL 設定稽核記錄,以使用 pgaudit 延伸模組來追蹤和記錄資料庫活動。 如需詳細資訊,請瀏覽適用於 PostgreSQL 的 Azure 資料庫中的稽核記錄。
備份及復原
備份和復原小節著重於確保跨 Azure 服務的資料和設定會定期備份、保護並在處於失敗或災害中可復原。 它強調自動化備份、保護備份資料並確保復原程序經過測試和驗證,以滿足復原時間目標 (RTO) 和復原點目標 (RPO)。 本節也強調監控和稽核備份程序,以確保合規性和整備性的重要性。 如需概觀與詳細資訊,請瀏覽適用於 PostgreSQL 的 Azure 資料庫的商務持續性概觀。
以下是備份和復原偵測小節的一些可能的安全性服務、功能和最佳做法:
利用高可用性: 為您的 PostgreSQL 靈活服務器實例實施高可用性 (HA) 配置,以最大限度地減少停機時間並確保對數據庫的持續訪問。 如需詳細資訊,請瀏覽適用於 PostgreSQL 的 Azure 資料庫中的高可用性 (可靠性) 和設定高可用性。
設定自動化備份:適用於 PostgreSQL 的 Azure 資料庫會自動執行資料庫檔案的每日備份,並持續備份交易記錄。 您可以保留備份 7 天到最多 35 天。 您可以將資料庫伺服器還原到備份保留期間內的任何時間點。 RTO 取決於要還原的資料大小與用來執行記錄復原的時間。 它的範圍可以從幾分鐘到 12 小時。 如需詳細資訊,請瀏覽適用於 PostgreSQL 的 Azure 資料庫中的備份與還原。
設定讀取複本:使用讀取複本卸載主伺服器的讀取作業,提高效能和可用性。 您也可以將讀取複本用於災難復原案例,讓您快速切換至主要伺服器發生故障的複本。 如需詳細資訊,請瀏覽適用於 PostgreSQL 的 Azure 資料庫中的讀取複本。
使用客戶自控金鑰加密來保護備份資料:使用待用加密來保護您的備份資料。