BigQuery 테이블에 정책 태그 추가

Data Catalog를 사용하여 BigQuery 테이블에 정책 태그 추가

Data Catalog에서 정책 태그를 시작하여 BigQuery 테이블의 민감한 정보가 포함된 열을 보호하는 방법을 알아봅니다.

  1. 공개적으로 사용 가능한 시카고 택시 운행 데이터 세트에서 BigQuery 테이블을 만듭니다.
  2. 새 정책 태그로 회사 이름이 포함된 열을 보호합니다.
  3. 필요한 역할이 없는 사용자가 데이터에 액세스할 수 없는지 확인하려면 테이블을 쿼리합니다.

시작하기 전에

프로젝트를 설정합니다.

  1. Google Cloud 계정에 로그인합니다. Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
  2. Google Cloud Console의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.

    프로젝트 선택기로 이동

  3. API Data Catalog and BigQuery 사용 설정

    API 사용 설정

  4. Google Cloud Console의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.

    프로젝트 선택기로 이동

  5. API Data Catalog and BigQuery 사용 설정

    API 사용 설정

프로젝트에 공개 데이터 세트 추가

  1. Google Cloud 콘솔에서 BigQuery 페이지로 이동합니다.

    BigQuery로 이동

  2. 탐색기 섹션에서 데이터 추가를 클릭하고 드롭다운 목록에서 공개 데이터 세트 살펴보기를 선택합니다.

  3. Marketplace 창에서 Chicago taxi trips를 검색하고 Chicago Taxi Trips 결과를 클릭합니다.

  4. 데이터 세트 보기를 클릭합니다.

데이터 세트가 프로젝트에 추가됩니다. 활성 탭에 chicago_taxi_trips 데이터 세트의 공개 정보 페이지가 표시됩니다. 데이터 세트 ID, 데이터 위치 또는 최종 수정 날짜와 같은 세부정보가 표시됩니다.

데이터 세트 및 테이블 만들기

  1. 데이터 세트를 만듭니다.

    1. Google Cloud 콘솔에서 BigQuery 페이지를 엽니다.

      BigQuery로 이동

    2. 탐색기 창에서 데이터 세트를 만들 프로젝트를 선택합니다.

    3. 작업 아이콘을 클릭하고 데이터 세트 만들기를 클릭합니다.

    4. 데이터 세트 만들기 페이지에서 다음 세부정보를 입력합니다.

      • 데이터 세트 IDpolicy_tags_demo를 입력합니다.
      • 데이터 위치us(미국 내 여러 리전)를 선택합니다.
      • 테이블 만료 시간 사용 설정 상자를 선택 취소한 상태로 둡니다.
      • 데이터 세트 만들기를 클릭합니다.
  2. 공개적으로 액세스할 수 있는 테이블을 policy_tags_demo 데이터 세트에 복사합니다.

    1. Google Cloud 콘솔에서 BigQuery 페이지를 엽니다.

      BigQuery로 이동

    2. 탐색기 창에서 taxi_trips 데이터 세트를 검색합니다.

    3. 검색결과의 chicago_taxi_trips 데이터 세트에서 taxi_trips 테이블을 클릭합니다.

    4. 테이블 세부정보 탭에서 복사를 클릭합니다.

    5. 테이블 복사 창에서 다음 정보를 입력합니다.

      1. 프로젝트 이름 필드에서 찾아보기를 클릭하고 프로젝트를 선택합니다.
      2. 데이터 세트 이름 드롭다운 목록에서 policy_tags_demo를 선택합니다.
      3. 테이블 이름my_taxi_trips_copy를 입력하고 복사를 클릭합니다.
    6. 탐색기 창에서 my_taxi_trips_copy 테이블이 policy_tags_demo 데이터 세트 아래에 나열되어 있는지 확인합니다.

테이블을 쿼리하여 결과 공개 상태 확인

새 테이블에는 연결된 정책 태그가 없으므로 테이블에 포함된 모든 데이터를 볼 수 있습니다. 가장 많이 사용되는 택시 회사를 확인합니다.

  1. Google Cloud 콘솔에서 BigQuery 페이지를 엽니다.

    BigQuery로 이동

  2. 새 쿼리 작성을 클릭합니다.

    새 쿼리 작성

  3. 쿼리 편집기 영역에 다음을 입력합니다.

      SELECT company, COUNT(*) AS number_of_trips
      FROM `PROJECT_ID.policy_tags_demo.my_taxi_trips_copy` GROUP BY company
    

    PROJECT_ID를 프로젝트 식별자로 바꿉니다. 프로젝트 ID를 찾는 방법에 대한 자세한 내용은 프로젝트 식별을 참조하세요.

  4. 실행을 클릭합니다.

    쿼리 결과가 포함된 새 창이 열립니다. Yellow Cab이 가장 많이 사용되는 것 같습니다.

    다음 섹션에서는 정책 태그를 만들고 company 열에 연결하여 열 액세스를 제한합니다.

분류 및 정책 태그 만들기

