Introduction to sensitive data classification

민감한 데이터가 있는 위치 및 적절하게 보호되고 있는지 여부를 파악하는 것은 매우 중요합니다. 이는 단순한 모범 사례가 아니며 많은 산업 분야에서 규정 준수를 유지하는 데 필수적인 요구 사항입니다. Snowflake는 민감한 데이터를 자동으로 검색하고 태그 및 마스킹 정책과 같은 거버넌스 제어를 쉽게 적용할 수 있는 솔루션을 제공합니다.

Snowflake는 민감한 데이터를 이름 및 국가 식별자와 같은 :doc:`네이티브 카테고리</user-guide/classify-native>`로 분류할 수 있지만 사용자 고유의 :doc:`사용자 지정 카테고리</user-guide/classify-custom>`를 생성하여 조직 또는 도메인과 관련된 민감한 데이터를 감지할 수도 있습니다.

시작하기

Snowflake는 민감한 데이터 분류를 구성하고 민감한 데이터의 거버넌스 태세를 볼 수 있는 웹 인터페이스를 제공합니다.

시작하려면 다음 중 하나를 수행합니다.

Core concepts of sensitive data classification

분류 카테고리 정보

민감한 데이터 분류를 사용하면 민감한 데이터를 포함하는 것으로 식별되는 모든 열에 의미 체계 카테고리와 개인정보 보호 카테고리의 두 가지 카테고리가 할당됩니다.

  • **의미 체계 카테고리**는 개인 특성의 *유형*을 식별합니다. Snowflake는 이름 및 주소와 같은 공통 특성에 대해 :doc:`네이티브 카테고리</user-guide/classify-native>`를 제공합니다. 민감한 데이터가 기본 카테고리에 속하지 않는 경우 :doc:`사용자 지정 카테고리</user-guide/classify-custom>`를 생성합니다.

  • **개인정보 보호 카테고리**는 개인 특성의 *민감도*를 식별합니다. IDENTIFIER, QUASI_IDENTIFIER 또는 SENSITIVE 중 하나일 수 있습니다(급여와 같은 항목에 대한 식별자가 아닌 일반 카테고리).

분류 태그 정보

:doc:`태그</user-guide/object-tagging/introduction>`는 열에 할당할 수 있는 Snowflake 오브젝트입니다. Snowflake는 다음과 같은 시스템 정의 태그를 사용하여 민감한 데이터가 포함된 것으로 분류한 열을 식별합니다.

  • SNOWFLAKE.CORE.SEMANTIC_CATEGORY: 열에 있는 데이터의 기본 또는 사용자 지정 카테고리를 식별하는 데 사용되는 태그입니다.

  • SNOWFLAKE.CORE.PRIVACY_CATEGORY: 열에서 데이터의 개인정보 보호 카테고리를 식별하는 데 사용되는 태그입니다.

사용자 정의 태그를 시스템 정의 분류 태그에 매핑할 수 있습니다. 예를 들어, 시스템 태그 ``SNOWFLAKE.CORE.SEMANTIC_CATEGORY = ‘NAME’``이 열에 적용될 때마다 사용자 정의 태그 ``tag_db.sch.pii = ‘Highly confidential’``도 적용되도록 태그 맵을 설정할 수 있습니다.

분류 프로필 정보

Trust Center 웹 인터페이스를 사용하여 분류 설정을 지정하면 해당 설정이 *분류 프로필*로 저장됩니다. 이 분류 프로필은 나중에 편집하여 데이터 분류 방법을 제어하는 설정을 변경할 수 있습니다. 웹 인터페이스에서 분류 프로필은 프로필의 설정으로 분류되는 데이터베이스도 제어합니다.

:doc:`SQL 명령</user-guide/classify-auto>`을 사용하여 분류 프로필을 생성하고 수정할 수도 있습니다. SQL을 사용하는 경우 분류 프로필을 데이터베이스와 연결하여 분류 프로세스를 시작하는 것은 별도의 단계입니다.

