데이터 이동 정책 변경하기

데이터 이동 정책 변경하기 (ALTER DATA MOVEMENT POLICY)


이 기능은 Enterprise Edition(이상)이 필요해요. 업그레이드에 대해 문의하려면 Snowflake Support에 연락해 주세요.

기존 data movement policy의 속성을 수정해요. 규칙 목록에서 항목을 교체하거나 추가하거나 제거할 수 있고, 주석을 설정하거나 해제할 수 있으며, 정책 이름을 바꿀 수도 있어요.

정책 규칙에 대한 변경 사항은 해당 정책을 사용하는 다음 데이터 이동 작업이 실행될 때 적용돼요.

참조:

CREATE 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


출처: 문서

본문

구문

ALTER DATA MOVEMENT POLICY [ IF EXISTS ]  RENAME TO 

ALTER DATA MOVEMENT POLICY [ IF EXISTS ]  SET ENFORCE_RULES = (  [ ,  , ... ] )

ALTER DATA MOVEMENT POLICY [ IF EXISTS ]  SET ALERT_RULES = (  [ ,  , ... ] )

ALTER DATA MOVEMENT POLICY [ IF EXISTS ]  ADD ENFORCE_RULES = (  [ ,  , ... ] )

ALTER DATA MOVEMENT POLICY [ IF EXISTS ]  ADD ALERT_RULES = (  [ ,  , ... ] )

ALTER DATA MOVEMENT POLICY [ IF EXISTS ]  REMOVE ENFORCE_RULES = (  [ ,  , ... ] )

ALTER DATA MOVEMENT POLICY [ IF EXISTS ]  REMOVE ALERT_RULES = (  [ ,  , ... ] )

ALTER DATA MOVEMENT POLICY [ IF EXISTS ]  SET COMMENT = ''

ALTER DATA MOVEMENT POLICY [ IF EXISTS ]  UNSET COMMENT

매개변수

name

변경할 데이터 이동 정책의 식별자를 지정합니다.

식별자에 공백이나 특수 문자가 포함된 경우 전체 문자열을 큰따옴표로 묶어야 합니다. 큰따옴표로 묶인 식별자는 대소문자를 구분합니다.

자세한 내용은 식별자 요구 사항을 참조하세요.

RENAME TO new_name

데이터 이동 정책에 대한 새 식별자를 지정합니다. 스키마 내에서 고유해야 합니다. 다른 데이터 이동 정책에 이미 사용 중인 식별자는 새 식별자로 사용할 수 없습니다.

식별자에 대한 자세한 내용은 식별자 요구 사항을 참조하세요.

객체의 이름을 선택적으로 변경하면서 객체를 다른 데이터베이스 및/또는 스키마로 이동할 수 있습니다. 이렇게 하려면 각각 db_name.schema_name.object_name 또는 schema_name.object_name 형식으로 새 데이터베이스 및/또는 스키마 이름을 포함하는 정규화된 new_name 값을 지정하세요.

  • 대상 데이터베이스 및/또는 스키마가 이미 존재해야 합니다. 또한 새 위치에 같은 이름의 객체가 이미 있으면 안 됩니다. 그렇지 않으면 문이 오류를 반환합니다.
  • 객체 소유자(즉, 객체에 대한 OWNERSHIP 권한을 가진 역할)가 대상 스키마도 소유하지 않는 한 객체를 관리형 액세스 스키마로 이동하는 것은 금지됩니다.

객체 이름이 변경되면 해당 객체를 참조하는 다른 객체도 새 이름으로 업데이트해야 합니다.

SET ...

데이터 이동 정책에 대해 지정된 규칙 목록, 주석 또는 둘 다의 전체 내용을 바꿉니다:

ENFORCE_RULES = ( rule_name [ , rule_name , ... ] )

현재 ENFORCE_RULES 목록을 지정된 데이터 이동 규칙으로 바꿉니다. 이러한 규칙은 작업이 규칙과 일치할 때 데이터 이동 작업을 차단합니다.

ALERT_RULES = ( rule_name [ , rule_name , ... ] )

현재 ALERT_RULES 목록을 지정된 데이터 이동 규칙으로 바꿉니다. 이러한 규칙은 작업이 규칙과 일치할 때 데이터 이동 작업을 허용하고 경고를 생성합니다.

COMMENT = 'string_literal'

데이터 이동 정책에 주석을 추가하거나 기존 주석을 덮어씁니다.

ADD ...


지정된 데이터 이동 규칙을 ENFORCE_RULES 또는 ALERT_RULES 목록에 추가해요. 이미 목록에 있는 규칙은 대체하지 않아요:

  • ENFORCE_RULES = ( rule_name [ , rule_name , ... ] )
  • ALERT_RULES = ( rule_name [ , rule_name , ... ] )

REMOVE ...

지정된 데이터 이동 규칙을 ENFORCE_RULES 또는 ALERT_RULES 목록에서 제거해요. 목록의 다른 규칙에는 영향을 주지 않아요:

  • ENFORCE_RULES = ( rule_name [ , rule_name , ... ] )
  • ALERT_RULES = ( rule_name [ , rule_name , ... ] )

REMOVE 작업은 규칙이 현재 지정된 목록에 있을 때만 성공해요.

UNSET ...

주석을 기본값으로 재설정해요:

  • COMMENT

하나의 ALTER 문으로 여러 속성이나 매개변수를 설정 해제하려면 각 속성이나 매개변수를 쉼표로 구분해요.

속성이나 매개변수를 설정 해제할 때는 속성 또는 매개변수 이름만 지정해요 (위 구문에서 값을 지정해야 한다고 표시되지 않는 한). 값을 지정하면 오류가 반환돼요.

액세스 제어 요구 사항

이 작업을 실행하는 데 사용되는 역할은 최소한 다음 권한을 보유해야 해요:

권한 객체 참고
OWNERSHIP Data movement policy %ac-ownership%

스키마의 객체를 대상으로 작업하려면 상위 데이터베이스에 대한 권한이 하나 이상 필요하고 상위 스키마에 대한 권한도 하나 이상 필요해요.

지정된 권한 집합을 가진 사용자 지정 역할을 만드는 방법은 을(를) 참조해요.

SQL 작업을 securable objects에 대해 수행하기 위한 역할 및 권한 부여에 대한 일반적인 정보는 Overview of Access Control을(를) 참조해요.

사용 메모


  • SET은 규칙 목록의 전체 내용을 대체해요. ADD와 REMOVE는 목록을 점진적으로 수정해서 목록의 다른 규칙들은 변경하지 않아요.
  • 데이터 이동 규칙은 ENFORCE_RULESALERT_RULES 양쪽에 동시에 포함될 수 없어요. 그리고 각 목록에는 데이터 이동 유형별로 최대 하나의 규칙만 포함할 수 있어요.
  • 태그나 계정에 연결된 데이터 이동 정책은 SET 또는 REMOVE 작업으로 비워 둘 수 없어요.
  • 정책의 현재 정의를 확인하려면 DESCRIBE DATA MOVEMENT POLICY 명령이나 GET_DDL 함수를 실행하세요.
  • 메타데이터 관련:

고객은 Snowflake 서비스를 사용할 때 메타데이터로 개인 데이터(User object의 경우 제외), 민감한 데이터, 수출 통제 데이터 또는 기타 규제 대상 데이터를 입력하지 않도록 해야 해요. 자세한 내용은 Metadata fields in Snowflake를 참조하세요.

예제

ENFORCE_RULES 목록 전체를 대체하려면:

ALTER DATA MOVEMENT POLICY hr_pii_dmp
  SET ENFORCE_RULES = (hr_pii_copy_guard, hr_agent_guard);

기존 규칙을 대체하지 않고 ENFORCE_RULES 목록에 규칙을 추가하려면:

ALTER DATA MOVEMENT POLICY hr_pii_dmp
  ADD ENFORCE_RULES = (hr_ui_download_guard);

ALERT_RULES 목록에서 규칙을 제거하려면:

ALTER DATA MOVEMENT POLICY hr_pii_dmp
  REMOVE ALERT_RULES = (hr_pii_copy_alert);

데이터 이동 정책의 이름을 바꾸려면:

ALTER DATA MOVEMENT POLICY hr_pii_dmp RENAME TO hr_pii_policy;

더 알아보기 (Learn more)