ALTER NETWORK POLICY

修改现有网络策略的属性。目前,唯一支持的操作是更改被允许或拒绝访问账户的 IP 地址,以及添加/覆盖/移除网络策略的注释。

备注

只有网络策略所有者(即具有网络策略 OWNERSHIP 权限的角色)或更高级别的角色才能更改网络策略。

另请参阅:

CREATE NETWORK POLICYDESCRIBE NETWORK POLICYDROP NETWORK POLICYSHOW NETWORK POLICIES

语法

ALTER NETWORK POLICY [ IF EXISTS ] <name> SET {
    [ ALLOWED_NETWORK_RULE_LIST = ( '<network_rule>' [ , '<network_rule>' , ... ] ) ]
    [ BLOCKED_NETWORK_RULE_LIST = ( '<network_rule>' [ , '<network_rule>' , ... ] ) ]
    [ ALLOWED_IP_LIST = ( [ '<ip_address>' ] [ , '<ip_address>' ... ] ) ]
    [ BLOCKED_IP_LIST = ( [ '<ip_address>' ] [ , '<ip_address>' ... ] ) ]
    [ COMMENT = '<string_literal>' ] }

ALTER NETWORK POLICY [ IF EXISTS ] <name> UNSET COMMENT

ALTER NETWORK POLICY <name> ADD { ALLOWED_NETWORK_RULE_LIST = '<network_rule>' | BLOCKED_NETWORK_RULE_LIST = '<network_rule>' }

ALTER NETWORK POLICY <name> REMOVE { ALLOWED_NETWORK_RULE_LIST = '<network_rule>' | BLOCKED_NETWORK_RULE_LIST = '<network_rule>' }

ALTER NETWORK POLICY <name>  RENAME TO <new_name>

ALTER NETWORK POLICY <name> SET TAG <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' ... ]

ALTER NETWORK POLICY <name> UNSET TAG <tag_name> [ , <tag_name> ... ]
Copy

参数

name

指定要更改的网络策略的标识符。如果标识符包含空格或特殊字符,则整个字符串必须放在双引号内。放在双引号内的标识符也区分大小写。

SET ...

指定要为网络策略设置的参数:

ALLOWED_NETWORK_RULE_LIST = ( 'network_rule' [ , 'network_rule' , ... ] )

指定 网络规则 的列表,这些规则包含了被允许访问 Snowflake 的网络标识符。列表中的网络规则数量没有限制。

替换允许列表中的现有网络规则。要在不替换现有规则的前提下添加网络规则,请使用 ALTER NETWORK POLICY ... ADD 命令。

BLOCKED_NETWORK_RULE_LIST = ( 'network_rule' [ , 'network_rule' , ... ] )

指定网络规则的列表,这些规则包含了被拒绝访问 Snowflake 的网络标识符。列表中的网络规则数量没有限制。

替换阻止列表中现有的网络规则。要在不替换现有规则的前提下添加网络规则,请使用 ALTER NETWORK POLICY ... ADD 命令。

ALLOWED_IP_LIST = ( [ ip_address ] [ , ip_address , ... ] )

指定 IPv4 地址的列表,这些地址被允许访问您的 Snowflake 账户。这被称为 允许名单

Snowflake 建议将网络规则与网络策略结合使用,而不是使用此属性。使用 ALLOWED_NETWORK_RULE_LIST 属性指定包含 IPv4 地址的网络规则。

如果您尚未使用网络规则,请指定至少一个 IPv4 地址或 CIDR 块范围,以允许访问您的 Snowflake 账户。此外,如果不使用网络规则,且此属性指定为空列表,则不允许 IPv4 地址访问您的 Snowflake 账户。

BLOCKED_IP_LIST = ( [ ip_address ] [ , ip_address , ... ] )

指定 IPv4 地址的列表,这些地址被拒绝访问您的 Snowflake 账户。这被称为 阻止名单。要取消设置该参数,请指定不同的 CIDR 块范围、一系列 IPv4 地址或单个 IPv4 地址。

Snowflake 建议将网络规则与网络策略结合使用,而不是使用此参数。使用 BLOCKED_NETWORK_RULE_LIST 属性指定包含 IPv4 地址的网络规则。

要阻止公共访问,请使用网络规则并将网络规则添加到 BLOCKED_NETWORK_RULE_LIST 属性。因此,只有使用专用连接的 IP 地址(例如 AWS PrivateLink)才能访问您的 Snowflake 账户。

默认值:无值;不阻止 ALLOWED_IP_LIST 属性中的 IP 地址。

COMMENT = 'string_literal'

为网络策略添加注释或覆盖现有注释。

TAG tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ]

指定 标签 名称和标签字符串值。

标签值始终为字符串,标签值的最大字符数为 256。

有关在语句中指定标签的信息,请参阅 对象和列的标签配额

UNSET ...

