네트워크 정책 수정하기
네트워크 정책 수정하기 (ALTER NETWORK POLICY)
기존 네트워크 정책의 속성을 수정합니다.
네트워크 정책 소유자(즉, 네트워크 정책에 대한 OWNERSHIP 권한을 가진 역할) 또는 그보다 높은 권한을 가진 역할만 네트워크 정책을 변경할 수 있습니다.
참조:
CREATE NETWORK POLICY , DESCRIBE NETWORK POLICY , DROP NETWORK POLICY , SHOW NETWORK POLICIES
출처: 문서
본문
Syntax
ALTER NETWORK POLICY [ IF EXISTS ] SET {
[ ALLOWED_NETWORK_RULE_LIST = ( '' [ , '' , ... ] ) ]
[ BLOCKED_NETWORK_RULE_LIST = ( '' [ , '' , ... ] ) ]
[ ALLOWED_IP_LIST = ( [ '' ] [ , '' ... ] ) ]
[ BLOCKED_IP_LIST = ( [ '' ] [ , '' ... ] ) ]
[ COMMENT = '' ] }
ALTER NETWORK POLICY [ IF EXISTS ] UNSET COMMENT
ALTER NETWORK POLICY ADD { ALLOWED_NETWORK_RULE_LIST = '' | BLOCKED_NETWORK_RULE_LIST = '' }
ALTER NETWORK POLICY REMOVE { ALLOWED_NETWORK_RULE_LIST = '' | BLOCKED_NETWORK_RULE_LIST = '' }
ALTER NETWORK POLICY RENAME TO
ALTER NETWORK POLICY SET TAG = '' [ , = '' ... ]
ALTER NETWORK POLICY UNSET TAG [ , ... ]
Parameters
name
변경할 네트워크 정책의 식별자를 지정합니다. 식별자에 공백이나 특수 문자가 포함된 경우 전체 문자열을 큰따옴표로 묶어야 합니다. 큰따옴표로 묶인 식별자는 대소문자를 구분합니다.
SET ...
네트워크 정책에 설정할 매개 변수를 지정합니다:
ALLOWED_NETWORK_RULE_LIST = ( 'network_rule' [ , 'network_rule' , ... ] )
Snowflake에 액세스가 허용되는 네트워크 식별자가 포함된 network rules 목록을 지정합니다. 목록의 네트워크 규칙 개수에는 제한이 없습니다.
허용 목록의 기존 네트워크 규칙을 대체합니다. 기존 규칙을 대체하지 않고 추가하려면 ALTER NETWORK POLICY ... ADD 명령을 사용하세요.
BLOCKED_NETWORK_RULE_LIST = ( 'network_rule' [ , 'network_rule' , ... ] )
Snowflake에 대한 액세스가 거부되는 네트워크 식별자가 포함된 네트워크 규칙 목록을 지정합니다. 목록의 네트워크 규칙 개수에는 제한이 없습니다.
차단 목록의 기존 네트워크 규칙을 대체합니다. 기존 규칙을 대체하지 않고 추가하려면 ALTER NETWORK POLICY ... ADD 명령을 사용하세요.
ALLOWED_IP_LIST = ( [ ip_address ] [ , ip_address , ... ] )
Snowflake 계정에 액세스가 허용되는 IPv4 주소 목록을 지정합니다. 이 목록을 허용 목록이라고 합니다.
Snowflake는 이 속성을 사용하는 대신 네트워크 정책과 함께 네트워크 규칙을 사용할 것을 권장합니다. IPv4 또는 IPv6 주소가 포함된 네트워크 규칙을 지정하려면 ALLOWED_NETWORK_RULE_LIST 속성을 사용하세요.
아직 네트워크 규칙을 사용하지 않는 경우, Snowflake 계정에 대한 액세스를 허용하려면 IPv4 주소 또는 CIDR 블록 범위를 최소한 하나 이상 지정하세요. 추가로, 네트워크 규칙을 사용하지 않고 이 속성이 빈 목록으로 지정된 경우, 어떤 IPv4 주소도 Snowflake 계정에 액세스할 수 없습니다.
ALLOWED_IP_LIST 매개변수는 IPv4 주소만 지원해요. IPv6 주소를 허용하거나 차단하려면 TYPE = IPV6인 네트워크 규칙을 사용하고 이를 ALLOWED_NETWORK_RULE_LIST 또는 BLOCKED_NETWORK_RULE_LIST에 추가하세요. IPv4와 IPv6 네트워크 규칙은 독립적으로 평가되므로, 네트워크에 이중 스택(IPv4 및 IPv6) 트래픽이 있다면 각 주소 체계에 대해 별도의 네트워크 규칙을 만들고 둘 다 네트워크 정책에 추가하세요. 계정에서 IPv6 인그레스를 활성화하려면 IPv6 주소를 참조하세요.
BLOCKED_IP_LIST = ( [ ip_address ] [ , ip_address , ... ] )
Snowflake 계정에 대한 액세스가 거부되는 IPv4 주소 목록을 지정해요. 이를 차단 목록이라고 해요. 이 매개변수를 설정 해제하려면 다른 CIDR 블록 범위, 일련의 IPv4 주소 또는 단일 IPv4 주소를 지정하세요.
Snowflake는 이 매개변수를 사용하는 대신 네트워크 정책과 함께 네트워크 규칙을 사용할 것을 권장해요. IPv4 또는 IPv6 주소를 포함하는 네트워크 규칙을 지정하려면 BLOCKED_NETWORK_RULE_LIST 속성을 사용하세요.
공개 액세스를 차단하려면 네트워크 규칙을 사용하고 해당 네트워크 규칙을 BLOCKED_NETWORK_RULE_LIST 속성에 추가하세요. 그러면 AWS PrivateLink와 같은 프라이빗 연결을 사용하는 IP 주소만 Snowflake 계정에 액세스할 수 있어요.
기본값: 값이 없으며 ALLOWED_IP_LIST 속성의 어떤 IP 주소도 차단되지 않아요.
COMMENT = 'string_literal'
네트워크 정책에 대한 주석을 추가하거나 기존 주석을 덮어써요.
TAG tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ]
태그 이름과 태그 문자열 값을 지정해요.
태그 값은 항상 문자열이며, 태그 값의 최대 문자 수는 256자예요.
문에서 태그를 지정하는 방법에 대한 자세한 내용은 를 참조하세요.
UNSET ...
네트워크 정책에서 설정 해제할 속성을 지정하며, 이를 기본값으로 재설정해요:
COMMENT: 네트워크 정책에 주석이 있으면 해당 주석을 제거해요.- TAG tag_name [ , tag_name ... ]
ADD 및 REMOVE 명령은 미리 보기 상태이며 AWS의 모든 계정에서 사용할 수 있어요.
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 ...
기존 네트워크 정책의 새 이름을 지정해요.
액세스 제어 요구 사항
이 작업을 실행하는 데 사용되는 역할에는 최소한 다음 권한이 있어야 해요.
| 권한 | 개체 | 참고 |
|---|---|---|
| OWNERSHIP | 네트워크 정책 | 네트워크 정책을 수정하려면 해당 네트워크 정책에 대한 OWNERSHIP 권한이 있는 역할이 필요해요. |
보안 개체에 대해 SQL 작업을 수행하기 위한 역할 및 권한 부여에 대한 일반적인 정보는 액세스 제어 개요를 참조해요.
사용 시 참고 사항
-
IP 주소가 허용 목록(ALLOWED LIST)에 있는 사용자가 자신의 전체 IP CDIR 범위를 제거하여 네트워크 정책을 변경하려고 하면 다음 메시지가 표시돼요.
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 계정에서 차단되거나 잠기지 않아요.
-
네트워크 정책의
ALLOWED_IP_LIST및BLOCKED_IP_LIST속성이 비어 있도록 수정하지 마세요. 네트워크 정책과 함께 네트워크 규칙을 사용하여 Snowflake 계정에 대한 액세스를 관리해요. -
허용/차단 목록에 대한
SET작업은 추가 방식이 아니에요. 즉, 네트워크 정책의 기존 목록에 있는 모든 IP 주소를 제거하고 지정된 목록으로 대체해요.따라서 기존 목록에 추가하려면 새 IP 주소를 지정하고 기존 목록도 함께 지정해야 해요.
-
각 ip_address는 Classless Inter-Domain Routing (CIDR) 표기법을 사용하여 주소 범위를 나타낼 수 있어요:
ip_address[/optional_prefix_length]
예를 들어:
192.168.1.0/24 -
네트워크 정책에
ALLOWED_IP_LIST와BLOCKED_IP_LIST값이 모두 포함되어 있으면 Snowflake는 차단 목록을 먼저 적용해요. -
BLOCKED_IP_LIST에0.0.0.0/0을 추가하지 마세요. Snowflake가 차단 목록을 먼저 적용하기 때문에 이렇게 하면 자신의 액세스가 차단될 수 있어요. 또한, 선택한 목록을 제외한 모든 IP 주소를 차단하려면ALLOWED_IP_LIST에 IP 주소만 추가하면 돼요. Snowflake는 허용 목록에 포함되지 않은 모든 IP 주소를 자동으로 차단해요. -
메타데이터 관련:
고객은 Snowflake 서비스를 사용할 때 메타데이터로 개인 데이터(User object에 대한 데이터 제외), 민감한 데이터, 수출 통제 데이터 또는 기타 규제 대상 데이터를 입력하지 않도록 해야 해요. 자세한 내용은 Metadata fields in Snowflake를 참조하세요.
예제
예를 들어, ALTER NETWORK POLICY를 사용하여 allow_access_rule로 정의된 네트워크 트래픽을 허용하는 allow_access_policy라는 네트워크 정책을, 에 정의된 네트워크 규칙에 따라 block_access_rule로 정의된 네트워크 트래픽도 차단하도록 변경해 보아요. 먼저 현재 정책을 표시해요:
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|
|-------------------------------+------------------------------------------|----------------------------|----------------------------|----------------------------------|----------------------------------|
|... | | | | | | |
+-------------------------------+---------------------+--------------------+----------------------------+----------------------------+----------------------------------+----------------------------------+