민감한 데이터 보호하기

Snowflake는 민감한 데이터를 추적하고 보호하는 데 필요한 거버넌스 도구를 제공합니다.

  • Snowflake가 시스템 정의 및 사용자 정의 :doc:`태그</user-guide/object-tagging/introduction>`를 민감한 것으로 분류된 데이터에 자동으로 할당하도록 분류 프로세스를 구성할 수 있습니다. 그런 다음 태그를 추적하여 데이터 자산 내의 데이터를 추적할 수 있습니다.

  • 쿼리 시 데이터를 선택적으로 마스킹하기 위해 민감한 데이터가 포함된 열에 :doc:`마스킹 정책</user-guide/security-column-ddm-intro>`을 할당할 수 있습니다.

  • 태그 지정 정책과 마스킹 정책을 결합하여 민감한 것으로 분류된 데이터를 자동으로 마스킹할 수 있습니다. :doc:`태그 기반 마스킹</user-guide/tag-based-masking-policies>`을 사용하여 마스킹 정책을 사용자 정의 태그와 연결하는 경우 Snowflake가 분류 프로세스의 일부로 태그를 적용할 때 데이터가 자동으로 마스킹됩니다. 새 데이터가 데이터베이스에 추가되면 태그 기반 마스킹 정책이 민감한 데이터가 포함된 열에 자동으로 할당됩니다.

분류 중인 데이터베이스 확인하기

:ref:`분류 프로필<label-classify_classification_profiles>`과 연결된 데이터베이스를 나열하여 민감한 데이터 분류로 모니터링되는 데이터를 확인할 수 있습니다. 데이터베이스가 분류 프로필과 연결된 경우 해당 데이터베이스의 모든 테이블과 뷰는 프로필에 정의된 기준에 따라 자동으로 분류됩니다.

분류 중인 데이터베이스를 확인하려면 다음을 수행합니다.

  1. |sf-web-interface-link|요구 사항 권한이 있는 사용자로 :ref:` 에 로그인 <label-classify_trust_center_access_control>` 합니다.

  2. 탐색 메뉴에서 Governance & security » Trust Center 를 선택합니다.

  3. Data Security 탭을 선택합니다.

  4. Dashboard 탭을 선택합니다.

  5. Databases monitored by classification 타일을 찾습니다. 분류 중인 데이터베이스를 나열하려면 Monitored 또는 :ui:`Partially monitored`를 선택합니다.

참고

누군가 SQL을 사용하여 데이터베이스 수준에서 프로필을 설정하는 대신 데이터베이스의 스키마에 직접 분류 프로필을 설정한 경우 데이터베이스가 부분적으로 모니터링됩니다.

비용 고려 사항

민감한 데이터 분류는 :ref:`서버리스 컴퓨팅 리소스<label-serverless_credit_usage>`를 사용하여 데이터베이스에서 테이블을 분류하기 때문에 크레딧을 소비합니다. 이 소비에 대한 가격에 대한 자세한 내용은 `Snowflake Service Consumption Table`_ 의 테이블 5를 참조하십시오.

참고

뷰 분류는 테이블 분류보다 비용이 더 많이 들 수 있습니다. 추가 비용은 뷰를 생성한 쿼리의 복잡성에 따라 다릅니다. 구체화된 뷰에는 이러한 추가 비용이 발생하지 않습니다. 기본적으로 뷰는 분류에서 제외됩니다.

|sf-web-interface|에서 비용 보기

To explore the cost of sensitive data classification:

  1. Snowsight 에 로그인합니다.

  2. 비용 및 사용량 데이터에 대한 액세스 권한이 있는 역할로 전환 합니다.

  3. 탐색 메뉴에서 Admin » Cost management 를 선택합니다.

  4. 사용 데이터를 보기 위해 사용할 웨어하우스를 선택합니다. 이를 위해 XS 웨어하우스를 사용하는 것이 좋습니다.

  5. Consumption 을 선택합니다.

  6. Usage Type 드롭다운에서 Compute 를 선택합니다.

  7. Service Type 드롭다운에서 Sensitive Data Classification 를 선택합니다.

