[Snowflake] 네트워크 보안 정리 (Network Rules / Policies)

차지예·2026년 6월 6일

Snowflake

목록 보기
24/49
post-thumbnail

1. Network Rules (네트워크 규칙)

스키마 레벨(schema-level) 객체로, 단일 IP 또는 IP 범위를 저장한다.

CREATE NETWORK RULE access_rule
  MODE = INGRESS
  TYPE = IPV4
  VALUE_LIST = ('192.168.1.0/24');

📌 핵심 포인트

  • CIDR 표기법으로 IP 서브넷 범위를 표현 → 192.168.1.0/24
  • IPv4뿐 아니라 IPv6도 지원 (TYPE = IPV6 사용 가능)
  • VALUE_LIST는 단일 IP, CIDR 범위, 복수 값 모두 가능
VALUE_LIST = ('192.168.1.0/24');                    -- CIDR 범위
VALUE_LIST = ('192.168.1.1');                       -- 단일 IP
VALUE_LIST = ('192.168.1.1', '192.168.1.1');        -- 복수 값

TYPE / MODE 종류

파라미터
TYPEIPV4, IPV6, AWSVPCEID, AZURELINKID, GCPPSCID, HOST_PORT, PRIVATE_HOST_PORT, COMPUTE_POOL
MODEINGRESS, INTERNAL_STAGE, SNOWFLAKE_MANAGED_STORAGE_VOLUME, EGRESS

보충: Snowflake 서비스로의 접근을 제한하려면 MODE를 INGRESS로 설정한다


2. Network Policies (네트워크 정책)

네트워크 규칙(IP 범위)을 허용(allow) / 차단(block) 하도록 구성하는 객체.

CREATE NETWORK POLICY public_network_policy
  ALLOWED_NETWORK_RULE_LIST = ('allow_access_rule')
  BLOCKED_NETWORK_RULE_LIST = ('block_access_rule');

📌 핵심 포인트 ⭐

  • 허용 리스트 범위 밖의 모든 IP는 접근 거부된다.
  • 차단(Blocked) 리스트의 IP가 먼저 적용된다. (Blocked first!)

생성에 필요한 권한

항목내용
역할(Role)SECURITYADMIN, ACCOUNTADMIN
권한(Privilege)CREATE NETWORK POLICY, CREATE NETWORK RULE

3. Applying Network Policies (정책 적용)

🟡 ACCOUNT 레벨

ALTER ACCOUNT SET NETWORK_POLICY = MYPOLICY;
SHOW PARAMETERS LIKE 'MYPOLICY' IN ACCOUNT;
  • 한 계정(account)에 동시에 하나의 정책만 연결 가능

🟡 USER 레벨

ALTER USER USER1 SET NETWORK_POLICY = MYPOLICY;
SHOW PARAMETERS LIKE 'MYPOLICY' IN USER USER1;
  • 한 사용자(user)에 동시에 하나의 정책만 연결 가능

⭐ 우선순위 (가장 중요!)

User 레벨 정책이 Account 레벨보다 우선(precedence)한다.

공식 문서 보충: 전체 우선순위는
Security Integration > User > Account 순서 (Security Integration이 가장 구체적/우선).

적용 권한 (Account / User 공통)

  • SECURITYADMIN 또는 ACCOUNTADMIN 시스템 역할
  • 또는 ATTACH POLICY 글로벌 권한을 가진 커스텀 역할

4. 정책 우회 (Bypass)

MINS_TO_BYPASS_NETWORK_POLICY

  • 지정한 분(minutes) 동안 네트워크 정책을 임시 우회
  • ⚠️ 오직 Snowflake Support만 이 값을 변경 가능 (사용자 변경 불가)

📌 핵심 요약

  1. Network Rule = 스키마 레벨, IP 저장 / CIDR 표기 사용
  2. Network Policy = Allowed + Blocked 리스트로 구성, Blocked 먼저 적용
  3. User-level 정책이 Account-level보다 우선
  4. Account / User 모두 정책 1개만 연결 가능
  5. 생성 권한 = SECURITYADMIN / ACCOUNTADMIN
  6. 적용 권한 = 위 역할 + ATTACH POLICY 글로벌 권한
  7. MINS_TO_BYPASS_NETWORK_POLICY = Snowflake Support만 변경 가능

0개의 댓글