오브젝트 태그 소개

태그란 무엇입니까?

태그는 다른 Snowflake 오브젝트에 할당할 수 있는 스키마 수준 오브젝트입니다. 사용자는 태그를 Snowflake 오브젝트에 할당할 때 태그를 임의의 문자열 값과 연결합니다. Snowflake는 태그 및 해당 문자열 값을 키-값 페어로 저장합니다. 태그는 스키마에 고유하며 태그 값은 항상 문자열이어야 합니다.

다음은 오브젝트 태그의 일반적인 특징입니다.

  • 오브젝트에는 동시에 여러 개의 태그가 있을 수 있습니다. 자세한 내용은 오브젝트에 대한 태그 할당량 섹션을 참조하십시오.

  • 1개의 태그를 여러 오브젝트 유형에 동시에 할당할 수 있습니다(예: 웨어하우스와 테이블을 동시에 할당).

  • 할당할 때 태그 문자열 값은 중복되거나 고유할 수 있습니다. 예를 들어, 여러 테이블을 cost_center 태그에 할당할 수 있으며 태그의 문자열 값이 항상 sales 일 수 있습니다. 또는 각 테이블마다 문자열 값을 다르게 설정할 수 있습니다(예: engineering, marketing, finance).

태그를 정의하고 Snowflake 오브젝트에 태그를 할당하면, 태그를 쿼리하여 오브젝트의 사용량을 모니터링하고 감사 및 보고와 같은 데이터 거버넌스 작업을 용이하게 할 수 있습니다.

하이라이트

사용 편의성:

태그를 한 번 정의하면 여러 다른 오브젝트에 여러 번 적용할 수 있습니다.

태그 상속:

태그는 상속되기 때문에 보안 오브젝트 계층 구조에서 상위의 오브젝트에 태그를 적용하면 모든 하위 오브젝트에 태그가 적용됩니다. 예를 들어, 테이블에 태그를 설정하면 해당 테이블의 모든 열에 태그가 상속됩니다.

자동 전파:

소스 오브젝트에서 대상 오브젝트로 자동으로 전파되도록 태그를 구성합니다.

복제 시 일관적인 할당:

Snowflake는 기본 데이터베이스의 태그 및 태그 할당을 보조 데이터베이스로 복제합니다.

중앙 집중식 또는 분산형 관리:

태그는 내부 및 외부 규정 요구 사항을 쉽게 준수할 수 있도록 다양한 관리 방식을 지원합니다.

중앙 집중식 접근법에서는 tag_admin 사용자 지정 역할을 생성해 태그를 생성하고 Snowflake 오브젝트에 적용할 수 있습니다.

분산형 방식에서 개별 팀은 Snowflake 오브젝트에 태그를 적용하고 tag_admin 사용자 지정 역할은 태그를 생성하여 일관적으로 태그 이름을 지정할 수 있습니다.

데이터 보호를 위한 태그 사용

태그는 테이블, 뷰 및 열에 할당할 수 있으므로, 태그를 설정한 후 태그를 쿼리하면 민감한 정보가 포함된 여러 데이터베이스 오브젝트 및 열을 검색할 수 있습니다. 검색할 때 데이터 관리자는 행 액세스 정책 을 사용한 선택적 필터링 또는 데이터 토큰화, 완전 마스킹, 부분 마스킹 또는 마스킹 미수행을 결정하기 위한 마스킹 정책 사용과 같이 데이터를 가장 잘 활용할 수 있는 방법을 결정할 수 있습니다.

오브젝트 태그와 마스킹 정책을 결합하여 데이터 거버넌스를 간소화할 수도 있습니다. 이 접근법을 사용하면 태그에 마스킹 정책을 지정한 다음 해당 태그를 테이블이나 열에 할당합니다. 열의 데이터 타입이 마스킹 정책 서명의 데이터 타입과 일치하면 태그가 지정된 열은 자동으로 마스킹 정책에 의해 보호됩니다. 자세한 내용은 태그 기반 마스킹 정책 섹션을 참조하십시오.

태그를 사용하여 리소스 사용량 모니터링하기

웨어하우스에 태그를 지정하면 리소스 사용을 정확하게 모니터링할 수 있습니다. 리소스의 태그를 쿼리하면 비용 센터나 다른 조직 단위별로 리소스를 쉽게 그룹화할 수 있습니다. 또한, 태그를 사용하면 프로젝트와 같이 상대적으로 단기간의 비즈니스 활동을 편리하게 분석하여 어떤 리소스가 언제 어떻게 사용되었는지에 대한 세부적인 정보를 얻을 수 있습니다.

