你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

适用于 Azure Database for PostgreSQL - 单一服务器的专用链接

适用于:Azure Database for PostgreSQL 单一服务器

通过专用链接,你可以为 Azure Database for PostgreSQL - 单一服务器创建专用终结点,以将其引入虚拟网络 (VNet) 中。 专用终结点在子网中公开一个专用 IP,你可以使用这个专用 IP 连接到数据库服务器,就像 VNet 中的任何其他资源一样。

若要查看支持专用链接功能的 PaaS 服务列表,请查看“专用链接”文档。 专用终结点是特定 VNet 和子网中的专用 IP 地址。

注意

专用链接功能仅适用于“常规用途”或“内存优化”定价层中的 Azure Database for PostgreSQL 服务器。 请确保数据库服务器位于其中一个定价层中。

数据渗透防护

Azure Database for PostgreSQL 单一服务器中的数据渗透是指已获授权的用户(例如数据库管理员)能够从一个系统提取数据,并将其移到组织外部的其他区域或系统。 例如,该用户将数据移到第三方拥有的存储帐户。

假设如下场景,一位用户在 Azure 虚拟机 (VM) 中运行 PGAdmin,该虚拟机连接到美国西部预配的 Azure Database for PostgreSQL 单一服务器。 以下示例演示如何使用网络访问控制来限制通过公共终结点对 Azure Database for PostgreSQL 单一服务器进行访问。

  • 通过将“允许 Azure 服务”设置为“关闭”,禁止所有 Azure 服务流量通过公共终结点进入 Azure Database for PostgreSQL 单一服务器。 务必通过防火墙规则虚拟网络服务终结点来禁止某些 IP 地址或 IP 范围访问服务器。

  • 仅允许流量使用 VM 的专用 IP 地址进入 Azure Database for PostgreSQL 单一服务器。 有关详细信息,请参阅有关服务终结点VNet 防火墙规则的文章。

  • 在 Azure VM 上,按如下所示使用网络安全组 (NSG) 和服务标记缩小传出连接的范围

    • 指定一个 NSG 规则以允许服务标记为 SQL.WestUs 的流量 - 仅允许连接到“美国西部”的 Azure Database for PostgreSQL 单一服务器
    • 指定一个 NSG 规则(具有较高的优先级),以拒绝服务标记为 SQL 的流量 - 拒绝连接到所有区域中的 PostgreSQL 数据库

完成此设置后,Azure VM 只能连接到“美国西部”区域的 SQL 数据库中的数据库。 不过,连接并不限于单个 Azure Database for PostgreSQL 单一服务器。 VM 仍可连接到“美国西部”区域中的任何 Azure Database for PostgreSQL 单一服务器,包括不在订阅中的服务器。 尽管我们在上述场景中已将数据渗透范围缩小到了特定的区域,但我们并未完全消除这种渗透。

借助专用链接,你现在可以设置 NSG 之类的网络访问控制来限制对专用终结点的访问。 然后,将单个 Azure PaaS 资源映射到特定的专用终结点。 恶意的预览体验成员只能访问映射的 PaaS 资源(例如 Azure Database for PostgreSQL 单一数据库),而不能访问其他资源。

通过专用对等互连建立本地连接

当你从本地计算机连接到公共终结点时,需要使用服务器级防火墙规则将其 IP 地址添加到基于 IP 的防火墙。 尽管此模型非常适合用于允许对开发或测试工作负荷的单个计算机进行访问,但在生产环境中却难以管理。

借助专用链接,你可以使用 Express Route (ER)、专用对等互连或 VPN 隧道实现对专用终结点的跨界访问。 随后,它们可以禁用通过公共终结点的所有访问,而不使用基于 IP 的防火墙。

注意

在某些情况下,Azure Database for PostgreSQL 和 VNet 子网位于不同的订阅中。 在这些情况下,必须确保以下配置:

  • 请确保两个订阅都注册了 Microsoft.DBforPostgreSQL 资源提供程序。 有关详细信息,请参阅资源管理器注册

