ALTER NETWORK RULE¶
修改现有的网络规则。
语法¶
ALTER NETWORK RULE [ IF EXISTS ] <name> SET
VALUE_LIST = ( '<value>' [, '<value>', ...] )
[ COMMENT = '<string_literal>' ]
ALTER NETWORK RULE [ IF EXISTS ] <name> UNSET { VALUE_LIST | COMMENT }
参数¶
name
指定网络规则的标识符。
如果标识符包含空格或特殊字符,则整个字符串必须放在双引号内。放在双引号内的标识符区分大小写。
SET ...
指定要为网络规则设置的属性:
VALUE_LIST = ( 'value' [, 'value', ...] )
将当前网络标识符替换为新的标识符列表。此命令的使用不会累加;在设置新值列表时,将移除之前指定的值。
列表中的有效值由网络规则的类型确定:
TYPE = IPV4
时,每个值必须是有效的 IPv4 地址或 地址范围。TYPE = AWSVPCEID
时,每个值必须是有效的 AWS S3 端点 (https://docs.aws.amazon.com/AmazonS3/latest/userguide/privatelink-interface-endpoints.html) VPCE ID。VPC IDs 不受支持。TYPE = AZURELINKID
时,每个值必须是 Azure Private Endpoint (https://learn.microsoft.com/en-us/azure/private-link/private-endpoint-overview) 的有效 LinkID。执行 SYSTEM$GET_PRIVATELINK_AUTHORIZED_ENDPOINTS 函数来检索与账户关联的 LinkID。TYPE = HOST_PORT
时,每个值都必须是有效的域。或者,它还可以包括一个端口或一系列端口。有效端口范围为 1-65535。如果未指定端口,则默认为 443。如果外部网络位置支持动态端口,则需要指定所有可能的端口。
要允许访问所有端口,请将端口定义为 0。例如
company.com:0
。
COMMENT = 'string_literal'
首次添加注释或覆盖现有注释。
UNSET ...
清除网络规则的属性:
VALUE_LIST
从网络规则中移除所有网络标识符。
COMMENT
删除与网络规则关联的注释。
访问控制要求¶
权限 |
对象 |
备注 |
---|---|---|
OWNERSHIP |
网络规则 |
OWNERSHIP is a special privilege on an object that is automatically granted to the role that created the object, but can also be transferred using the GRANT OWNERSHIP command to a different role by the owning role (or any role with the MANAGE GRANTS privilege). |
有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色。
使用说明¶
指定网络规则的 IP 地址时,Snowflake 支持使用 无类域间路由 (CIDR) 表示法 (https://tools.ietf.org/html/rfc4632) 的 IP 地址范围。
例如,
192.168.1.0/24
表示192.168.1.0
到192.168.1.255
范围内的所有 IPv4 地址。关于元数据:
注意
客户应确保在使用 Snowflake 服务时,不会将个人数据(用户对象除外)、敏感数据、出口管制数据或其他受监管数据作为元数据输入。有关更多信息,请参阅 Snowflake 中的元数据字段。
示例¶
修改用于允许或阻止来自特定 IPv4 地址范围的流量的网络规则。为网络规则假设 TYPE = IPV4
。
ALTER NETWORK RULE cloud_network SET VALUE_LIST = ('47.88.25.32/27');
修改用于允许或阻止通过 AWS PrivateLink 的流量的网络规则。为网络规则假设 TYPE = AWS_VPCEID
。
ALTER NETWORK RULE corporate_network SET VALUE_LIST = ('vpce-123abc3420c1931');
修改用于允许流量流向外部目的地的网络规则。为网络规则假设 TYPE = HOST_PORT
。
ALTER NETWORK RULE external_access_rule SET VALUE_LIST = ('example.com', 'company.com:443');