태그를 사용하여 리소스 사용량을 모니터링하는 예는 비용 특성을 위한 오브젝트 태그 설정하기 섹션을 참조하십시오.

태그가 오브젝트에 연결되는 방법

태그는 다음과 같은 방법으로 오브젝트와 연결할 수 있습니다.

  • 누군가 CREATE <object> 또는 ALTER <object> 명령을 사용하여 오브젝트에 태그를 수동으로 설정했습니다. 태그 설정하기 섹션을 참조하십시오.

  • 이 오브젝트는 Snowflake 보안 가능한 오브젝트 계층 구조에서 상위의 오브젝트로부터 태그를 상속받았습니다. 예를 들어, 계정의 웨어하우스는 계정에 설정된 태그를 상속합니다. 태그 상속 섹션을 참조하십시오.

  • 태그는 한 오브젝트에서 다른 오브젝트로 자동으로 전파되었습니다. 태그는 오브젝트가 다른 오브젝트에 종속성(예: 태그가 지정된 테이블을 기반으로 하는 뷰)이 있거나 데이터가 태그가 지정된 오브젝트에서 다른 오브젝트로 이동할 때(예: CTAS 문을 사용하여 테이블을 생성하는 경우) 전파될 수 있습니다. 사용자 정의 태그를 통한 자동 태그 전파 섹션을 참조하십시오.

  • 민감한 데이터가 포함된 것으로 분류된 열에 태그가 자동으로 설정되었습니다. 자동 민감한 데이터 분류에서 태그 맵을 사용하여 이러한 태그를 설정하는 방법을 알아보려면 태그 매핑 정보 섹션을 참조하십시오.

  • 누군가 CREATE TABLE … LIKE 또는 CREATE TABLE … CLONE 명령을 사용하여 태그가 있는 기존 테이블에서 테이블을 생성했습니다.

태그가 오브젝트와 어떻게 연관되었는지 확인합니다

다음 뷰와 함수에는 태그가 오브젝트와 어떻게 연결되었는지 보여주는 apply_method 열이 포함됩니다.

예를 들어, 태그가 오브젝트에 수동으로 설정되었는지 또는 전파되었는지 확인하려면 다음 명령을 실행하여 apply_method 열의 값을 확인할 수 있습니다.

SELECT tag_name, tag_value, apply_method, level, domain
  FROM TABLE(my_db.INFORMATION_SCHEMA.TAG_REFERENCES('my_table', 'TABLE'));
Copy

오브젝트에 대한 태그 할당량

테이블과 뷰를 포함하여 1개의 오브젝트에 최대 50개의 태그를 설정할 수 있습니다. 이는 다음 예시와 같이 서로 다른 태그의 개수에 대한 제한이지, 서로 다른 태그/값 조합의 개수에 대한 제한이 아닙니다.

오브젝트에 있는 2개의 태그
ALTER TABLE t1 SET TAG tag1 = 'val1', tag2 = 'val1';
Copy
오브젝트의 태그 하나
ALTER TABLE t1
  MODIFY COLUMN col1 SET TAG tag1 = 'val1'
  MODIFY COLUMN col2 SET TAG tag1 = 'val2';
Copy

태그 제한에 도달하여 태그를 삭제하려면 ALTER <오브젝트> UNSET TAG 문을 실행합니다.

단일 문에서 여러 개의 CREATE <오브젝트> 또는 ALTER <오브젝트> 명령을 실행하는 경우 지정할 수 있는 태그의 최대 개수는 100개입니다.

열에 대한 추가 할당량

다른 모든 오브젝트와 마찬가지로 테이블 또는 뷰의 최대 태그 수는 50개의 고유 태그입니다. 테이블 또는 뷰의 에 추가 할당량이 있습니다. 단일 테이블 또는 뷰의 모든 열에 있는 태그의 최대 총 개수는 50개입니다.

예를 들어, 테이블의 단일 열에 10개의 태그가 설정되어 있는 경우 Snowflake에서는 다음을 허용합니다.

  • 동일한 열 또는 테이블에 있는 열의 일부 조합에 40개의 추가 태그를 설정합니다.

  • 테이블 자체에 50개의 태그를 추가로 설정합니다.

