객체 태그 작업

객체 태그 작업

이 주제는 태그를 만들고 Snowflake 객체에 할당하는 방법을 설명해요. 태그를 삭제하는 방법에 대한 지침도 포함돼요.

Snowflake가 모든 계정에서 만드는 사전 정의 태그를 할당하려면 Snowflake 제공 태그를 참조하세요.

출처: Work with object tags

본문

Snowsight에서 태그 만들기 (공개 프리뷰)

프리뷰 기능 — 모든 계정에서 사용 가능.

Snowsight에서 태그를 만들려면 다음 단계를 사용하세요. SQL로 태그를 만들려면 SQL로 태그 만들기를 참조하세요.

Tags & policies 영역을 여는 사전 요구 사항은 Snowsight로 태그 설정을 참조하세요.

  1. 탐색 메뉴에서 Governance & security » Tags & policies를 선택하세요.
  2. Tags 탭을 여세요.
  3. + Create tag를 선택하세요.
  4. Create tag 대화 상자에서 이름을 입력하고 태그의 데이터베이스와 스키마를 선택한 후 필요에 따라 설명을 추가하세요.
  5. 선택적 속성을 설정하려면 Advanced options를 펼친 다음 필요에 따라 Allowed values와 Tag propagation을 구성하세요.
  6. Save를 선택하세요.

다음 표는 각 설정을 요약해요. 전체 동작, 구문, 권한은 More information 열의 링크를 선택하세요.

설정 역할 자세한 정보
Name 선택한 스키마에서 태그의 식별자. CREATE TAG(*name* 매개변수 참조) 및 식별자 요구 사항.
Database and schema 태그가 스키마 수준 객체로 저장되는 위치. 지원되는 객체 및 CREATE TAG.
Description (선택) 태그를 어떻게 사용해야 하는지 설명하는 선택적 텍스트. CREATE TAG의 COMMENT 절.
Allowed values (고급) 활성화하면 태그가 객체에 적용될 때 태그 값을 정의된 목록으로 제한. 허용 태그 값 목록 설정.
Tag propagation (고급) 활성화하면 선택한 옵션에 따라 소스 객체에서 대상 객체로 태그를 자동으로 전파. 사용자 정의 태그를 이용한 자동 태그 전파(Enterprise Edition 이상 필요).

Snowsight에서 기존 태그를 탐색하고 관리하려면 Snowsight로 태그 모니터링을 참조하세요.

SQL로 태그 만들기

CREATE TAG 명령을 사용해 새 태그를 만들어요. 예를 들어 선택적 매개변수 없이 cost_center라는 기본 태그를 만들려면 다음을 실행하세요:

CREATE TAG cost_center;

허용 태그 값 목록 설정

ALLOWED_VALUES 태그 매개변수를 사용하면 태그가 객체에 설정될 때 태그에 할당할 수 있는 문자열 값 목록을 지정할 수 있어요. 사용자는 값이 정의된 목록에 없으면 태그에 값을 할당할 수 없어요.

단일 태그의 가능한 문자열 값 최대 수는 5,000개예요. 각 태그의 문자열 값은 최대 256자까지 가능해요.

허용 값 목록은 CREATE TAG 문으로 태그를 만들거나 교체할 때, 또는 ALTER TAG 문으로 기존 태그를 수정할 때 지정할 수 있어요. ALTER TAG 문은 태그에 허용 값을 추가하고 기존 값을 삭제하는 것을 지원해요.

태그 정의에서 허용 값을 변경하거나 제거해도 이미 객체에 할당된 태그 값에는 영향을 주지 않아요. 값이 더 이상 태그의 허용 값 목록에 없어도 기존 할당은 값을 유지해요. 더 이상 허용되지 않는 값이 있는 객체를 업데이트하려면 해당 객체에 허용된 값으로 태그를 다시 설정하거나 태그를 해제하세요.

태그가 대상 객체에 자동으로 전파되도록 구성된 경우 허용 목록의 값 순서가 충돌 해결 방식에 영향을 줄 수 있어요. 자세한 내용은 태그 전파 충돌을 참조하세요.

태그의 허용 값 목록을 확인하려면 SYSTEM$GET_TAG_ALLOWED_VALUES 함수를 호출하세요.

예제

finance와 engineering만 허용 문자열 값으로 하는 cost_center라는 태그를 만들어요:

CREATE TAG cost_center
  ALLOWED_VALUES 'finance', 'engineering';

허용 값을 확인해요:

SELECT SYSTEM$GET_TAG_ALLOWED_VALUES('governance.tags.cost_center');

cost_center라는 태그를 수정해 marketing을 허용 문자열 값으로 추가해요:

ALTER TAG cost_center
  ADD ALLOWED_VALUES 'marketing';

cost_center라는 태그를 수정해 engineering을 허용 문자열 값으로 삭제해요:

ALTER TAG cost_center
  DROP ALLOWED_VALUES 'engineering';

자동으로 전파될 태그 정의

Enterprise Edition 기능 — 이 기능은 Enterprise Edition 이상이 필요해요. 업그레이드 문의는 Snowflake 지원에 문의하세요.