创建过程

启用专用链接需要专用终结点。 可按照以下操作指南完成此操作。

审批过程

网络管理员创建专用终结点 (PE) 后,PostgreSQL 管理员可以管理与 Azure Database for PostgreSQL 建立的专用终结点连接 (PEC)。 网络管理员和 DBA 之间的职责分离有助于管理 Azure Database for PostgreSQL 连接。

  • 在 Azure 门户中导航到 Azure Database for PostgreSQL 服务器。
    • 在左窗格中选择“专用终结点连接”
    • 显示所有专用终结点连接 (PEC) 的列表
    • 创建的相应专用终结点 (PE)

select the private endpoint portal

  • 在列表中选择单个 PEC。

select the private endpoint pending approval

  • PostgreSQL 服务器管理员可以选择批准或拒绝 PEC,并可以选择性地添加简短的文本回复。

select the private endpoint message

  • 批准或拒绝后,该列表将反映相应的状态以及回复文本

select the private endpoint final state

客户端可以通过同一 VNet、同一区域中的对等互连 VNet 或者跨区域的 VNet 到 VNet 连接来接到专用终结点。 此外,客户端可以使用 ExpressRoute、专用对等互连或 VPN 隧道从本地进行连接。 以下简化示意图显示了常见用例。

select the private endpoint overview

从对等互连虚拟网络 (VNet) 中的 Azure VM 进行连接

配置 VNet 对等互连,以便从对等互连 VNet 中的 Azure VM 来与 Azure Database for PostgreSQL - 单一服务器建立连接。

从 VNet 到 VNet 环境中的 Azure VM 进行连接

配置 VNet 到 VNet VPN 网关连接,以便从另一区域或订阅中的 Azure VM 与 Azure Database for PostgreSQL - 单一服务器建立连接。

通过 VPN 从本地环境进行连接

若要建立从本地环境到 Azure Database for PostgreSQL - 单一服务器的连接,请选择并实施以下选项之一:

将专用链接与防火墙规则结合使用时,可能会出现以下情况和结果:

  • 如果不配置任何防火墙规则,则默认情况下,任何流量都无法访问 Azure Database for PostgreSQL 单一数据库。

  • 如果配置公共流量或服务终结点并创建专用终结点,则不同类型的传入流量将由相应类型的防火墙规则授权。

  • 如果在不配置任何公共流量或服务终结点的情况下创建专用终结点,则只能通过专用终结点访问 Azure Database for PostgreSQL 单一数据库。 如果不配置公共流量或服务终结点,则在拒绝或删除所有已批准的专用终结点后,任何流量都无法访问 Azure Database for PostgreSQL 单一服务器。

拒绝对 Azure Database for PostgreSQL 单一服务器的的公共访问

如果你希望仅依赖专用终结点来访问其 Azure Database for PostgreSQL 单一服务器,可通过在数据库服务器上设置“拒绝公共网络访问”配置来禁用设置所有公共终结点(防火墙规则VNet 服务终结点)。

当此设置设置为“是”时,只允许通过专用终结点连接到 Azure Database for PostgreSQL。 当此设置设置为“不是”时,没有客户端可以基于防火墙或 VNet 服务端点设置连接到 Azure Database for PostgreSQL。 此外,一旦设置了“专用网络访问”的值,客户就无法添加和/或更新现有的“防火墙规则”和“VNet 服务终结点规则”。

注意

此功能适用于所有 Azure 区域,其中 Azure Database for PostgreSQL - 单一服务器支持“常规用途”和“内存优化”定价层。

此设置对 Azure Database for PostgreSQL 单一服务器的 SSL 和 TLS 配置没有任何影响。

若要了解如何从 Azure 门户为 Azure Database for PostgreSQL 单一服务器设置“拒绝公共网络访问”,请参阅如何配置“拒绝公共网络访问”

后续步骤

若要详细了解 Azure Database for PostgreSQL 单一服务器安全功能,请参阅以下文章: