ALTER TAG¶
태그 이름 바꾸기와 태그에 대한 마스킹 정책 설정을 포함하여 기존 태그의 속성을 수정합니다.
태그에 대한 모든 변경 사항은 태그를 사용하는 다음 SQL 쿼리가 실행될 때 적용됩니다.
- 참고 항목:
구문¶
ALTER TAG [ IF EXISTS ] <name> RENAME TO <new_name>
ALTER TAG [ IF EXISTS ] <name> { ADD | DROP } ALLOWED_VALUES '<val_1>' [ , '<val_2>' [ , ... ] ]
ALTER TAG [ IF EXISTS ] <name> SET
[ PROPAGATE = { ON_DEPENDENCY_AND_DATA_MOVEMENT | ON_DEPENDENCY | ON_DATA_MOVEMENT }
[ ON_CONFLICT = { '<string>' | ALLOWED_VALUES_SEQUENCE } ] ]
[ COMMENT = '<string_literal>' ]
ALTER TAG [ IF EXISTS ] <name> UNSET { ALLOWED_VALUES | PROPAGATE | ON_CONFLICT | COMMENT }
ALTER TAG [ IF EXISTS ] <name> SET MASKING POLICY
<masking_policy_name> [ , MASKING POLICY <masking_policy_2_name> , ... ] [ FORCE ]
ALTER TAG [ IF EXISTS ] <name> UNSET MASKING POLICY <masking_policy_name> [ , MASKING POLICY <masking_policy_2_name> , ... ]
매개 변수¶
name
태그의 식별자입니다. CREATE <오브젝트> 문 또는 ALTER <오브젝트> 문을 사용하여 오브젝트 에 태그 문자열 값을 할당합니다.
식별자 값은 알파벳 문자로 시작해야 하며 전체 식별자 문자열을 큰따옴표(예: “My object”)로 묶지 않는 한 공백이나 특수 문자를 포함할 수 없습니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다.
자세한 내용은 식별자 요구 사항 섹션을 참조하십시오.
RENAME TO new_name
태그의 새 식별자를 지정하며, 스키마에 고유한 식별자여야 합니다. 다른 태그에 대해 식별자가 이미 준비되어 있으면 새 식별자를 사용할 수 없습니다.
자세한 내용은 식별자 요구 사항 섹션을 참조하십시오.
선택적으로 오브젝트의 이름을 바꾸는 동안 오브젝트를 다른 데이터베이스 및/또는 스키마로 이동할 수 있습니다. 그러려면 각각
db_name.schema_name.object_name
또는schema_name.object_name
형식으로 새 데이터베이스 및/또는 스키마 이름을 포함하는 정규화된new_name
값을 지정하십시오.참고
대상 데이터베이스 및/또는 스키마가 이미 있어야 합니다. 또한, 새 위치에 이름이 같은 오브젝트가 있으면 안 됩니다. 그렇지 않으면 문이 오류를 반환합니다.
오브젝트 소유자(즉, 오브젝트에 대한 OWNERSHIP 권한이 있는 역할) 역시 대상 스키마를 소유하지 않는 한 오브젝트를 관리되는 액세스 스키마로 이동하는 것은 금지됩니다.
ALLOWED_VALUES 'val_1' [ , 'val_2' [ , ... ] ]
해당 CREATE <오브젝트> 또는 ALTER <오브젝트> 명령을 사용하여 오브젝트 에 태그를 설정할 때 태그에 할당할 수 있는 가능한 문자열 값으로 이루어진, 쉼표로 구분된 목록을 지정합니다.
이 목록의 최대 태그 값 수는 300개입니다.
태그가 대상 오브젝트에 자동으로 전파되도록 구성된 경우 허용된 목록의 값 순서에 따라 충돌이 해결되는 방식에 영향을 줄 수 있습니다. 자세한 내용은 태그 전파 충돌 섹션을 참조하십시오.
기본값: NULL (빈 문자열 값(즉,
' '
)을 포함한 모든 문자열 값이 허용됨).PROPAGATE = { ON_DEPENDENCY_AND_DATA_MOVEMENT | ON_DEPENDENCY | ON_DATA_MOVEMENT }
태그가 원본 오브젝트에서 대상 오브젝트로 자동으로 전파되도록 지정합니다. 오브젝트 종속성, 데이터 이동 또는 둘 다 있을 때 전파되도록 태그를 구성할 수 있습니다.
이 매개 변수에 대한 변경 사항은 대상 오브젝트에 자동으로 전파되지 않습니다. 이러한 변경 사항은 이전에 태그 전파의 일부로 대상 오브젝트에 적용되었던 태그에는 영향을 미치지 않습니다.
가능한 값은 다음과 같습니다.
ON_DEPENDENCY_AND_DATA_MOVEMENT
오브젝트 종속성 또는 데이터 이동이 있을 때 태그를 전파합니다.
ON_DEPENDENCY
오브젝트 종속성에 대한 태그를 전파하지만 데이터 이동에 대한 태그는 전파하지 않습니다.
ON_DATA_MOVEMENT
데이터 이동이 있을 때 태그를 전파하지만 오브젝트 종속성에는 전파하지 않습니다.
ON_CONFLICT = { 'string' | ALLOWED_VALUES_SEQUENCE }
전파된 태그 의 값 사이에 충돌이 발생하면 어떻게 되는지 지정합니다.
이 매개 변수를 설정하지 않고 충돌이 발생하면 태그의 값이
CONFLICT
문자열로 설정됩니다.이 매개 변수에 대한 변경 사항은 대상 오브젝트에 자동으로 전파되지 않습니다. 이러한 변경 사항은 이전에 태그 전파의 일부로 대상 오브젝트에 적용되었던 태그에는 영향을 미치지 않습니다.
가능한 값은 다음과 같습니다.
'string'
충돌이 발생하면 태그의 값이 지정된 문자열로 설정됩니다.
ALLOWED_VALUES_SEQUENCE
태그의 ALLOWED_VALUES 속성에 있는 값의 순서에 따라 충돌이 있을 때 사용되는 값이 결정됩니다. 예를 들어 다음과 같은 문자로 태그를 만들었다고 가정해 보겠습니다.
CREATE TAG my_tag ALLOWED_VALUES 'blue', 'red' PROPAGATE = ON_DEPENDENCY;
충돌이 있는 경우 허용된 값 목록에서
my_tag
의 값이red
앞에 오므로blue
가 됩니다.
기본값: 태그의 값을
CONFLICT
로 설정합니다.MASKING POLICY masking_policy_name [ , MASKING POLICY masking_policy_2_name , ... ]
태그에 할당할 수 있는 마스킹 정책 의 쉼표로 구분된 목록을 지정합니다.
FORCE
태그에 현재 설정된 마스킹 정책을 단일 문에서 다른 마스킹 정책으로 바꿉니다.
데이터 타입 이 같은 정책이 태그에 이미 설정된 경우 FORCE 키워드를 사용하면 마스킹 정책이 바뀝니다.
마스킹 정책이 태그에 현재 설정되어 있지 않으면 이 키워드를 지정해도 아무 효과가 없습니다.
자세한 내용은 태그의 마스킹 정책 바꾸기 섹션을 참조하십시오.
COMMENT = 'string_literal'
태그에 대한 설명을 지정합니다.
기본값: 값 없음
UNSET
태그에 대해 설정 해제할 하나 이상의 속성 및/또는 매개 변수를 지정하여 기본값으로 재설정합니다.
ALLOWED_VALUES
PROPAGATE
ON_CONFLICT
COMMENT
액세스 제어 요구 사항¶
이 작업을 실행하는 데 사용되는 역할 에는 최소한 다음 권한 이 있어야 합니다.
권한 |
오브젝트 |
참고 |
---|---|---|
OWNERSHIP |
태그 |
이 권한은 태그 속성(예: 설명, 허용되는 값)을 수정하는 데 필요합니다. OWNERSHIP is a special privilege on an object that is automatically granted to the role that created the object, but can also be transferred using the GRANT OWNERSHIP command to a different role by the owning role (or any role with the MANAGE GRANTS privilege). |
APPLY MASKING POLICY |
계정 |
태그에 마스킹 정책을 할당하고 바꾸려면 전역 APPLY MASKING POLICY 권한이 필요합니다. |
스키마의 모든 오브젝트에 대해 작업을 수행하려면 상위 데이터베이스 및 스키마에 대한 USAGE 권한.
지정된 권한 세트로 사용자 지정 역할을 만드는 방법에 대한 지침은 사용자 지정 역할 만들기 섹션을 참조하십시오.
보안 오브젝트 에 대해 SQL 작업을 수행하기 위한 역할과 권한 부여에 대한 일반적인 정보는 액세스 제어의 개요 섹션을 참조하십시오.
태그 DDL 및 권한에 대한 추가적인 세부 사항은 액세스 제어 권한 섹션을 참조하십시오.
사용법 노트¶
태그 DDL 인증에 대한 자세한 내용은 필수 권한 을 참조하십시오.
하나 이상의 마스킹 정책을 태그에 할당하는 작업과 관련하여 다음 사항이 적용됩니다.
한 태그에는 데이터 타입당 마스킹 정책이 하나만 있을 수 있습니다.
예를 들어, 한 태그에는 STRING 데이터 타입에 대한 정책이 한 개, NUMBER 데이터 타입에 대한 정책이 한 개 등이 있을 수 있습니다.
마스킹 정책이 열을 이미 보호하고 마스킹 정책이 적용된 태그가 같은 열에 설정된 경우, 열에 직접 할당된 마스킹 정책이 태그에 할당된 마스킹 정책보다 우선합니다.
어떤 태그에 어떤 마스킹 정책이 할당되면 해당 태그를 삭제 할 수도 없고, 그 마스킹 정책이 어떤 태그에 할당되면 마스킹 정책을 삭제할 수도 없습니다.
복제, 특히 태그 기반 마스킹 정책에 관해서는 정책 복제 고려 사항 을 참조하십시오.
메타데이터 관련:
주의
고객은 Snowflake 서비스를 사용할 때 개인 데이터(사용자 오브젝트 제외), 민감한 데이터, 수출 통제 대상 데이터 또는 기타 규제 데이터가 메타데이터로 입력되지 않도록 해야 합니다. 자세한 내용은 Snowflake의 메타데이터 필드 섹션을 참조하십시오.
예¶
cost_center
태그의 이름을 cost_center_na
로 바꿉니다. 여기서 na
는 북미를 나타냅니다.
ALTER TAG cost_center RENAME TO cost_center_na;