CREATE DATA MOVEMENT POLICY
CREATE DATA MOVEMENT POLICY
현재/지정한 스키마에 새 데이터 이동 정책(data movement policy)을 만들거나 기존 정책을 교체하는 명령이에요. 데이터 이동 정책은 데이터 이동 규칙을 ENFORCE_RULES(차단)과 ALERT_RULES(허용 + 알림) 두 목록으로 그룹화해요.
출처: 문서
본문
현재/지정한 스키마에 새 데이터 이동 정책을 만들거나 기존 정책을 교체해요.
데이터 이동 정책은 데이터 이동 규칙을 두 목록으로 그룹화해요. ENFORCE_RULES는 데이터 이동 작업을 차단할 수 있고, ALERT_RULES는 작업을 허용하면서 알림을 생성해요. 데이터 이동 정책을 만든 뒤에는 ALTER TAG로 태그에, 또는 ALTER ACCOUNT로 계정에 연결해요.
함께 보기: ALTER DATA MOVEMENT POLICY, DROP DATA MOVEMENT POLICY, DESCRIBE DATA MOVEMENT POLICY, SHOW DATA MOVEMENT POLICIES
CREATE DATA MOVEMENT RULE, ALTER DATA MOVEMENT RULE, DROP DATA MOVEMENT RULE
구문 (Syntax)
CREATE [ OR REPLACE ] DATA MOVEMENT POLICY [ IF NOT EXISTS ] <name>
[ ENFORCE_RULES = ( <rule_name> [ , <rule_name> , ... ] ) ]
[ ALERT_RULES = ( <rule_name> [ , <rule_name> , ... ] ) ]
[ COMMENT = '<string_literal>' ]
필수 매개변수 (Required parameters)
name
데이터 이동 정책의 식별자를 지정하며, 정책이 만들어지는 스키마 안에서 고유해야 해요.
또한 식별자는 반드시 알파벳 문자로 시작해야 하며, 전체 식별자 문자열이 큰따옴표로 묶이지 않는 한 공백이나 특수 문자를 포함할 수 없어요 (예: "My object"). 큰따옴표로 묶인 식별자는 대소문자를 구분해요.
자세한 내용은 식별자 요구 사항(Identifier requirements)을 참고해요.
선택 매개변수 (Optional parameters)
ENFORCE_RULES = ( rule_name [ , rule_name , ... ] )
작업이 규칙과 일치할 때 데이터 이동 작업을 차단하는 데이터 이동 규칙들을 지정해요.
ALERT_RULES = ( rule_name [ , rule_name , ... ] )
작업이 규칙과 일치할 때 데이터 이동 작업을 허용하고 알림을 생성하는 데이터 이동 규칙들을 지정해요.
COMMENT = 'string_literal'
데이터 이동 정책에 대한 설명(comment)을 지정해요.
- 기본값: 값 없음
접근 제어 요구 사항 (Access control requirements)
이 작업을 실행하는 데 사용하는 역할(role)은 최소한 다음 권한을 가져야 해요.
| 권한 (Privilege) | 객체 (Object) | 비고 |
|---|---|---|
| CREATE DATA MOVEMENT POLICY | Schema |
데이터 이동 정책을 태그나 계정에 연결하려면 역할도 계정에 대한 APPLY DATA MOVEMENT POLICY 권한을 가져야 해요. 자세한 내용은 ALTER TAG와 ALTER ACCOUNT를 참고해요.
스키마 안의 객체를 작업하려면 상위 데이터베이스에 대한 권한이 최소 하나, 상위 스키마에 대한 권한이 최소 하나 필요해요.
지정된 권한 집합으로 사용자 지정 역할을 만드는 방법은 사용자 지정 역할 만들기(Creating custom roles)를 참고해요. 보호 가능한 객체에 대해 SQL 작업을 수행하기 위한 역할과 권한 부여의 일반적인 내용은 접근 제어 개요(Overview of Access Control)를 참고해요.
사용 메모 (Usage notes)
데이터 이동 정책은 규칙 없이(빈 ENFORCE_RULES와 ALERT_RULES 목록으로) 만들 수 있지만, 빈 정책은 태그나 계정에 연결할 수 없어요.
데이터 이동 규칙은 ENFORCE_RULES와 ALERT_RULES에 동시에 나타날 수 없어요.
각 목록은 데이터 이동 유형당 최대 하나의 규칙을 포함할 수 있어요.
UI_DOWNLOAD 규칙은 ALERT_RULES가 아닌 ENFORCE_RULES에만 포함할 수 있어요.
기존 데이터 이동 정책을 수정해야 하고 현재 정책 정의를 확인해야 한다면 DESCRIBE DATA MOVEMENT POLICY 명령이나 GET_DDL 함수를 실행해요. GET_DDL 출력에는 ENFORCE_RULES와 ALERT_RULES 목록이 포함돼요.
OR REPLACE와 IF NOT EXISTS 절은 서로 배타적이에요. 같은 문에서 둘 다 사용할 수 없어요.
CREATE OR REPLACE <object> 문은 원자적(atomic)으로 동작해요. 즉, 객체를 교체할 때 기존 객체는 삭제되고 새 객체는 단일 트랜잭션 안에서 생성돼요.
메타데이터에 관해서는 다음 사항에 주의해요.
⚠️ 주의: 고객은 Snowflake 서비스를 사용할 때 (User 객체를 제외하고) 개인 데이터·민감 데이터·수출 통제 데이터·기타 규제 데이터를 메타데이터로 입력하지 않도록 해야 해요. 자세한 내용은 Snowflake의 메타데이터 필드를 참고해요.
예시 (Examples)
한 규칙과 일치하는 작업을 차단하고 다른 규칙과 일치하는 작업에는 알림을 발생시키는 데이터 이동 정책을 만들어요.
CREATE OR REPLACE DATA MOVEMENT POLICY hr_pii_dmp
ENFORCE_RULES = (hr_pii_copy_guard)
ALERT_RULES = (hr_pii_copy_alert)
COMMENT = 'PII guardrails for HR data';
더 알아보기 (Learn more)
- CREATE DATA MOVEMENT RULE — 데이터 이동 규칙 생성
- ALTER DATA MOVEMENT POLICY — 데이터 이동 정책 수정
- SHOW DATA MOVEMENT POLICIES — 데이터 이동 정책 조회