데이터 분류 사용하기

이 항목에서는 스키마에서 테이블을 분류하고, 분류 결과를 검토하고, SQL 또는 Snowsight 를 사용하여 테이블의 열에 시스템 태그 를 설정하는 방법에 대한 정보를 제공합니다.

개요

데이터 관리자는 데이터 개인정보 보호 규정을 충족하기 위해 스키마의 테이블을 분류할 수 있습니다. 이러한 테이블에는 다음 시나리오가 포함됩니다.

  • 스키마의 새 테이블.

  • 동일한 스키마 내의 테이블에 있는 새 열 또는 변경된 열.

  • 다시 분류해야 할 수도 있는 이전에 분류된 테이블.

이러한 시나리오를 평가하면 데이터 관리자가 민감한 개인 정보를 분류할 수 있습니다. 열에 시스템 태그를 설정하면 데이터 모니터링이 용이해집니다. 이후, 데이터 엔지니어는 Snowsight 의 마스킹 정책이나 행 액세스 정책을 사용하거나 SQL을 사용하여 개인 데이터와 민감한 데이터를 보호할 수 있습니다.

데이터 분류 시작하기

스키마에서 단일 테이블이나 여러 테이블을 분류하기 전에 다음을 수행하십시오.

  • 워크플로를 선택합니다.

  • 사용할 웨어하우스를 결정합니다. 예를 들어, 정확한 보고 및 예산 책정을 활성화하려면 자신이 속한 비용 센터 또는 사업부와 일치하는 웨어하우스를 사용하십시오.

  • 워크플로에 대기 시간을 고려하십시오. Snowsight 는 12시간마다 Snowsight 의 Databases 영역을 업데이트하며, 이때 업데이트된 테이블을 분류할 수 있습니다.

  • 현재 역할에 대한 액세스 제어 구성을 확인합니다.

    • 해당 역할을 가진 사용자가 액세스할 수 있는 오브젝트에 대한 권한 부여를 보려면 SHOW GRANTS TO ROLE 문을 사용하십시오. 사용 중인 역할에는 최소한 다음 권한을 부여해야 합니다.

      • 분류 프로세스 중에 사용할 웨어하우스에 대한 USAGE.

      • 분류 프로세스를 시작할 테이블에 대한 SELECT.

      • 열에 시스템 태그를 설정할 수 있는 SNOWFLAKE.CORE_VIEWER 데이터베이스 역할.

      • Account Usage DATA_CLASSIFICATION_LATEST 뷰를 쿼리하기 위한 SNOWFLAKE.GOVERNANCE_VIEWER 데이터베이스 역할.

    • 다른 권한 부여 조합은 데이터 분류 권한 참조 를 확인하십시오.

    • 액세스 제어 모델을 사용하면 다양한 가상 사용자가 워크플로에 참여할 수 있습니다. 예를 들어, 데이터 관리자는 스키마에서 테이블 분류를 스테이징할 수 있고 데이터 엔지니어는 Snowsight 에서 결과를 평가할 수 있습니다. 자신에게 가장 적합한 액세스 제어 모델과 워크플로를 선택하십시오.

SQL을 사용하여 단일 테이블 분류하기

이 접근 방식에서는 SQL을 사용하여 테이블을 분류하고 테이블의 열에 시스템 태그를 설정합니다. 데이터 분류 시작하기 섹션을 검토하여 사용 중인 역할에 스키마의 테이블을 분류하는 데 필요한 액세스 제어 권한이 있는지 확인하십시오.

이 절차에서는 적절한 권한이 부여된 역할을 사용한다고 가정합니다. SQL을 사용하여 스키마의 테이블을 분류하고 테이블 열에 시스템 태그를 설정하려면 다음 단계를 완료하십시오.

  1. 분류할 테이블을 식별합니다.

  2. SYSTEM$CLASSIFY 저장 프로시저를 호출하여 테이블의 열을 분류하고 태그를 지정합니다.

    CALL SYSTEM$CLASSIFY('hr.tables.empl_info', {'auto_tag': true});
    
    Copy
  3. TAG_REFERENCES_ALL_COLUMNS Information Schema 테이블 함수를 호출하여 테이블 열의 태그 할당을 확인합니다.

    SELECT *
    FROM TABLE(
      hr.INFORMATION_SCHEMA.TAG_REFERENCES_ALL_COLUMNS(
        'hr.tables.empl_info',
        'table'
    ));
    
    Copy
  4. 그 이후에는 Account Usage DATA_CLASSIFICATION_LATEST 뷰를 쿼리하여 테이블의 최신 분류 결과를 확인할 수 있습니다.

분류하려는 각 테이블에 대해 이러한 단계를 반복합니다.

SQL을 사용하여 스키마의 테이블 분류하기

이 접근 방식에서는 SQL을 사용하여 스키마의 모든 테이블을 분류하고 각 테이블의 열에 시스템 태그를 설정합니다. 이 절차에서는 다음과 같이 가정합니다.

  • 이 절차에서는 적절한 권한이 부여된 역할을 사용한다고 가정합니다.

  • 1,000개 미만의 테이블 오브젝트를 포함하는 스키마를 선택합니다. SHOW TABLES IN SCHEMA 명령을 사용하여 스키마의 테이블 오브젝트 수를 확인할 수 있습니다.

