네트워크 정책으로 네트워크 트래픽 제어
네트워크 정책으로 네트워크 트래픽 제어 (Controlling network traffic with network policies)
이 문서는 Snowflake 네트워크 정책(network policies)을 사용해 계정 및 사용자 수준의 네트워크 트래픽을 제어하는 방법을 설명해요.
본문
개요
네트워크 정책은 Snowflake에 대한 접근을 제어하기 위해 허용·차단 IP 주소 범위를 정의하는 계정 수준의 객체예요. 네트워크 정책을 통해 조직이 승인한 IP 주소에서만 Snowflake에 연결할 수 있도록 제한할 수 있어요.
네트워크 정책은 다음 수준에서 적용할 수 있어요:
- 계정 수준: 계정의 모든 사용자에게 적용.
- 사용자 수준: 특정 사용자에게 적용되어 계정 정책을 재정의.
네트워크 정책 만들기
네트워크 정책은 CREATE NETWORK POLICY 문으로 만들어요:
CREATE NETWORK POLICY my_policy
ALLOWED_IP_LIST = ('192.0.2.0/24', '203.0.113.5')
BLOCKED_IP_LIST = ('198.51.100.7');
ALLOWED_IP_LIST: 허용할 IP 주소 및 범위. 여기에 없는 IP는 차단돼요.BLOCKED_IP_LIST: 허용 목록에 있어도 차단할 IP 주소.
예시
특정 범위만 허용하는 정책:
CREATE NETWORK POLICY corp_policy
ALLOWED_IP_LIST = ('10.0.0.0/8');
네트워크 정책 적용
계정에 적용하려면 ALTER ACCOUNT를 사용해요:
ALTER ACCOUNT SET NETWORK_POLICY = corp_policy;
사용자에게 적용하려면 ALTER USER를 사용해요:
ALTER USER jsmith SET NETWORK_POLICY = corp_policy;
기본 네트워크 정책(default_network_policy)은 계정의 모든 사용자에게 적용돼요. 사용자 수준 정책을 설정하면 계정 기본 정책을 재정의해요.
네트워크 정책 관리
SHOW NETWORK POLICIES— 계정의 네트워크 정책 나열.DESCRIBE NETWORK POLICY— 정책 세부 정보.ALTER NETWORK POLICY— 정책 수정.DROP NETWORK POLICY— 정책 삭제.
예시 (허용 목록에 IP 추가):
ALTER NETWORK POLICY corp_policy
ADD ALLOWED_IP_LIST = ('10.1.0.0/16');
네트워크 규칙 사용
Snowflake는 네트워크 정책에서 IP 주소 범위를 직접 나열하는 대신 네트워크 규칙을 참조할 수도 있어요:
CREATE NETWORK POLICY corp_policy
ALLOWED_NETWORK_RULES = (my_ip_rule)
BLOCKED_NETWORK_RULES = (my_block_rule);
네트워크 정책 동작
- IP가 허용 목록과 차단 목록에 모두 있으면 차단 목록이 우선해요.
- 사용자의 네트워크 정책은 계정 정책보다 우선해요.
- 네트워크 정책은 연결 시점(로그인)에 평가돼요.
고려 사항
- 네트워크 정책을 변경하면 기존 연결에는 즉시 적용되지 않고 새 연결부터 적용될 수 있어요.
- 네트워크 정책은 IP 주소 기반 제어이므로, VPN·프록시를 통한 접근을 고려해야 해요.
- 네트워크 정책과 어드바이저 사용법은 네트워크 정책 어드바이저를 참고하세요.