Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Azure Database for PostgreSQL是一种完全托管的数据库服务,可提供内置的高可用性、自动备份和缩放功能。 保护 PostgreSQL 数据库部署对于保护敏感数据并保持符合行业标准至关重要。
本文将指导您了解如何保护“Azure Database for PostgreSQL”服务器的部署。
重要
Microsoft正在更新Azure Database for PostgreSQL的TLS证书,以轮换证书颁发机构和更新的证书链。
如果客户端 配置使用 TLS 的建议配置,则无需执行作。
根证书轮换计划:
- 从 2026 年 3 月 9 日起,针对中国区域的根 CA 证书,将从 DigiCert 全球根 CA (G1) 更新为 DigiCert 全球根 G2。
网络安全
网络安全部分指导你阻止公共访问,并使用网络功能将 PostgreSQL 集成到安全分段的云网络架构中。
禁用公网访问:禁用 PostgreSQL 的公网访问,以防止暴露于互联网。 此操作可确保只有受信任的网络才能访问数据库。
Private Endpoints:使用 Private Endpoints从您的虚拟网络中安全地连接到 PostgreSQL。
或者使用虚拟网络集成:使用虚拟网络集成将 PostgreSQL 连接到虚拟网络。 此集成允许从Azure资源和服务器对消耗的资源(例如 AI)进行安全访问。
传统的防火墙规则和服务终结点:如果需要允许来自特定 IP 地址的访问,请使用传统的防火墙规则和服务终结点。 但是,不建议使用此方法。 相反,首选使用专用终结点或虚拟网络集成。
网络安全文章位于网络栏目中:
Azure Database for PostgreSQL 的网络概述,公共访问(允许的 IP 地址)
标识管理
“标识管理”部分侧重于使用集中式标识和access管理系统进行身份验证、保护标识和access控制。 它涵盖了适用于应用程序的强身份验证机制和托管标识等最佳做法。
下面是标识管理部分的一些可能的安全服务、功能和最佳做法:
使用 Entra 而不是数据库本地身份验证:应禁止 PostgreSQL 服务器的本地身份验证。 请仅使用 Microsoft Entra 身份验证(非混合模式)来管理对数据库的访问。 Microsoft Entra 通过强大的安全控制和 Defender for Identity 实时保护提供集中式身份验证。 有关详细信息,请访问 Microsoft Entra 和 使用 Azure Database for PostgreSQL 的 Microsoft Entra 身份验证。
使用托管标识来保护应用程序访问:使用Azure中的托管标识安全地对应用程序和服务进行身份验证,而不需管理凭据。 这种方法提供了一种安全且简化的方式来访问诸如 PostgreSQL 的 Azure 数据库等资源。 有关详细信息,请访问 Managed Identities。
通过条件访问策略:在 Microsoft Entra 中设置条件访问策略,以基于用户、位置或设备的上下文,执行安全控制。 这些策略允许基于风险动态强制实施安全要求,从而增强整体安全态势。 有关详细信息,请访问 Microsoft Entra Conditional Access。
本地身份验证应使用 SCRAM 身份验证:如果必须使用本地身份验证,请确保强制实施强密码策略。 使用密码复杂性要求和常规密码轮换,以最大程度地降低帐户泄露的风险。 有关详细信息,请访问 Azure Database for PostgreSQL 中的
SCRAM 身份验证。
访问控制
访问控制部分侧重于根据最低特权原则保护访问级别。 它强调通过限制和管理提升的权限、强制实施多因素身份验证,并确保特权操作被记录和审核,将未经授权访问敏感资源的风险降到最低。
以下是访问控制部分可能的安全服务、功能和最佳做法:
使用 Entra 角色进行访问控制:实施 Azure 基于角色的访问控制(Role-Based Access Control,RBAC),以管理 Azure Database for PostgreSQL 资源的访问。 根据最低特权原则分配角色,确保用户和应用程序仅具有所需的权限。 有关详细信息,请参阅 Azure 基于角色的访问控制 (RBAC),以及管理 Azure Database for PostgreSQL 中的 Microsoft Entra 角色。
遵循 Entra 最佳实践:利用多因素认证(MFA)、条件访问策略、实时(JIT)访问保护您的用户和数据库。
管理本地数据库用户、角色和权限:使用 PostgreSQL 的内置角色管理来控制数据库级别的访问。 创建具有特定权限的自定义角色,以强制实施最低特权原则。 定期查看和审核这些角色,以确保符合安全策略。 有关详细信息,请访问 在 Azure Database for PostgreSQL 中创建用户。
数据保护
数据保护部分侧重于保护静态和传输中的敏感数据。 它确保数据被加密,访问被控制,并保护敏感信息免受未经授权的访问。 它强调使用加密、安全连接和数据掩码来保护数据完整性和机密性。
下面是数据保护部分的一些可能的安全服务、功能和最佳做法:
加密传输中的数据
Verify TLS 连接:Azure PostgreSQL 始终使用 SSL 或 TLS 加密应用程序和数据库之间的传输数据。 应将应用程序配置为验证使用的证书,例如根 CA、过期证书、主机名不匹配和证书吊销。 这种做法有助于保护敏感信息免受窃听和中间人攻击。 有关详细信息,请访问 在 Azure Database for PostgreSQL 中与 TLS 和 SSL 建立安全连接。
确保客户端已安装最新的 TLS 证书:确保客户端应用程序安装了最新的 TLS 证书以支持安全连接。 这种做法有助于防止连接失败,并确保应用程序能够与 PostgreSQL 服务器建立安全连接。 有关详细信息,请访问 下载根 CA 证书并更新应用程序客户端。
要求使用 TLS 1.3:将 PostgreSQL 服务器配置为要求所有连接的 TLS 1.3。 此配置可确保仅使用最新且最安全的协议版本,从而提供更好的安全性和性能。 有关详细信息,请访问 TLS 版本。
静态加密
数据始终使用 SMK 以透明方式静态加密:Azure Database for PostgreSQL使用服务管理的密钥(SMK)自动加密静态数据。 此加密可确保数据受到保护,而无需额外配置。 它依赖于基础Azure storage基础结构。 它涵盖主服务器、副本、时点恢复(PITR)和备份。 有关详细信息,请访问 Azure Database for PostgreSQL 中的数据加密。
使用客户管理的密钥进行其他控制:如果需要对加密密钥进行更多控制,请使用存储在Azure Key Vault中的客户管理的密钥(CMK)。 此选项允许你管理加密密钥,并提供更多的安全性和符合性选项。 有关详细信息,请访问 Azure Database for PostgreSQL 中的客户托管密钥 和 在 Azure Database for PostgreSQL 中配置数据加密。
在 KV 中设置自动密钥轮换:如果使用客户管理的密钥,请在Azure Key Vault中配置自动密钥轮换以确保加密密钥定期更新。 Azure Database for PostgreSQL在轮换密钥后支持自动密钥版本更新。 有关详细信息,请访问[了解 Azure Key Vault 中的自动轮换](/key-vault/general/autorotation),以获取更多 Key Vault 详细信息。 有关详细信息,请访问 在服务器预配期间使用客户管理的密钥配置数据加密 ,详细了解如何配置自动密钥轮换。
使用客户端加密加密对超敏感数据进行加密:对于超敏感数据,请考虑实现客户端加密。 此方法涉及在将数据发送到数据库之前对其进行加密,确保仅将加密的数据存储在数据库中。 这种做法提供了更多的安全性,因为数据库本身及其管理员无法访问未加密的数据。
数据掩码和修订
实现数据掩码:使用 PostgreSQL 匿名化程序扩展 支持:
匿名转储:将屏蔽的数据导出到 SQL 文件中。
静态掩码:根据规则删除个人数据。
动态掩码:仅隐藏已屏蔽用户的个人数据。
屏蔽视图:为已屏蔽的用户生成专用视图。
屏蔽数据包装器:对外部数据应用掩码规则。
日志记录和威胁检测
日志记录和威胁检测部分涵盖用于检测Azure环境中的威胁的控制。 它介绍如何为Azure服务启用、收集和存储审核日志。 它强调使用原生威胁检测能力、集中式日志管理和适当的日志保留,以便进行安全调查和确保合规。 本部分重点介绍如何生成高质量的警报,通过Azure工具集中安全分析,保持准确的时间同步,并确保有效的日志保留策略。
下面是日志记录和威胁检测部分的一些可能的安全服务、功能和最佳做法:
启用诊断日志收集:选择类别组“audit”,确保启用诊断日志记录。
启用审核日志记录:使用 pgaudit 扩展配置 PostgreSQL 的审核日志记录以跟踪和记录数据库活动。 有关详细信息,请访问 Azure Database for PostgreSQL 审计日志以获取更多信息。
备份和恢复
备份和恢复部分侧重于确保跨Azure服务的数据和配置在故障或灾难中定期备份、保护和恢复。 它强调自动备份、保护备份数据,并确保对恢复过程进行测试和验证,以满足恢复时间目标(RTO)和恢复点目标(RPO)。 本部分还重点介绍了监视和审核备份过程的重要性,以确保合规性和就绪性。 有关业务连续性的概述和详细信息,请访问 Azure Database for PostgreSQL 概述。
下面是备份和恢复检测部分的一些可能的安全服务、功能和最佳做法:
利用高可用性:实现 PostgreSQL 灵活服务器实例的高可用性(HA)配置,以最大程度地减少停机时间并确保对数据库的连续access。 有关详细信息,请访问 Azure Database for PostgreSQL 中的高可用性(可靠性)和 配置高可用性。
配置自动备份:Azure Database for PostgreSQL自动执行数据库文件的每日备份并连续备份事务日志。 可以将备份从 7 天保留到 35 天。 可以将数据库服务器还原到备份保留期内的任何时间点。 RTO 取决于要还原的数据大小以及执行日志恢复的时间。 它可以从几分钟到 12 小时不等。 有关详细信息,请访问 Azure Database for PostgreSQL 中的备份和还原。
配置只读副本:使用只读副本将读取操作从主服务器卸载,从而提高性能和可用性。 还可以将只读副本用于灾难恢复场景,使你能够在主服务器故障时快速切换到其中一个副本。 有关详细信息,请访问 Azure Database for PostgreSQL 中的 Read 副本。
使用客户管理的密钥加密保护备份数据:使用静态加密来保护备份数据。