민감한 데이터 자동 분류에서 데이터 제외¶
:doc:`민감한 데이터 자동 분류</user-guide/classify-auto>`를 사용할 경우 Snowflake는 사용자 개입 없이 정기적으로 데이터의 민감도를 분류합니다. :ref:`분류 프로필<label-classification_auto_about_profile>`을 정의하여 이 기능을 활성화한 다음, 분류할 데이터가 포함된 데이터베이스에서 설정합니다.
분류 프로필 설정 및 시스템 태그를 사용하여 자동 분류에서 특정 데이터를 제외할 수 있습니다.
예를 들어, 데이터베이스 my_db``에 3개의 테이블 ``t1, t2 및 t3``가 있다고 가정해 보겠습니다. 기본적으로 ``my_db``에서 분류 프로필을 설정할 때 세 테이블이 모두 자동으로 분류됩니다. 테이블 ``t1 및 ``t3``만 분류되도록 자동 분류 중에 ``t2``를 건너뛰도록 Snowflake를 구성할 수 있습니다.
워크플로¶
민감한 데이터 자동 분류에서 데이터를 제외하는 것은 다음 2단계 프로세스로 진행됩니다.
민감한 데이터 자동 분류에서 제외하려는 모든 오브젝트에 SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION 태그를 적용합니다. 자세히 알아보기
분류 프로필의
enable_tag_based_sensitive_data_exclusion키를true`로 설정합니다. :ref:`자세히 알아보기<label-auto_classify_exclude_define>
이 프로세스를 *태그 기반 민감한 데이터 제외*라고 합니다.
참고
시스템 태그를 적용하고 분류 프로필을 구성한 후 SYSTEM$CLASSIFY 저장 프로시저를 호출하고 분류 프로필을 지정하면 Snowflake는 태그가 지정된 오브젝트를 분류에서 제외합니다.
데이터 오브젝트에 태그 설정¶
:doc:`오브젝트 태그</user-guide/object-tagging/introduction>`는 다른 오브젝트에 설정할 수 있는 오브젝트입니다. Snowflake는 민감한 데이터 자동 분류에서 제외하려는 오브젝트에 설정할 수 있는 시스템 정의 태그 SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION을 제공합니다. 이 태그의 값이 :code:`TRUE`인 경우 Snowflake는 분류 중에 해당 오브젝트를 건너뜁니다.
예를 들어, 테이블에 대해 ``SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION = ‘TRUE’``를 설정하는 경우 Snowflake는 테이블의 데이터베이스를 자동으로 분류할 때 해당 테이블을 건너뜁니다.
스키마, 테이블 또는 열에 SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION 태그를 설정하여 민감한 데이터 자동 분류에서 제외할 데이터를 제어할 수 있습니다.
스키마에 태그 설정¶
분류 프로필이 데이터베이스에 설정되면 자동 데이터 분류 중에 데이터베이스의 모든 스키마가 분류됩니다. 데이터베이스의 스키마에 SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION 태그를 설정하여 분류 프로세스에서 해당 스키마를 제외할 수 있습니다.
예를 들어, 스키마 ``internal``을 제외한 데이터베이스의 모든 스키마를 자동으로 분류한다고 가정해 보겠습니다. ALTER SCHEMA 명령을 실행하여 스키마에 시스템 정의 태그를 설정할 수 있습니다.
ALTER SCHEMA internal SET TAG SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION = 'TRUE';
Snowflake가 데이터베이스의 데이터를 자동으로 분류할 때 스키마 ``internal``의 데이터를 건너뜁니다.
SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION 태그 설정을 위한 액세스 제어 요구 사항에 대해서는 액세스 제어 요구 사항 섹션을 참조하세요.
테이블에 태그 설정¶
데이터베이스 또는 스키마에 분류 프로필이 설정되면 자동 데이터 분류 중에 해당 오브젝트의 모든 테이블이 분류됩니다. 데이터베이스 또는 스키마의 테이블에 SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION 태그를 설정하여 분류 프로세스에서 해당 테이블을 제외할 수 있습니다.
예를 들어, 테이블 ``my_table``을 제외한 데이터베이스의 모든 테이블을 자동으로 분류한다고 가정해 보겠습니다. ALTER TABLE 명령을 실행하여 테이블에 시스템 정의 태그를 설정할 수 있습니다.
ALTER TABLE my_table SET TAG SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION = 'TRUE';
Snowflake가 데이터베이스의 데이터를 자동으로 분류할 때 테이블 ``my_table``의 데이터를 건너뜁니다.
열에 태그 설정¶
테이블의 모든 열이 아닌 일부 열을 자동으로 분류할 수 있습니다. 열에 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가 데이터베이스 또는 스키마의 데이터를 자동으로 분류하는 방법을 제어하는 설정이 포함되어 있습니다. 이러한 설정은 :ref:`label-data_type_object`에서 키-값 페어를 사용하여 지정됩니다.
자동 분류에서 데이터를 제외하려는 경우 분류 프로필의 enable_tag_based_sensitive_data_exclusion 키를 정의해야 합니다. 이 키의 값을 :code:`true`로 정의하지 않는 경우 오브젝트에 대해 SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION을 설정해도 효과가 없습니다.
다음은 데이터베이스에서 설정할 때 올바르게 태그가 지정된 오브젝트를 자동 분류에서 제외하는 분류 프로필의 예입니다.
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 메서드를 호출하여 프로필의 enable_tag_based_sensitive_data_exclusion 키를 설정할 수 있습니다.
SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION 태그가 지정된 오브젝트를 제외하려면 해당 인자를 :code:`true`로 설정하여 메서드를 호출합니다. 예를 들어, ``my_classification_profile``이 설정된 데이터베이스의 분류에서 데이터를 제외할 수 있도록 허용하려면 다음 명령을 실행합니다.
CALL my_classification_profile!SET_ENABLE_TAG_BASED_SENSITIVE_DATA_EXCLUSION(true);
분류 프로필에 대한 태그 기반 민감한 데이터 제외를 비활성화하려면 해당 인자를 :code:`false`로 설정하여 명령을 실행합니다.
CALL my_classification_profile!SET_ENABLE_TAG_BASED_SENSITIVE_DATA_EXCLUSION(false);
액세스 제어 요구 사항¶
다음 섹션에서는 자동 데이터 분류에서 오브젝트를 제외하는 데 필요한 역할과 권한에 대해 설명합니다.
태그 설정 요구 사항¶
분류 프로필을 생성하려면 SNOWFLAKE.CLASSIFICATION_ADMIN 데이터베이스 역할이 필요합니다. 스키마, 테이블 또는 열의 SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION 시스템 태그를 설정하려면 이 동일한 데이터베이스 역할이 필요합니다. 추가 권한이 없는 경우 SNOWFLAKE.CLASSIFICATION_ADMIN 데이터베이스 역할이 있는 사용자는 자신이 소유한 오브젝트에만 시스템 태그를 설정할 수 있습니다.
예를 들어, classify_admin 역할이 있는 사용자가 소유한 오브젝트에 SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION 태그를 설정할 수 있도록 하려면 다음 명령을 실행합니다.
GRANT DATABASE ROLE SNOWFLAKE.CLASSIFICATION_ADMIN TO ROLE classify_admin;
관리자가 소유한 오브젝트뿐 아니라 모든 오브젝트에 SNOWFLAKE.CORE.SKIP_SENSITIVE_DATA_CLASSIFICATION 시스템 태그를 설정할 수 있도록 하려면 다음 명령을 실행합니다.
GRANT DATABASE ROLE SNOWFLAKE.CLASSIFICATION_ADMIN TO ROLE classify_admin;
GRANT APPLY TAG ON ACCOUNT TO ROLE classify_admin;
분류 프로필 구성을 위한 요구 사항¶
분류 프로필의 enable_tag_based_sensitive_data_exclusion 키를 설정하려면 분류 프로필에 대해 PRIVACY_USER 인스턴스 역할이 있어야 합니다.