Enterprise Edition이 필요한 기능

태그 생성 및 설정은 모든 계정에서 사용할 수 있습니다. 그러나 Enterprise Edition 이상이 요구되는 고급 기능이 있습니다. 다음 기능을 사용하려면 계정이 Enterprise Edition 이상이어야 합니다.

지원되는 오브젝트

다음 테이블에는 Snowflake 보안 가능 오브젝트 계층 구조를 기반으로 하는 열을 포함하여, 태그에 지원되는 오브젝트가 나와 있습니다.

아래 테이블에서 달리 지정하지 않는 한 CREATE <오브젝트> 문 또는 ALTER <오브젝트> 문으로 오브젝트에 태그를 설정할 수 있습니다.

태그는 CREATE TABLE, CREATE VIEW, ALTER TABLE … MODIFY COLUMN 또는 ALTER VIEW 문을 사용하여 열에 태그를 설정할 수 있습니다.

오브젝트 계층 구조

지원되는 오브젝트

참고

조직

계정

전역 APPLY TAG 권한을 가진 역할이 현재 계정 에 태그를 설정 할 수 있습니다.

계정

애플리케이션

애플리케이션 패키지

컴퓨팅 풀

데이터베이스

장애 조치 그룹

통합

모든 유형 이 지원됩니다.

ALTER INTEGRATION 명령을 사용하여 통합에 태그를 설정합니다.

네트워크 정책

ALTER NETWORK POLICY 명령을 사용하여 네트워크 정책에 태그를 설정합니다.

복제 그룹

역할

공유

태그는 데이터 공유 공급자의 의해 공유에 설정됩니다. 이러한 태그는 데이터 공유 컨슈머에게 표시되지 않습니다. ALTER SHARE 명령을 사용하여 공유에 태그를 설정합니다.

사용자

웨어하우스

데이터베이스

데이터베이스 역할

ALTER DATABASE ROLE 명령을 사용하여 데이터베이스 역할에 태그를 설정합니다.

스키마

스키마

집계 정책

경고

BUDGET 인스턴스

ALTER BUDGET 명령을 사용하여 SNOWFLAKE.CORE.BUDGET 클래스의 인스턴스에 태그를 설정합니다.

CLASSIFICATION 인스턴스

ALTER SNOWFLAKE.ML.CLASSIFICATION 명령을 사용하여 SNOWFLAKE.ML.CLASSIFICATION 클래스의 인스턴스에 태그를 설정합니다.

동적 테이블

이벤트 테이블

외부 함수와 UDF

ALTER FUNCTION 명령을 사용하여 외부 함수 또는 UDF에 태그를 설정합니다.

외부 테이블

CREATE EXTERNAL TABLE 문을 사용하여 태그가 포함된 외부 테이블을 생성할 수 있습니다.

외부 테이블의 태그 할당을 관리하려면 ALTER TABLE 명령을 사용하십시오.

Git 리포지토리

Apache Iceberg™ 테이블

이미지 리포지토리

조인 정책

구체화된 뷰

노트북

비밀번호 정책

파이프

ALTER PIPE 문으로 파이프에 태그를 설정합니다.

정책

마스킹, 비밀번호, 행 액세스, 세션, 집계, 조인 또는 프로젝션 정책에 해당 ALTER <policy> 문와 함께 태그를 설정합니다.

절차

ALTER PROCEDURE 문으로 저장 프로시저에 태그를 설정합니다.

프로젝션 정책

세션 정책

스냅샷

스테이지

ALTER STAGE 문으로 스테이지에 태그를 설정합니다.

스트림

Streamlit

테이블

작업

ALTER TASK 문으로 작업에 태그를 설정합니다.

테이블 또는 뷰

이벤트 테이블 을 포함합니다.

제한 사항 및 고려 사항

향후 권한 부여:

태그에 대한 향후 권한 부여 는 지원되지 않습니다.

해결 방법으로 APPLY TAG 권한을 사용자 지정 역할에 부여하여 해당 역할이 또 다른 오브젝트에 태그를 적용하도록 허용하십시오.

Snowflake Native App:

버전이 지정된 스키마에 태그가 있는 경우 설정 스크립트를 생성할 때 주의하십시오. 자세한 내용은 버전 스키마 고려 사항 섹션을 참조하십시오.