指定要为网络策略取消设置的属性,将其重置为默认值:

  • COMMENT,移除网络策略的注释(如果存在)。

  • TAG tag_name [ , tag_name ... ]

ADD { ALLOWED_NETWORK_RULE_LIST = 'network_rule' | BLOCKED_NETWORK_RULE_LIST = 'network_rule' }

将网络规则添加到网络策略的允许或阻止列表中,而不移除现有规则。

REMOVE { ALLOWED_NETWORK_RULE_LIST = 'network_rule' | BLOCKED_NETWORK_RULE_LIST = 'network_rule' }

从网络策略的允许或阻止列表中移除网络规则。

RENAME TO ...

为现有的网络策略指定新名称。

使用说明

  • 不要将网络策略修改为具有空 ALLOWED_IP_LISTBLOCKED_IP_LIST 属性。将网络规则与网络策略结合使用来管理对您的 Snowflake 账户的访问。

  • 针对允许/阻止列表的 SET 操作 不是 累积操作(也就是说,它会移除网络策略现有列表中的所有 IP 地址,并将它们替换为指定列表)。

    因此,要对现有列表执行添加操作,您必须指定新的 IP 地址 复制现有列表。

  • 每个 ip_address 都可以覆盖使用无类域间路由 (CIDR) 表示法的地址范围:

    ip_address[/optional_prefix_length]

    例如:

    192.168.1.0/24

  • 当网络策略包含 ALLOWED_IP_LISTBLOCKED_IP_LIST 的值时,Snowflake 会首先应用 阻止名单

  • 不要0.0.0.0/0 添加到 BLOCKED_IP_LIST 中。由于 Snowflake 首先应用阻止名单,因此这将阻止您自己的访问。此外,要阻止除选定列表之外的所有 IP 地址,只需将 IP 地址添加到 ALLOWED_IP_LIST 中即可。Snowflake 会自动阻止所有未包含在允许名单中的 IP 地址。

  • 关于元数据:

    注意

    客户应确保在使用 Snowflake 服务时,不会将个人数据(用户对象除外)、敏感数据、出口管制数据或其他受监管数据作为元数据输入。有关更多信息,请参阅 Snowflake 中的元数据字段

示例

例如,使用 ALTER NETWORK POLICY 更改名为 allow_access_policy 的网络策略,允许由 allow_access_rule 定义的网络流量也阻止由 block_access_rule 定义的网络流量,与 IP 范围 中定义的网络流量保持一致。首先,显示当前策略:

DESC NETWORK POLICY allow_access_policy;
Copy
+---------------------------+-------------------+
| name                      | value             |
|---------------------------+-------------------|
| ALLOWED_NETWORK_RULE_LIST | allow_access_rule |
+---------------------------+-------------------+

接下来,更改 allow_access_policy,以便也使用 block_access_rule,然后显示更新的策略:

ALTER NETWORK POLICY IF EXISTS allow_access_policy SET
  BLOCKED_NETWORK_RULE_LIST = 'block_access_rule';
DESC NETWORK POLICY allow_access_policy;
Copy
+---------------------------+-------------------+
| name                      | value             |
|---------------------------+-------------------|
| ALLOWED_NETWORK_RULE_LIST | ALLOW_ACCESS_RULE |
| BLOCKED_NETWORK_RULE_LIST | BLOCK_ACCESS_RULE |
+---------------------------+-------------------+

接下来,重命名更新后的策略,以描述这两个规则的用法:

ALTER NETWORK POLICY allow_access_policy RENAME TO limit_access_policy;
Copy

然后,添加注释,描述由网络规则定义的 limit_access_policy

ALTER NETWORK POLICY limit_access_policy SET COMMENT = 'No_Lists_See_Rules';
SHOW NETWORK POLICIES;
Copy

SHOW NETWORK POLICIES 的输出包括更新的策略名称,以及更改的网络策略中包含的注释。

+-------------------------------+---------------------+--------------------+----------------------------+----------------------------+----------------------------------+----------------------------------+
| created on                    | name                | comment            | entries_in_allowed_ip_list | entries_in_blocked_ip_list | entries_in_allowed_network_rules | entries_in_blocked_network_rules |
|-------------------------------+------------------------------------------|----------------------------|----------------------------|----------------------------------|----------------------------------|
|...                            |                     |                    |                            |                            |                                  |                                  |
|-------------------------------+------------------------------------------|----------------------------|----------------------------|----------------------------------|----------------------------------|
| 2024-12-04 10:33:19.853 -0800 | LIMIT_ACCESS_POLICY | NO_LISTS_SEE_RULES |                           0|                           0|                                 1|                                 1|
|-------------------------------+------------------------------------------|----------------------------|----------------------------|----------------------------------|----------------------------------|
|...                            |                     |                    |                            |                            |                                  |                                  |
+-------------------------------+---------------------+--------------------+----------------------------+----------------------------+----------------------------------+----------------------------------+
语言: 中文