민감한 데이터 분류에서 데이터를 제외해요
민감한 데이터 분류에서 데이터를 제외해요
민감 데이터 분류는 Enterprise Edition 이상이 필요해요. 업그레이드 문의는 Snowflake Support로 연락해 주세요.
민감 데이터 분류를 사용하면 Snowflake가 사용자 개입 없이 정기적으로 데이터를 민감한 것으로 분류해요. 설정과 시스템 태그를 사용해 특정 데이터를 이 분류 과정에서 제외할 수 있어요.
예를 들어, 데이터베이스 my_db에 t1, t2, t3라는 세 개의 테이블이 있다고 가정해 볼게요. 기본적으로 my_db를 분류하면 세 테이블 모두 자동으로 분류돼요. Snowflake를 구성해서 분류 중 t2를 건너뛰고 t1과 t3 테이블만 분류되도록 할 수 있어요.
출처: 문서
본문
워크플로
민감한 데이터 분류에서 데이터를 제외하는 과정은 두 단계로 이루어져요.
-
SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION 태그를 적용하여 민감한 데이터 분류에서 제외하려는 모든 객체에 지정하세요.
-
제외 설정을 활성화하여 태그 기반 민감한 데이터 제외를 사용하세요.
데이터 객체에 태그 설정
객체 태그는 다른 객체에 설정할 수 있는 객체예요. Snowflake는 시스템 정의 태그인 SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION을 제공하며, 이 태그는 민감한 데이터 분류에서 제외하려는 객체에 설정할 수 있어요. 이 태그의 값이 TRUE이면 Snowflake는 분류 중에 해당 객체를 건너뛰어요.
스키마, 테이블 또는 열에 SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION 태그를 설정하여 민감한 데이터 분류에서 제외할 데이터를 제어할 수 있어요.
스키마 제외
데이터베이스의 스키마에 SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION 태그를 설정하여 분류 과정에서 해당 스키마를 제외할 수 있어요. 예를 들어:
ALTER SCHEMA my_schema SET TAG SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION = 'TRUE';
테이블 제외
데이터베이스 또는 스키마의 테이블에 SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION 태그를 설정하여 분류 과정에서 해당 테이블을 제외할 수 있어요. 예를 들어:
ALTER TABLE my_table SET TAG SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION = 'TRUE';
열 제외
열에 SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION 태그를 설정하면 Snowflake가 테이블을 분류할 때 해당 열을 건너뛸 수 있어요. 열을 제외하면 해당 열에 민감한 데이터가 포함되어 있더라도 분류 결과에 빈 값이 포함돼요.
예를 들어, 테이블의 모든 열을 자동으로 분류하되 employee_id 열은 제외하려고 한다고 가정해 볼게요. ALTER TABLE … ALTER COLUMN 명령을 실행하여 해당 열에 시스템 정의 태그를 설정할 수 있어요:
ALTER TABLE my_table ALTER COLUMN employee_id
SET TAG SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION = 'TRUE';
Snowflake가 테이블의 데이터를 자동으로 분류하면 JSON 결과의 employee_id 필드는 비어 있어요.
SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION 태그 설정에 대한 액세스 제어 요구 사항은 액세스 제어 요구 사항을 참조하세요.
제외 설정 활성화
객체에 SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION 태그를 설정해도 태그 기반 민감한 데이터 제외 설정을 활성화하기 전까지는 효과가 없어요.
이 설정은 Trust Center 사용자 인터페이스 또는 SQL 명령 사용을 통해 활성화할 수 있어요.
Trust Center를 사용하여 태그 기반 민감한 데이터 제외 활성화
필수 권한을 가진 사용자로 Snowsight에 로그인하세요.
탐색 메뉴에서 거버넌스 및 보안 » Trust Center를 선택하세요.
데이터 보안 탭을 선택하세요.
설정 탭을 선택하세요.
다음 중 하나를 수행하세요:
분류 기준 정의 페이지에 도달할 때까지 분류 설정을 진행하세요.
제외 기준 섹션에서 SKIP_SENSITIVE_DATA_CLASSIFICATION 태그가 지정된 객체 제외를 선택하세요.
SQL을 사용하여 태그 기반 민감한 데이터 제외 활성화
분류 프로필에는 Snowflake가 데이터베이스의 데이터를 자동으로 분류하는 방법을 제어하는 설정이 포함되어 있어요. 이러한 설정은 OBJECT의 키-값 쌍으로 지정돼요.
민감한 데이터 분류에서 데이터를 제외하려면 분류 프로필의 enable_tag_based_sensitive_data_exclusion 키를 정의해야 해요.
다음은 데이터베이스에 설정할 때 올바르게 태그가 지정된 객체를 민감한 데이터 분류에서 제외하는 분류 프로필의 예시예요:
CREATE OR REPLACE SNOWFLAKE.DATA_PRIVACY.CLASSIFICATION_PROFILE
my_classification_profile(
{
'minimum_object_age_for_classification_days': 0,
'maximum_classification_validity_days': 30,
'auto_tag': true,
'enable_tag_based_sensitive_data_exclusion': true
});
또한 SET_ENABLE_TAG_BASED_SENSITIVE_DATA_EXCLUSION 메서드를 실행하여 기존 분류 프로필에 대한 설정을 활성화할 수도 있어요.
액세스 제어 요구 사항
기본적으로 분류 설정을 활성화하거나 비활성화할 수 있는 사용자는 자신의 스키마와 테이블에서만 SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION 시스템 태그를 설정할 수 있어요.
사용자가 자신이 소유한 객체뿐만 아니라 모든 객체에 시스템 태그를 설정할 수 있게 하려면 다음 명령을 실행하세요:
GRANT APPLY TAG ON ACCOUNT TO ROLE <classify_user>;