ALTER NETWORK POLICY¶
Modifies the properties for an existing network policy.
备注
只有网络策略所有者(即具有网络策略 OWNERSHIP 权限的角色)或更高级别的角色才能更改网络策略。
语法¶
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> ... ]
参数¶
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。
有关在语句中指定标签的信息,请参阅 Tag quotas。
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 ...为现有的网络策略指定新名称。
访问控制要求¶
权限 |
对象 |
Notes |
|---|---|---|
OWNERSHIP |
Network policy |
Modifying a network policy requires a role with the OWNERSHIP privilege on the network policy. |
有关对安全对象执行 SQL 操作的相应角色和权限授予的一般信息,请参阅 访问控制概述。
使用说明¶
如果用户的 IP 地址位于 ALLOWED LIST 中,并试图通过移除其所在整个 IPCDIR 范围来更改网络策略,则将会看到以下消息:
Changes cannot be applied to the network policy RULE_BASED_POLICY because current IP address/token x.xx.xxx.xxx is not allowed in it.
此项设计有助于防止当前登录用户被意外屏蔽或锁定,从而无法访问其 Snowflake 账户。
Don't modify a network policy to have empty
ALLOWED_IP_LISTandBLOCKED_IP_LISTproperties. Use network rules in conjunction with the network policy to manage access to your Snowflake account.针对允许/阻止列表的
SET操作 不是 累积操作(也就是说,它会移除网络策略现有列表中的所有 IP 地址,并将它们替换为指定列表)。因此,要对现有列表执行添加操作,您必须指定新的 IP 地址 并 复制现有列表。
每个
ip_address都可以覆盖使用无类域间路由 (CIDR) 表示法的地址范围:ip_address[/optional_prefix_length]例如:
192.168.1.0/24当网络策略包含
ALLOWED_IP_LIST和BLOCKED_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;
+---------------------------+-------------------+
| 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;
+---------------------------+-------------------+
| 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;
然后,添加注释,描述由网络规则定义的 limit_access_policy:
ALTER NETWORK POLICY limit_access_policy SET COMMENT = 'No_Lists_See_Rules';
SHOW NETWORK POLICIES;
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|
|-------------------------------+------------------------------------------|----------------------------|----------------------------|----------------------------------|----------------------------------|
|... | | | | | | |
+-------------------------------+---------------------+--------------------+----------------------------+----------------------------+----------------------------------+----------------------------------+