CREATE NETWORK POLICY

네트워크 정책을 생성하거나 기존 네트워크 정책을 대체합니다.

참고

보안 관리자(즉, SECURITYADMIN 역할의 사용자) 이상 또는 전역 CREATE NETWORK POLICY 권한이 있는 역할만 네트워크 정책을 만들 수 있습니다.

참고 항목:

ALTER NETWORK POLICY , DROP NETWORK POLICY , SHOW NETWORK POLICIES , DESCRIBE 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 주소를 포함하는 네트워크 규칙을 지정합니다.

Snowflake 계정에 액세스할 수 있는 IPv4 주소 목록을 지정합니다. 이것을 허용 목록 이라고 합니다. Snowflake는 허용 목록에 포함되지 않은 모든 IP 주소를 자동으로 차단합니다.

매개 변수가 빈 목록으로 지정된 경우 네트워크 정책은 IPv4 주소가 Snowflake에 액세스하는 것을 허용하지 않습니다.

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

Snowflake에서는 이 매개 변수를 사용하는 대신 네트워크 정책과 함께 네트워크 규칙을 사용할 것을 권장합니다. BLOCKED_NETWORK_RULE_LIST 매개 변수를 사용하여 IPv4 주소를 포함하는 네트워크 규칙을 지정합니다.

Snowflake 계정에 대한 액세스가 거부된 IPv4 주소 목록을 지정합니다. 이것을 차단 목록 이라고 합니다.

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(Classless Inter-Domain Routing) 표기법을 사용하여 다양한 주소를 포함할 수 있습니다.

    ip_address[/optional_prefix_length]

    예:

    192.168.1.0/24

  • 네트워크 정책에 ALLOWED_IP_LISTBLOCKED_IP_LIST 에 대한 값이 모두 포함된 경우, Snowflake는 차단 목록 을 먼저 적용합니다.

  • 0.0.0.0/0BLOCKED_IP_LIST 에 추가하지 마십시오. Snowflake는 차단 목록을 먼저 적용하므로 자신의 액세스가 차단됩니다. 또한, 선택 목록을 제외한 모든 IP 주소를 차단하려면 ALLOWED_IP_LIST 에 IP 주소를 추가하기만 하면 됩니다. Snowflake는 허용 목록에 포함되지 않은 모든 IP 주소를 자동으로 차단합니다.

  • ALLOWED_IP_LIST 목록의 최대 문자 수는 100,000자입니다. Snowflake는 이 문자 제한을 초과하면 오류 메시지를 반환합니다.

  • 네트워크 정책을 만든 후, Snowflake가 이 정책을 적용하기 전에 이 정책을 자신의 계정과 연결해야 합니다. SECURITYADMIN 역할(또는 그 이상)을 가진 사용자가 실행해야 하는 ALTER ACCOUNT 명령을 통해 정책을 계정과 연결할 수 있습니다.

    예:

    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 <오브젝트> 문은 원자성입니다. 즉, 오브젝트가 바뀔 때 단일 트랜잭션으로 이전 오브젝트가 삭제되고 새 오브젝트가 생성됩니다.

다음 속성을 사용해 mypolicy1 로 명명된 네트워크 정책 만들기:

  • 명시적으로 차단된 192.168.1.99 를 제외하고, (CIDR 표기법 192.168.1.0/24 를 통해) 192.168.1.0 ~ 192.168.1.255 의 범위에서 모든 IP 주소를 허용합니다.

  • 다른 모든 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   |
+-----------------+----------------+

IP 주소 192.168.1.0192.168.1.100 만 계정에 액세스할 수 있도록 허용하고 mypolicy2 로 명명된 네트워크 정책 만들기:

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 |
+-----------------+---------------------------+