CREATE NETWORK POLICY¶
네트워크 정책을 생성하거나 기존 네트워크 정책을 대체합니다.
참고
보안 관리자(즉, SECURITYADMIN 역할의 사용자) 이상 또는 전역 CREATE NETWORK POLICY 권한이 있는 역할만 네트워크 정책을 만들 수 있습니다.
구문¶
CREATE [ OR REPLACE ] NETWORK POLICY [ IF NOT EXISTS ] <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>' ]
필수 매개 변수¶
- 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 계정에 액세스할 수 있는 IPv4 주소 목록을 지정합니다. 이것을 허용 목록 이라고 합니다. - Snowflake에서는 이 속성을 사용하는 대신 네트워크 정책과 함께 네트워크 규칙을 사용할 것을 권장합니다. - ALLOWED_NETWORK_RULE_LIST속성을 사용하여 IPv4 주소를 포함하는 네트워크 규칙을 지정합니다.- 아직 네트워크 규칙을 사용하지 않는 경우 하나 이상의 IPv4 주소나 CIDR 블록 범위를 지정하여 Snowflake 계정에 대한 액세스를 허용합니다. 또한 네트워크 규칙을 사용하지 않고 이 속성이 빈 목록으로 지정된 경우, IPv4 주소는 Snowflake 계정에 액세스할 수 없습니다. 
- BLOCKED_IP_LIST = ( [ ip_address ] [ , ip_address , ... ] )
- Snowflake 계정에 대한 액세스가 거부된 IPv4 주소 목록을 지정합니다. 이것을 차단 목록 이라고 합니다. 이 매개 변수를 설정 해제하려면 다른 CIDR 블록 범위, 일련의 IPv4 주소 또는 단일 IPv4 주소를 지정하십시오. - Snowflake에서는 이 매개 변수를 사용하는 대신 네트워크 정책과 함께 네트워크 규칙을 사용할 것을 권장합니다. - BLOCKED_NETWORK_RULE_LIST속성을 사용하여 IPv4 주소를 포함하는 네트워크 규칙을 지정합니다.- 공개 액세스를 차단하려면 네트워크 규칙을 사용하고 네트워크 규칙을 - BLOCKED_NETWORK_RULE_LIST속성에 추가하십시오. 그 결과, AWS PrivateLink와 같이 비공개 연결을 사용하는 IP 주소만 Snowflake 계정에 액세스할 수 있습니다.- 기본값: 값 없음. 즉, - ALLOWED_IP_LIST속성에서 차단된 IP 주소가 없습니다.
- COMMENT = 'string_literal'
- 네트워크 정책에 대한 설명을 지정합니다. - 기본값: 값 없음 
액세스 제어 요구 사항¶
이 작업을 실행하는 데 사용되는 역할 에는 최소한 다음 권한 이 있어야 합니다.
| 권한 | 오브젝트 | 참고 | 
|---|---|---|
| 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 작업을 수행하기 위한 역할과 권한 부여에 대한 일반적인 정보는 액세스 제어의 개요 섹션을 참조하십시오.
사용법 노트¶
- 네트워크 정책과 함께 네트워크 규칙을 사용하여 Snowflake 계정에 대한 액세스를 관리합니다. 
- 해당 정책이 현재 계정, 보안 통합 또는 사용자에 할당된 경우 기존 네트워크 정책을 바꾸는 CREATE OR REPLACE NETWORK POLICY 명령을 실행할 수 없습니다. 
- 각 - ip_address는 CIDR(Classless Inter-Domain Routing) 표기법을 사용하여 다양한 주소를 포함할 수 있습니다.- ip_address[/optional_prefix_length]- 예: - 192.168.1.0/24
- 네트워크 정책에 - ALLOWED_IP_LIST및- BLOCKED_IP_LIST에 대한 값이 모두 포함된 경우, Snowflake는 차단 목록 을 먼저 적용합니다.
- ALLOWED_IP_LIST목록의 최대 문자 수는 100,000자입니다. Snowflake는 이 문자 제한을 초과하면 오류 메시지를 반환합니다.
- 네트워크 정책을 만든 후, Snowflake가 이 정책을 적용하기 전에 이 정책을 자신의 계정과 연결해야 합니다. SECURITYADMIN 역할(또는 그 이상)을 가진 사용자가 실행해야 하는 ALTER ACCOUNT 명령을 통해 정책을 계정과 연결할 수 있습니다. - 예: - USE ROLE SECURITYADMIN; ALTER ACCOUNT SET NETWORK_POLICY = <policy_name>; - 자세한 내용은 매개 변수 관리 섹션을 참조하십시오. NETWORK_POLICY 가 현재 SECURITYADMIN 역할을 가진 사용자가 설정할 수 있는 유일한 계정 매개 변수입니다. 
- 네트워크 정책을 계정과 연결하기 전에 현재 IP 주소를 - ALLOWED_IP_LIST에 포함해야 합니다. 그렇지 않으면 ALTER ACCOUNT 명령이 오류를 반환합니다. 또한, 현재 IP 주소는- BLOCKED_IP_LIST에 포함할 수 없습니다.
- 메타데이터 관련: - 주의 - 고객은 Snowflake 서비스를 사용할 때 개인 데이터(사용자 오브젝트 제외), 민감한 데이터, 수출 통제 대상 데이터 또는 기타 규제 데이터가 메타데이터로 입력되지 않도록 해야 합니다. 자세한 내용은 Snowflake의 메타데이터 필드 섹션을 참조하십시오. 
- OR REPLACE및- IF NOT EXISTS절은 상호 배타적입니다. 두 문자를 같은 문에 함께 사용할 수 없습니다.
- CREATE OR REPLACE <오브젝트> 문은 원자성입니다. 즉, 오브젝트가 바뀔 때 단일 트랜잭션으로 이전 오브젝트가 삭제되고 새 오브젝트가 생성됩니다. 
예¶
허용 목록과 차단 목록 간의 상호 작용 에 설명된 대로 VPCE ID 를 허용하는 네트워크 규칙과 공용 네트워크 트래픽을 차단하는 네트워크 규칙 두 개를 기반으로 allow_vpceid_block_public_policy 라는 네트워크 정책을 만듭니다.
CREATE NETWORK POLICY allow_vpceid_block_public_policy
  ALLOWED_NETWORK_RULE_LIST = ('allow_vpceid_access')
  BLOCKED_NETWORK_RULE_LIST = ('block_public_access');
DESC NETWORK POLICY rule_based_policy;
+---------------------------+---------------------+
| name                      | value               |
|---------------------------+---------------------|
| ALLOWED_NETWORK_RULE_LIST | ALLOW_VPCEID_ACCESS |
+---------------------------+---------------------+
| BLOCKED_NETWORK_RULE_LIST | BLOCK_PUBLIC_ACCESS |
+---------------------------+---------------------+