PROPAGATE 태그 매개변수를 사용하면 특정 상황에서 태그가 소스 객체에서 대상 객체로 자동 전파되도록 구성할 수 있어요. PROPAGATE 매개변수는 다음 값으로 설정할 수 있어요:

  • PROPAGATE = ON_DEPENDENCY: 객체 종속성이 있을 때 태그가 대상 객체로 전파됨.
  • PROPAGATE = ON_DATA_MOVEMENT: 데이터가 소스 객체에서 대상 객체로 이동할 때 태그가 대상 객체로 전파됨.
  • PROPAGATE = ON_DEPENDENCY_AND_DATA_MOVEMENT: 객체 종속성과 데이터 이동 모두에 대해 태그가 전파됨.

전파에 대한 자세한 내용은 사용자 정의 태그를 이용한 자동 태그 전파를 참조하세요.

예제

객체 종속성이 있을 때 자동으로 전파되는 새 태그를 만들어요:

CREATE TAG data_sensitivity PROPAGATE = ON_DEPENDENCY;

객체 종속성과 데이터 이동 모두에 대한 자동 전파를 활성화하도록 기존 태그를 업데이트해요:

ALTER TAG data_sensitivity SET PROPAGATE = ON_DEPENDENCY_AND_DATA_MOVEMENT;

전파를 비활성화하도록 기존 태그를 업데이트해요:

ALTER TAG data_sensitivity UNSET PROPAGATE;

태그 설정

사용자 인터페이스 또는 SQL을 사용해 객체에 태그를 설정할 수 있어요.

객체에 태그를 설정할 때는 태그의 값을 설정해야 해요. 이 문자열 값은 최대 256자까지 가능해요.

태그를 만든 사용자가 허용 값 목록을 지정했을 수 있으며, 이 경우 목록에 있는 태그 값만 설정할 수 있어요.

주어진 태그의 허용 문자열 값 목록을 얻으려면 SYSTEM$GET_TAG_ALLOWED_VALUES 함수를 호출하세요. 예를 들어 cost_center 태그가 governance라는 데이터베이스와 tags라는 스키마에 저장돼 있다고 가정하면 다음을 실행해 태그 값을 finance나 marketing으로 설정할 수 있음을 확인할 수 있어요:

SELECT SYSTEM$GET_TAG_ALLOWED_VALUES('governance.tags.cost_center');
+--------------------------------------------------------------+
| SYSTEM$GET_TAG_ALLOWED_VALUES('GOVERNANCE.TAGS.COST_CENTER') |
|--------------------------------------------------------------|
| ["finance","marketing"]                                      |
+--------------------------------------------------------------+

Snowsight로 태그 설정

Snowsight를 사용해 기존 테이블, 뷰, 열에 태그를 설정할 수 있어요.

태그를 설정하는 여러 옵션이 있어요:

  • 탐색 메뉴에서 Catalog » Explorer를 선택한 다음 Horizon Catalog Explorer를 사용해 원하는 테이블, 뷰, 열로 이동하세요. More 메뉴(즉, ...) » Edit를 선택한 다음 + Tag를 선택하세요. 프롬프트에 따라 태그 할당을 관리하세요.
  • 탐색 메뉴에서 Governance & security » Tags & policies를 선택하고 다음을 수행하세요: 타일, 분포 백분율, 가장 많이 사용된 태그 또는 테이블 중 하나를 선택하세요. Dashboard에서 항목을 선택하면 Snowsight가 Tagged Objects 탭으로 리다이렉트해요. 필요에 따라 필터를 수정하세요. 객체나 열을 선택하면 Snowsight가 Horizon Catalog Explorer에서 해당 위치로 리다이렉트해요. 필요에 따라 태그 할당을 업데이트하세요.
  • Tagged Objects 탭으로 직접 이동하세요. 필터를 수정하고 객체나 열을 선택한 후 태그 할당을 관리하세요.

Tags & policies 영역에 접근하려면 Snowflake 계정이 Enterprise Edition 이상이어야 해요. 또한 다음 역할 중 하나가 있어야 해요:

  • ACCOUNTADMIN 역할 사용.
  • GOVERNANCE_VIEWER와 OBJECT_VIEWER 데이터베이스 역할이 부여된 역할 사용.

이 데이터베이스 역할에 대한 정보는 SNOWFLAKE 데이터베이스 역할을 참조하세요.

SQL로 태그 설정

SQL 명령을 사용해 새 객체를 만들 때 태그를 설정하거나 기존 객체에 태그를 설정할 수 있어요.

만드는 새 객체에 태그를 설정하려면 CREATE … WITH TAG 명령을 사용하세요. 예를 들어 만들고 있는 웨어하우스에 cost_center 태그를 할당하려면 다음을 실행하세요:

CREATE WAREHOUSE mywarehouse WITH TAG (cost_center = 'sales');

기존 객체에 태그를 설정하려면 ALTER … SET TAG 명령을 사용하세요. 예를 들어 기존 웨어하우스에 cost_center 태그를 할당하려면 다음을 실행하세요:

ALTER WAREHOUSE wh1 SET TAG cost_center = 'sales';

확장 예제: SQL로 태그 만들기 및 할당

다음은 SQL로 객체 태깅을 구현하는 방법에 대한 높은 수준의 개요를 제공하는 확장 예제예요. 다음을 수행하는 방법을 보여줘요:

  • 태그를 다루는 데 필요한 접근 제어 권한 관리.

간단히 하기 위해 워크플로는 tag_admin 커스텀 역할이 CREATE TAG와 전역 APPLY TAG 권한을 모두 갖는 중앙 집중식 관리 방식을 가정해요. 대안적 접근 방식은 태깅 권한 할당 접근 방식을 참조하세요.