SQL을 사용하여 비용 쿼리

ACCOUNT_USAGE 및 ORGANIZATION_USAGE 스키마에서 뷰를 쿼리하여 민감한 데이터를 자동으로 분류하는 데 얼마나 많은 비용이 사용되었는지 확인할 수 있습니다. 크레딧 사용을 모니터링하려면 다음 뷰를 쿼리하십시오.

METERING_HISTORY 뷰(ACCOUNT_USAGE)

SERVICE_TYPE 열에서 SENSITIVE_DATA_CLASSIFICATION 에 초점을 맞춰 자동 분류의 시간당 비용을 검색할 수 있습니다. 예:

SELECT
  service_type,
  start_time,
  end_time,
  entity_id,
  name,
  credits_used_compute,
  credits_used_cloud_services,
  credits_used,
  budget_id
  FROM SNOWFLAKE.ACCOUNT_USAGE.METERING_HISTORY
  WHERE service_type = 'SENSITIVE_DATA_CLASSIFICATION';
Copy
METERING_DAILY_HISTORY 뷰(ACCOUNT_USAGE 및 ORGANIZATION_USAGE)

SERVICE_TYPE 열에서 SENSITIVE_DATA_CLASSIFICATION 에 초점을 맞춰 자동 분류의 일일 비용을 검색할 수 있습니다. 예:

SELECT
  service_type,
  usage_date,
  credits_used_compute,
  credits_used_cloud_services,
  credits_used
  FROM SNOWFLAKE.ACCOUNT_USAGE.METERING_DAILY_HISTORY
  WHERE service_type = 'SENSITIVE_DATA_CLASSIFICATION';
Copy
USAGE_IN_CURRENCY_DAILY (ORGANIZATION_USAGE)

SERVICE_TYPE 열에서 SENSITIVE_DATA_CLASSIFICATION 에 초점을 맞춰 자동 분류의 일일 비용을 검색할 수 있습니다. 크레딧이 아닌 통화로 비용을 확인하려면 이 뷰를 사용합니다.

Supported objects

Snowflake supports classifying data stored in all types of Snowflake tables and views.

Note that Snowflake does not support classification on shared tables and shared schemas from the consumer’s side. If a table is created by the provider and placed into the provider’s outbound share, the classification only works if it is called from the provider’s side.

Supported data types

다음 데이터 타입에 대한 경우를 제외하고 지원되는 모든 데이터 타입 에 대해 테이블을 분류하고 열을 볼 수 있습니다.

  • ARRAY

  • BINARY

  • DECFLOAT

  • GEOGRAPHY

  • OBJECT

  • VARIANT(열 데이터 타입이 NUMBER 또는 STRING 데이터 타입을 :doc:`캐스팅</sql-reference/functions/cast>`하는 경우 제외)

  • VECTOR

참고

  • 열에 저장된 긴 텍스트와 같은 비정형 데이터는 지원되지 않습니다.

  • JSON, XML 또는 기타 반정형 데이터는 지원되지 않습니다.

제한 사항 및 고려 사항

  • 독자 계정에는 분류 프로필을 설정할 수 없습니다.

  • 1,000개를 초과하는 데이터베이스에 분류 프로필을 설정할 수 없습니다.

  • 10,000개를 초과하는 스키마에 분류 프로필을 직접 설정할 수 없습니다.

  • 스키마에는 최대 1억 개의 테이블을 분류할 수 있습니다.

  • 테이블에 다음과 같은 특성이 있는 경우 자동으로 분류할 수 없습니다.

    • 10,000개를 초과하는 열.

    • 이름이 255자를 초과하는 열.

    • $ 문자가 포함된 이름의 열.