분류 소개¶
이 항목에서는 분류의 작동 방식에 대한 정보를 제공합니다.
사용자 지정 분류자를 사용하는 방법에 대한 자세한 내용은 사용자 지정 데이터 분류 섹션을 참조하십시오.
이 항목의 내용:
개요¶
분류는 개인 데이터에 대한 필드와 메타데이터를 분석하여 Snowflake에서 정의된 시스템 태그를 열에 연결하는 다단계 프로세스이며, 데이터 엔지니어가 SQL과 Snowsight 를 사용하여 이 데이터를 추적할 수 있습니다. 데이터 엔지니어는 테이블의 열을 분류하여 고유 식별자(여권 또는 은행 계좌 데이터), 의사 식별자(개인이 거주하는 도시) 또는 민감한 값(개인의 급여)과 같이 추적하거나 보호해야 하는 특정 종류의 데이터가 열에 포함되어 있는지 확인할 수 있습니다.
데이터 엔지니어는 시스템 태그로 데이터를 추적하고 마스킹 또는 행 액세스 정책을 사용하여 데이터를 보호함으로써 데이터와 관련된 거버넌스 태세를 개선할 수 있습니다. 분류 및 데이터 보호 단계의 전체적인 결과는 데이터 프라이버시 규정 준수를 촉진하는 것입니다.
스키마의 단일 테이블이나 여러 테이블을 분류할 수 있습니다. Snowflake는 사전 정의된 시스템 태그 를 제공하여 열을 분류하고 태그를 지정하도록 지원하거나 사용자 지정 분류자를 사용하여 데이터에 대한 지식을 기반으로 고유한 의미 체계 카테고리를 정의할 수 있습니다. 채택하려는 거버넌스 태세에 따라 Snowflake 시스템 태그와 사용자 지정 분류자를 사용하는 접근 방식을 선택할 수도 있습니다.
분류는 데이터 프라이버시 및 데이터 거버넌스 관리자에게 다음과 같은 이점을 제공합니다.
- 데이터 액세스:
ID 및 액세스 관리 책임이 있는 관리자는 열 데이터를 분류한 결과를 통해 Snowflake 역할 계층 구조 를 평가하고 유지 관리하여 Snowflake 역할이 민감한 데이터 또는 PII 데이터에 대한 적절한 액세스 권한을 갖도록 해야 한다는 점을 알 수 있습니다.
- 데이터 공유:
분류 프로세스는 PII 데이터의 저장 위치를 식별하고 확인하는 데 도움이 될 수 있습니다. 그 뒤에, 데이터 공유 공급자는 분류 결과를 사용하여 데이터 공유 여부와 PII 데이터를 데이터 공유 컨슈머에게 제공하는 방법을 결정할 수 있습니다.
- 정책 적용:
뷰 또는 구체화된 뷰를 만들기 위해 기본 테이블의 열을 참조하는 것과 같이, PII 데이터가 포함된 열을 사용하면 마스킹 정책 또는 행 액세스 정책으로 데이터를 보호하는 최상의 접근 방식을 결정하는 데 도움이 될 수 있습니다.
지원되는 오브젝트 및 데이터 타입¶
Snowflake는 외부 테이블, 구체화된 뷰, 보안 뷰를 포함하여 모든 유형의 테이블과 뷰에 저장된 데이터를 분류하는 기능을 지원합니다.
다음 데이터 타입에 대한 경우를 제외하고 지원되는 모든 데이터 타입 에 대해 테이블을 분류하고 열을 볼 수 있습니다.
GEOGRAPHY
BINARY
VARIANT
열 데이터 타입을 NUMBER 또는 STRING 데이터 타입으로 캐스팅 할 수 있을 때 VARIANT 데이터 타입으로 열을 분류할 수 있습니다. 열에 JSON, XML 또는 기타 반정형 데이터가 포함된 경우 Snowflake는 열을 분류하지 않습니다.
테이블에 지원되는 데이터 타입이 아닌 열이 있거나 열에 모든 NULL 값이 있는 경우, 분류 프로세스에서는 열을 무시하고 출력에 열을 포함하지 않습니다.
중요
데이터가 NULL이 아닌 값으로 NULL 값을 나타내는 경우, 분류 결과의 정확도에 영향을 미칠 수 있습니다.
컴퓨팅 비용¶
분류 프로세스에서는 분류 수행 시 사용 및 실행 중인 가상 웨어하우스 에서 제공하는 컴퓨팅 리소스가 필요합니다.
테이블/뷰의 데이터를 분류하는 데 필요한 시간과 이에 따라 웨어하우스에서 소비한 크레딧의 수는 분류할 데이터양의 함수입니다.
특히, 테이블 또는 뷰에 분류를 지원하는 열의 개수가 많은 경우에는 처리 시간에 영향을 미칠 수 있습니다. 하지만 일반적으로 처리 속도는 웨어하우스 크기에 따라 선형적으로 변화합니다. 다시 말해, 웨어하우스의 크기가 증가할 때마다(X-small에서 Small로) 일반적으로 처리 시간이 절반으로 감소합니다.
다음 일반 지침을 사용하여 웨어하우스 크기 를 선택합니다.
처리 시간에 대한 걱정 없음: X-Small 웨어하우스.
테이블에 최대 100개의 열: Small 웨어하우스.
테이블에 101~300개의 열: Medium 웨어하우스.
테이블에 301개 이상의 열: Large 웨어하우스.
자세한 내용은 웨어하우스 고려 사항 섹션을 참조하십시오.
권장 사항¶
분류 기능을 활용하고 PII 데이터 추적 기능을 최적화하려면 다음을 수행하십시오.
- 유효성 검사:
Account Usage 뷰를 먼저 쿼리합니다.
ACCESS_HISTORY: 가장 자주 액세스하는 테이블과 뷰 오브젝트를 확인합니다.
OBJECT_DEPENDENCIES: 둘 이상의 오브젝트 간 메타데이터 참조를 확인합니다.
쿼리 결과를 사용하여 분류 시스템 태그의 스키마 수준 또는 데이터베이스 수준 할당 우선순위를 지정합니다.
- 열 이름:
테이블 오브젝트에 적합한 열 이름을 사용하고 내부 테이블 생성 가이드라인을 준수하도록 테이블 생성자를 교육합니다.
- 데이터 타입:
열에 적합한 데이터 타입을 사용하십시오. 예를 들어 AGE 열에는 NUMBER 데이터 타입이 있어야 합니다.
- VARIANT:
열에 VARIANT 데이터 타입이 있는 경우 테이블을 분류하기 전에 열에 대해 FLATTEN 명령을 사용하십시오.
- 웨어하우스:
데이터를 분류할 때 적절한 웨어하우스 크기를 사용하십시오. 자세한 내용은 이 항목의 컴퓨팅 비용 섹션을 참조하십시오.
분류 관리하기¶
권한 참조¶
데이터 개인정보 보호 관리자는 데이터 분류를 위한 권한 모델을 사용해 테이블과 태그 열을 분류할 수 있는 가상 사용자를 결정할 수 있습니다. 예를 들어, 단일 역할이 필요한 모든 권한을 가질 수도 있고, 데이터 개인정보 보호 관리자가 업무 분리(SoD) 요구 사항을 충족하기 위해 다양한 역할에 권한 부여를 위임할 수도 있습니다. 실행 가능한 권한 부여 조합의 한 예가 데이터 분류 사용하기 의 데이터 분류 시작하기 섹션에 나와 있습니다.
관리자는 관련된 역할이나 가상 사용자를 관리하려는 방법에 따라 다양한 옵션을 사용할 수 있습니다. 옵션은 채택하려는 거버넌스 태세에 유연성을 제공합니다. 예:
테이블 소유자(테이블에 대한 OWNERSHIP 권한을 가진 역할)는 테이블을 분류하고 열에 시스템 태그를 설정할 수 있습니다.
테이블에 대한 SELECT 권한과 계정에 대한 APPLY TAG 권한이 있는 사용자 지정 역할은 테이블을 분류하고 열에 시스템 태그를 설정할 수 있습니다.
열 분류 및 태그 지정에 다양한 역할이나 가상 사용자가 포함되도록 하려면 테이블에 대한 SELECT 권한을 한 역할에 부여하고 계정에 대한 APPLY TAG 권한을 다른 역할에 부여할 수 있습니다.
다음 표에는 테이블을 분류하고, 열에 Data Classification 시스템 태그를 설정하고, 다음 작업을 모두 수행하기 위한 다양한 권한 부여 옵션이 요약되어 있습니다.
권한 또는 역할 |
테이블 분류 |
열에 시스템 태그 설정 |
---|---|---|
테이블이나 뷰에 대한 SELECT. |
✔ |
|
테이블에 대한 OWNERSHIP. |
✔ |
✔ |
계정에 대한 APPLY TAG 권한. |
✔ |
|
ACCOUNTADMIN 역할. |
✔ |
|
데이터베이스나 스키마에 대한 OWNERSHIP. |
중요
테이블을 분류하려면 실행 중인 웨어하우스가 필요합니다. 테이블을 분류하는 데 사용되는 역할에는 최소한 웨어하우스에 대한 USAGE 권한이 있어야 합니다.
계정 역할에 SNOWFLAKE.GOVERNANCE_VIEWER 데이터베이스 역할을 부여하여 해당 계정 역할이 있는 사용자가 DATA_CLASSIFICATION_LATEST 뷰를 쿼리하여 분류된 테이블의 최신 결과를 확인할 수 있습니다.