SQL을 사용하여 스키마의 모든 테이블을 분류하고 각 테이블의 각 열에 시스템 태그를 설정하려면 다음 단계를 완료하십시오.

  1. 분류할 테이블이 포함된 스키마를 식별합니다.

  2. SYSTEM$CLASSIFY_SCHEMA 저장 프로시저를 호출하여 스키마에서 테이블 분류를 예약합니다.

    CALL SYSTEM$CLASSIFY_SCHEMA('hr.tables', {'auto_tag': true});
    
    Copy
  3. 출력에 하나 이상의 테이블에 대한 failed 메시지가 포함된 경우 SNOW GRANTS ON TABLE 명령을 사용하여 지정된 테이블에 대한 권한 부여를 확인합니다. 예:

    SHOW GRANTS ON TABLE hr.tables.salary;
    
    Copy
  4. 필요한 경우 분류되지 않은 테이블에 대한 권한을 SYSTEM$CLASSIFY_SCHEMA 저장 프로시저를 호출하는 역할에 부여합니다. 그렇지 않으면 스키마의 각 테이블에서 SYSTEM$GET_CLASSIFICATION_RESULT 함수를 호출합니다.

    SELECT SYSTEM$GET_CLASSIFICATION_RESULT('hr.tables.empl_info');
    
    Copy
  5. TAG_REFERENCES_ALL_COLUMNS Information Schema 테이블 함수를 호출하여 테이블 열의 태그 할당을 확인합니다.

    SELECT *
    FROM TABLE(
      hr.INFORMATION_SCHEMA.TAG_REFERENCES_ALL_COLUMNS(
        'hr.tables.empl_info',
        'table'
    ));
    
    Copy
  6. 그 이후에는 Account Usage DATA_CLASSIFICATION_LATEST 뷰를 쿼리하여 테이블의 최신 분류 결과를 확인할 수 있습니다.

분류하려는 테이블이 포함된 각 스키마에 대해 이러한 단계를 반복합니다.

Snowsight 을 사용하여 스키마의 테이블 분류하기

이 접근 방식에서는 Snowsight 를 사용하여 스키마의 테이블 분류를 스테이징하고 스키마의 각 테이블에 대한 열에 자동으로 태그를 지정합니다. 이 절차에서는 적절한 권한이 부여된 역할을 사용한다고 가정합니다.

스키마의 모든 테이블을 분류하고 스키마에 포함된 각 테이블의 각 열에 시스템 태그를 설정하려면 Snowsight 에서 다음 단계를 완료하십시오.

  1. 스키마에서 테이블의 분류 및 태그 지정을 트리거합니다.

    1. Snowsight 에서 오브젝트 탐색기를 사용하여 선택한 스키마로 이동합니다.

    2. More 메뉴()를 선택한 다음 Classify Data 를 선택합니다.

    3. 웨어하우스를 선택하고 Auto-tagging data 옵션을 켭니다.

    4. Classify Data and Apply Tags 를 선택합니다.

      이 옵션을 선택하면 이전에 분류된 테이블을 다시 분류할 수 있습니다.

    Snowsight 는 한 번에 최대 1,000개의 테이블을 분류합니다. 스키마에 1,000개보다 많은 테이블이 포함된 경우 먼저 초기 테이블 배치에 대해 이 절차를 완료한 다음 나머지 테이블에 대해 절차를 반복합니다.

    또는 SQL을 사용하여 스키마의 테이블 분류하기 에 표시된 대로 Worksheet 를 열고 SYSTEM$CLASSIFY_SCHEMA 를 호출할 수 있습니다. 이 옵션을 선택하는 경우 이 저장 프로시저를 호출한 후 오브젝트 탐색기에서 스키마로 다시 이동하십시오.

  2. 분류 프로세스가 완료되도록 합니다. 완료되면 CLASSIFICATION 열에 녹색 확인 표시가 나타납니다.

  3. View Results 를 선택합니다.

    Auto-tagging data 옵션을 끄기로 결정한 경우 Review Classification 을 선택하고 결과를 평가한 후 각 열에 설정할 태그 값을 결정하십시오.

    Column details 탭의 열에 설정된 태그를 보려면 SNOWFLAKE 데이터베이스에서 IMPORTED PRIVILEGES가 부여된 역할을 사용하십시오.

  4. VALUE TO BE APPLIED 열을 평가하고 필요에 따라 태그 값을 변경한 후 Complete classification 을 선택합니다.

  5. Tables 탭에는 Classification results reviewed and applied 가 표시됩니다. 다음을 수행하여 태그 할당을 확인할 수 있습니다.

    1. 테이블을 선택합니다.

    2. Columns 탭으로 이동합니다.

    3. TAGS 열을 검토합니다.

    또는 다음을 수행할 수 있습니다.

    1. 워크시트를 사용하여 TAG_REFERENCES_ALL_COLUMNS Information Schema 테이블 함수를 호출하면 특정 테이블의 열에 대한 태그 할당을 확인할 수 있습니다. 다른 옵션은 시스템 태그 추적하기 섹션을 참조하십시오.

    2. 오브젝트 탐색기를 사용하여 뷰로 이동하거나 워크시트에서 뷰를 쿼리하여 Account Usage DATA_CLASSIFICATION_LATEST 뷰 레코드를 검토합니다.

  6. 분류할 테이블이 포함된 다른 스키마에 대해 이러한 단계를 반복합니다.