你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure Database for PostgreSQL 是一种完全托管的数据库服务,它提供内置的高可用性、自动备份和缩放功能。 保护 PostgreSQL 数据库部署有助于保护敏感数据并满足合规性要求。
本文介绍如何保护Azure Database for PostgreSQL灵活服务器部署。
本文中的安全建议实施零信任原则:“显式验证”、“使用最低特权访问”和“假设违规”。 有关全面的零信任指南,请参阅 零信任指南中心。
网络安全
网络安全控制有助于减少公共曝光,并将Azure Database for PostgreSQL灵活服务器集成到分段虚拟网络体系结构中。
禁用公共网络访问:在可使用私有连接时,通过阻止你的 PostgreSQL 灵活服务器的公共连接访问,防止其暴露到 Internet。 有关更多信息,请参阅Azure Database for PostgreSQL 使用 专用链接 的网络。
使用专用终结点:通过Azure 专用链接连接到 PostgreSQL 灵活服务器,以便数据库流量保留在虚拟网络中的专用 IP 地址上。 有关更多信息,请参阅Azure Database for PostgreSQL 的 专用链接 网络。
使用虚拟网络集成:在需要虚拟网络级别隔离时部署具有专用访问的 PostgreSQL 灵活服务器,以便客户端访问和与依赖Azure服务的出站连接。 有关详细信息,请参阅 Azure Database for PostgreSQL 的专用访问网络。
限制公共防火墙访问:如果部署需要公共访问,则仅允许所需的客户端 IP 地址并避免广泛的防火墙规则。 有关详细信息,请参阅使用Azure Database for PostgreSQL防火墙规则的公共访问。
查看公共网络行为:在选择连接模型之前,了解公共访问、防火墙规则和允许的 IP 地址如何影响暴露。 有关详细信息,请参阅Azure Database for PostgreSQL 公共访问网络概述。
身份和访问管理
标识和访问控制可帮助你集中身份验证、减少凭据公开,以及跨Azure管理和 PostgreSQL 数据库访问强制实施最低特权。
使用Microsoft Entra身份验证:首选 PostgreSQL 灵活服务器的Microsoft Entra身份验证,以集中标识控制并减少对本地数据库密码的依赖。 有关更多信息,请参阅适用于 Azure Database for PostgreSQL 的 Microsoft Entra 身份验证。
管理 Microsoft Entra 主体:为 PostgreSQL 灵活服务器分配和审查 Microsoft Entra 管理员、用户和组,使数据库访问遵循最小权限原则。 有关详细信息,请参阅在 Azure Database for PostgreSQL 中管理 Microsoft Entra 角色。
使用托管标识进行应用程序访问:使用托管标识向 PostgreSQL 灵活服务器进行身份验证Azure托管的应用程序,而不是将凭据存储在应用程序代码或配置中。 有关详细信息,请参阅Azure Database for PostgreSQL中的托管标识。
强制实施 PostgreSQL 管理员的条件访问:将条件访问策略(例如多重身份验证和合规设备要求)应用于管理 PostgreSQL 灵活服务器和相关Azure资源的标识。 更多信息请参见《通用条件访问策略:Azure管理要求多重身份验证》。
使用 SCRAM 进行本地身份验证:如果需要本地 PostgreSQL 用户,请使用 SCRAM 身份验证和强密码做法来降低密码泄露风险。 有关详细信息,请参阅 Azure Database for PostgreSQL 中的 SCRAM 身份验证。
管理本地数据库角色:使用 PostgreSQL 角色和权限限制对每个用户所需的对象和操作的数据库级访问。 有关详细信息,请参阅Azure Database for PostgreSQL中的“管理用户”。
实现Azure基于角色的访问控制(RBAC):仅将Azure RBAC 角色分配给需要创建、配置、监视或删除 PostgreSQL 灵活服务器资源的标识。 有关详细信息,请参阅 Azure 基于角色的访问控制。
数据保护
Azure Database for PostgreSQL使用服务管理的密钥加密主服务器、副本、时间点恢复数据和静态备份。 当工作负荷需要更强大的加密治理或数据保护时,请使用以下客户可配置的控制措施。
验证 TLS 连接:将 PostgreSQL 客户端配置为使用
sslmode=verify-ca来验证服务器证书链和主机名;如果无法使用verify-full,则使用sslmode=verify-full。 有关详细信息,请参阅Azure Database for PostgreSQL中的传输层安全性。维护受信任的根证书:在客户端信任存储中保留Azure根证书颁发机构,避免信任中间证书或单个服务器证书,因此证书轮换不会中断连接。 有关详细信息,请参阅Azure Database for PostgreSQL中的传输层安全性。
在支持的情况下要求使用 TLS 1.3:对于支持最新安全协议版本的客户端,将
ssl_min_protocol_version服务器参数设置为TLSv1.3,并且不要设置ssl_max_protocol_version。 有关详细信息,请参阅Azure Database for PostgreSQL中的传输层安全性。使用客户管理的密钥进行加密治理:如果需要密钥生命周期管理或职责分离,请在Azure 密钥保管库或Azure托管 HSM 中配置客户管理的密钥。 仅对满足文档中所述要求的预览场景使用跨租户客户管理密钥。 有关详细信息,请参阅Azure Database for PostgreSQL中的数据加密和在 Azure Database for PostgreSQL 中配置数据加密。
配置自动密钥轮换:如果使用客户管理的密钥,请在 Azure 密钥保管库 或 Azure 托管 HSM 中启用密钥自动轮换,并将 PostgreSQL 灵活服务器配置为使用自动密钥版本更新。 有关详细信息,请参阅 配置客户管理的密钥加密。
对高度敏感的工作负荷使用机密计算:当需要基于硬件保护的数据时,在受支持区域中的受支持机密计算 SKU 上部署 PostgreSQL 灵活服务器。 有关详细信息,请参阅 Azure Database for PostgreSQL 中的Azure机密计算。
对敏感的 PostgreSQL 数据应用数据匿名化:如果需要数据库级数据匿名化工具,并在使用前配置所需的共享预加载库,请使用
anon扩展。 有关详细信息,请参阅Azure Database for PostgreSQL灵活服务器中按名称列出的扩展和模块列表。
日志记录和监控
日志记录和监视控制有助于检测可疑活动、调查事件,以及使 PostgreSQL 审核证据可用于操作和合规性工作流。
启用诊断日志收集:通过针对审核类别组的诊断设置和 Azure Policy 策略分配,将 PostgreSQL 灵活服务器审核日志发送到 Log Analytics。 有关更多信息,请参阅适用于 Azure Database for PostgreSQL 的 Azure Policy 内置策略。
启用审核日志记录:使用
pgaudit扩展配置 PostgreSQL 审核日志记录,以便捕获数据库活动以进行调查和合规性评审。 有关详细信息,请参阅Azure Database for PostgreSQL中的审核日志记录。审核Microsoft Entra身份验证事件:监视 PostgreSQL 灵活服务器的Microsoft Entra身份验证活动,以调查基于标识的访问和登录模式。 有关详细信息,请参阅审核 Azure Database for PostgreSQL 中的 Microsoft Entra 身份验证。
为开源关系数据库启用Microsoft Defender:使用Microsoft Defender for Cloud检测异常的 PostgreSQL 访问模式、暴力尝试、可疑数据库活动和特定于 PostgreSQL 的配置风险。 有关详细信息,请参阅 Azure Database for PostgreSQL 灵活服务器中的 Microsoft Defender for Cloud。
合规性和治理
合规性和治理控制有助于应用一致的配置、将 PostgreSQL 部署映射到法规要求,并大规模保持安全所有权。
使用 Azure Policy 强制实施 PostgreSQL 安全配置:为 PostgreSQL 灵活服务器控制分配内置策略,例如专用终结点、公共访问限制、诊断日志记录、TLS、客户管理的密钥和异地冗余备份。 有关更多信息,请参阅适用于 Azure Database for PostgreSQL 的 Azure Policy 内置策略。
查看 PostgreSQL 的符合性产品/服务:在处理受管制数据之前,将Azure Database for PostgreSQL灵活服务器映射到相关的合规性认证和证明。 有关详细信息,请参阅Azure Database for PostgreSQL中的合规性。
将资源锁应用于生产服务器:在生产 PostgreSQL 灵活服务器上使用管理锁和依赖资源,以减少意外删除或中断的配置更改。 有关详细信息,请参阅使用锁保护Azure资源。
标记 PostgreSQL 资源进行治理:将工作负载、环境、数据分类、所有者和符合性范围等标记应用于 PostgreSQL 灵活服务器和相关资源,以便策略、清单和成本管理工作流可以识别受保护的数据库。 有关详细信息,请参阅使用标记来组织 Azure 资源。
备份和恢复
备份和恢复控制有助于在满足工作负荷恢复目标时意外删除、损坏或区域中断后还原 PostgreSQL 数据。
配置自动备份保留:根据时间点恢复要求设置从 7 到 35 天的备份保留期,并验证保留时段是否符合工作负荷恢复需求。 有关详细信息,请参阅 Azure Database for PostgreSQL 中的备份和还原。
为区域恢复启用异地冗余备份:在创建服务器时配置异地冗余备份(如果灾难恢复计划需要Azure配对区域中的还原功能)。 有关详细信息,请参阅Azure Database for PostgreSQL中的异地灾难恢复。
为关键工作负载配置高可用性:使用高可用性配置来配置待机副本,并减少可用区或基础设施发生故障期间的停机时间。 有关详细信息,请参阅配置Azure Database for PostgreSQL的高可用性。
使用只读副本进行恢复规划:使用只读副本卸载读取流量并支持需要升级副本的恢复方案。 有关更多信息,请参阅Azure Database for PostgreSQL 中的只读副本。
使用客户管理的密钥保护备份数据:备份和还原数据时使用客户管理的密钥加密必须遵循组织的密钥管理要求。 有关详细信息,请参阅Azure Database for PostgreSQL中的备份和还原,并在Azure Database for PostgreSQL中配置数据加密。
规划业务连续性目标:将备份保留、高可用性、只读副本和异地还原选项与工作负荷恢复时间目标和恢复点目标保持一致。 有关详细信息,请参阅Azure Database for PostgreSQL中的业务连续性。