CREATE NETWORK POLICY

创建网络策略或替换现有网络策略。

备注

只有安全管理员(即具有 SECURITYADMIN 角色的用户)或更高级别的角色,或者 具有全局 CREATE NETWORK POLICY 权限的角色可以创建网络策略。

另请参阅:

ALTER NETWORK POLICYDROP NETWORK POLICYSHOW NETWORK POLICIESDESCRIBE NETWORK POLICY

ALTER ACCOUNT

语法

CREATE [ OR REPLACE ] NETWORK POLICY <name>
   [ 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>' ]
Copy

必填参数

name

网络策略的标识符;对于您的账户必须是唯一的。

标识符值必须以字母字符开头,且不能包含空格或特殊字符,除非整个标识符字符串放在双引号内(例如 "My object")。双引号内的标识符也区分大小写。

有关更多详细信息,请参阅 标识符要求

可选参数

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

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

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

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

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

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

指定 IPv4 地址的列表,这些地址被允许访问您的 Snowflake 账户。这被称为 允许名单。Snowflake 会自动阻止所有未包含在允许名单中的 IP 地址。

请注意,如果使用空列表指定此参数,则网络策略 允许任何 IPv4 地址访问 Snowflake。

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

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

指定 IPv4 地址的列表,这些地址被拒绝访问您的 Snowflake 账户。这被称为 阻止名单

仅在以下情况下才设置此参数:您允许在 ALLOWED_IP_LIST 中指定的 IP 地址范围进行访问,但想拒绝该范围内的一个或多个 IP 地址进行访问。

默认值:无值(即不阻止 ALLOWED_IP_LIST 中的任何 IP 地址)

COMMENT = 'string_literal'

指定网络策略的注释。

默认:无值

访问控制要求

用于执行此 SQL 命令的 角色 必须至少具有以下 权限

权限

对象

备注

CREATE NETWORK POLICY

账户

Only the SECURITYADMIN role, or a higher role, has this privilege by default. The privilege can be granted to additional roles as needed.

有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色

有关对 安全对象 执行 SQL 操作的相应角色和权限授予的一般信息,请参阅 访问控制概述

使用说明

  • 如果现有网络策略当前分配给账户、安全集成或用户,则无法执行 CREATE OR REPLACE NETWORK POLICY 命令来替换该策略。

  • 每个 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 地址。

  • ALLOWED_IP_LIST 列表的字符数上限为 100,000。当超过此字符数限制时,Snowflake 会返回一条错误消息。

  • 创建网络策略后,在 Snowflake 强制执行该策略之前,必须将其与您的账户关联。可以通过执行 ALTER ACCOUNT 命令将策略与您的账户关联,此命令必须由具有 SECURITYADMIN 角色(或更高级别角色)的用户运行。

    例如:

    USE ROLE SECURITYADMIN;
    
    ALTER ACCOUNT SET NETWORK_POLICY = <policy_name>;
    
    Copy

    有关更多详细信息,请参阅 参数管理。请注意,NETWORK_POLICY 是当前可由具有 SECURITYADMIN 角色的用户设置的唯一账户参数。

  • 在将网络策略与您的账户关联之前,必须将您的当前 IP 地址包含在 ALLOWED_IP_LIST 中,否则 ALTER ACCOUNT 命令会返回错误。此外,您的当前 IP 地址不能包含在 BLOCKED_IP_LIST 中。

  • 关于元数据:

    注意

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

  • CREATE OR REPLACE <object> 语句是原子的。也就是说,当对象被替换时,旧对象将被删除,新对象将在单个事务中创建。

示例

创建名为 mypolicy1 且具有以下属性的网络策略:

  • 允许 192.168.1.0192.168.1.255 范围内的所有 IP 地址(通过 CIDR 表示法 192.168.1.0/24),但明确阻止的 192.168.1.99 除外。

  • 拒绝所有其他 IP 地址。

CREATE NETWORK POLICY mypolicy1 ALLOWED_IP_LIST=('192.168.1.0/24')
                                BLOCKED_IP_LIST=('192.168.1.99');

DESC NETWORK POLICY mypolicy1;
Copy
+-----------------+----------------+
| name            | value          |
|-----------------+----------------|
| ALLOWED_IP_LIST | 192.168.1.0/24 |
| BLOCKED_IP_LIST | 192.168.1.99   |
+-----------------+----------------+

创建名为 mypolicy2 的网络策略,该策略仅允许 192.168.1.0192.168.1.100 这两个 IP 地址访问您的账户:

CREATE NETWORK POLICY mypolicy2 ALLOWED_IP_LIST=('192.168.1.0','192.168.1.100');

DESC NETWORK POLICY mypolicy2;
Copy
+-----------------+---------------------------+
| name            | value                     |
|-----------------+---------------------------|
| ALLOWED_IP_LIST | 192.168.1.0,192.168.1.100 |
+-----------------+---------------------------+
语言: 中文