Snowflake Postgres 网络

默认情况下,Snowflake Postgres 将在您选择的云区域中,于一个新的私有网络内部署每个新实例。每个网络相互独立,且与同一云区域中的其他网络保持隔离。

默认情况下,Snowflake Postgres 实例不允许外部连接接入。可通过以下两种方式之一,启用与您的 Snowflake Postgres 实例之间的往来流量:

  • 附加包含 Postgres 入口和/或出口网络规则的网络策略。此选项适用于所有账户。

  • 配置与云服务商私有网络之间的专用链接连接。此选项适用于 Business Critical Edition 或更高版本的账户。

Snowflake Postgres 网络策略和规则

Snowflake Postgres 实例的 网络策略 和 网络规则 与其他 Snowflake 资源的功能大体相同,但存在以下关键差异:

  • 网络策略在与 Snowflake Postgres 实例一起使用时,无需像在 Snowflake 账户、用户及其他安全集成中那样进行 激活 操作。Snowflake Postgres 实例的网络策略会在实例创建时直接附加到实例上。现有实例的网络策略也可以进行更改。

  • Snowflake Postgres 实例仅使用网络策略的 ALLOWED_NETWORK_RULE_LIST 和 BLOCKED_NETWORK_RULE_LIST 属性。BLOCKED_IP_LIST 和 ALLOWED_IP_LIST 属性将被忽略。

  • Snowflake Postgres 实例的网络规则应使用 Postgres 入口或 Postgres 出口模式。使用这些模式的规则目前仅限于类型 IPv4。

  • 若网络策略中包含使用非 Postgres 入口或 Postgres 出口模式的网络规则,使用该策略的 Snowflake Postgres 实例将忽略这些规则。

警告

Snowflake 建议尽可能限制网络策略。应用包含 0.0.0.0/0 网络规则的策略会使服务器向互联网上的任何位置开放连接。因此,Snowflake 不建议将在 Snowflake Postgres 实例中使用包含 0.0.0.0/0 规则的策略。

权限

  • 要创建新的网络策略,Snowflake 用户必须具有账户的 CREATE NETWORK POLICY 权限。

  • 要创建新的网络规则,Snowflake 用户必须在其要创建规则的架构上拥有 CREATE NETWORK RULE 权限。

  • 要将现有网络策略附加到 Snowflake 实例,Snowflake 用户必须拥有该网络策略,或者策略所有者必须对其拥有 GRANT 使用权。

Snowflake Postgres 网络策略和规则示例

假设:

  • 您希望允许来自办公室网络的新 Postgres 实例入站流量,且办公室网络路由器的公共 IP 地址为 23.206.171.35。

  • 您还希望允许来自新 Postgres 实例的出站流量,通过 Postgres 外部数据包装器连接至您办公室的 Postgres 服务器。

为此,我们将创建一个新策略,其中包含 Postgres 入口网络规则和 Postgres 出口网络规则。

  1. 创建两个新的网络规则。对两者均使用 23.206.171.35/32 作为唯一的网络标识符,并在其中一条规则中将“Postgres Ingress”用作 Mode,在另一条规则中将“Postgres Egress”用作 Mode。

  2. 创建一个新的网络策略,并将这两条新规则纳入其 Allowed 列表中。

  3. 在导航菜单中,选择 Postgres。

  4. 选择 + Create。

  5. 在选择所需的实例配置详情时,请确保在 Network policy 选择框中选定您的新策略。在下图中,我们已选择命名为 OFFICE POLICY EXAMPLE 的策略。

使用网络策略创建 Snowflake Postgres

在创建实例时创建入口规则

您无需在创建 Snowflake Postgres 实例之前创建网络策略和规则,而可以在通过 Snowsight 创建 Snowflake Postgres 实例时,一并创建带有 Postgres 入口规则的策略。

  1. 在导航菜单中,选择 Postgres。

  2. 在 Postgres Instances 页面,选择右上角的 Create 按钮。

  3. 选择您的实例配置,但将 Network policy 选项留空。

  4. 选择 Create 后,会有一个新对话框显示 snowflake_admin Postgres 用户的 连接凭据。将这些凭据保存在安全位置后,选择 Continue to network settings。

  5. 在 Network Settings 对话框(如下图所示)中,输入您希望为其创建 Postgres 入口规则的 IP 地址和/或 CIDR 值,按回车键将每一条加入列表。

  6. 如有需要,可展开 Details 部分以编辑您的新网络规则和/或策略名称。

  7. 选择 Save 以创建您的新 Postgres 入口网络策略,该策略将在生效后自动附加到您的实例。

在实例创建时创建 Snowflake Postgres 入口网络策略