분류는 정책 태그를 그룹화하고 관리하는 데 사용되는 조직 단위입니다. 정책 태그는 분류 내에만 있을 수 있습니다. 새 분류를 만듭니다.

  1. Google Cloud 콘솔에서 Dataplex 분류 페이지를 엽니다.

    분류 페이지 열기

  2. 분류 만들기를 클릭합니다.

  3. 새 분류 페이지에서 다음을 수행합니다.

    1. 분류 이름Taxi trips policy tags를 입력합니다.
    2. 설명Demo taxonomy for the policy tags Quickstart를 입력합니다.
    3. 정책 태그에 다음을 입력합니다.

      1. 이름 필드에 Sensitive taxi data를 입력합니다.
      2. 설명 필드에 Taxi company name을 입력합니다.
    4. 만들기를 클릭합니다.

    5. 정책 태그 분류 페이지에서 액세스 제어 적용 슬라이더를 전환합니다.

회사 열에 새 정책 태그 추가

  1. Dataplex 검색 페이지를 엽니다.

    Dataplex 검색 페이지 열기

  2. 검색 창에 my_taxi_trips_copy를 입력하고 결과 목록에서 테이블을 선택합니다.

  3. 애셋 페이지에서 스키마 및 열 태그 탭을 선택합니다.

  4. 스키마 테이블에서 company 행을 찾고 정책 태그에서 +를 클릭합니다.

  5. 정책 태그 추가 창에서 택시 운행 정책 태그 분류를 펼치고 민감한 택시 데이터 태그를 선택합니다.

  6. 창 하단에 있는 선택을 클릭합니다.

이제 테이블의 company 열이 보호됩니다. 세분화된 Data Catalog 리더 역할이 없는 사용자는 쿼리 결과에서 이 역할을 볼 수 없습니다.

정책 태그를 만들었어도 사용자 계정이 세분화된 리더 목록에 자동으로 추가되지 않으므로 테이블을 쿼리할 때 이 열이 표시되지 않습니다. 다음 섹션을 수행하여 확인합니다.

테이블을 쿼리하여 결과가 숨겨져 있는지 확인

  1. Google Cloud 콘솔에서 BigQuery 페이지를 엽니다.

    BigQuery로 이동

  2. 새 쿼리 작성을 클릭합니다.

    새 쿼리 작성

  3. 쿼리 편집기 영역에 다음을 입력합니다.

      SELECT company, COUNT(*) AS number_of_trips
      FROM `PROJECT_ID.policy_tags_demo.my_taxi_trips_copy` GROUP BY company
    

    PROJECT_ID를 프로젝트 식별자로 바꿉니다. 프로젝트 ID를 찾는 방법에 대한 자세한 내용은 프로젝트 식별을 참조하세요.

  4. 실행을 클릭합니다.

    열은 정책 태그로 보호되므로 결과 탭에 권한 부족에 대한 액세스 거부 오류가 표시됩니다.

보호된 열을 볼 수 있도록 세분화된 리더 역할 추가

계정에 민감한 택시 데이터 정책 태그에 대한 세분화된 리더 역할을 부여합니다.

  1. Dataplex > 정책 태그 페이지로 이동합니다.

    Dataplex 정책 태그로 이동

  2. 택시 운행 정책 태그를 클릭합니다.

  3. 정책 태그 섹션에서 민감한 택시 데이터 정책 태그를 선택합니다.

  4. 민감한 택시 데이터 정보 창에서 주 구성원 추가를 클릭합니다.

    정보 창이 표시되지 않으면 정보 패널 표시를 클릭합니다.

  5. 주 구성원 추가 창에서 다음을 수행합니다.

    1. 새 주 구성원 상자에 이메일 주소를 입력합니다.
    2. 역할 선택 메뉴에서 Data Catalog > 세분화된 리더를 선택합니다.
    3. 저장을 클릭합니다.

이제 민감한 택시 데이터 정책 태그가 지정된 company 열에 액세스할 수 있습니다. 작동하는지 확인하려면 다시 테이블을 쿼리합니다.

삭제

이 페이지에서 사용한 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 다음 단계를 수행합니다.

프로젝트 삭제

비용이 청구되지 않도록 하는 가장 쉬운 방법은 튜토리얼에서 만든 프로젝트를 삭제하는 것입니다.

프로젝트를 삭제하는 방법은 다음과 같습니다.

  1. Google Cloud 콘솔에서 리소스 관리 페이지로 이동합니다.

    리소스 관리로 이동

  2. 프로젝트 목록에서 삭제할 프로젝트를 선택하고 삭제를 클릭합니다.
  3. 대화상자에서 프로젝트 ID를 입력한 후 종료를 클릭하여 프로젝트를 삭제합니다.

데이터 세트 삭제

  1. BigQuery 페이지로 이동합니다.

    BigQuery로 이동

  2. 탐색기 패널에서 만든 policy_tags_demo 데이터 세트를 검색합니다.

  3. 작업 옵션을 클릭하고 데이터 세트 삭제를 클릭합니다.

  4. 삭제 작업을 확인합니다.

정책 태그 분류 삭제

  1. Data Catalog > 정책 태그 페이지로 이동합니다.

    Data Catalog 정책 태그로 이동

  2. 택시 운행 정책 태그를 클릭합니다.

  3. 정책 태그 분류 페이지에서 정책 태그 분류 삭제를 클릭합니다.

  4. 삭제 작업을 확인합니다.

다음 단계

정책 태그에 대한 자세한 개요는 BigQuery 열 수준 보안 가이드를 참조하세요.