단일 프로젝트의 BigQuery 데이터 프로파일링

이 페이지에서는 프로젝트 수준에서 BigQuery 데이터 디스커버리를 구성하는 방법을 설명합니다. 조직 또는 폴더를 프로파일링하려면 조직 또는 폴더의 BigQuery 데이터 프로파일링을 참조하세요.

디스커버리 서비스에 대한 자세한 내용은 데이터 프로필을 참조하세요.

데이터 프로파일링을 시작하려면 스캔 구성을 만듭니다.

시작하기 전에

  1. Cloud Data Loss Prevention API가 프로젝트에 사용 설정되어 있는지 확인하세요.

    1. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

      Go to project selector

    2. Make sure that billing is enabled for your Google Cloud project.

    3. Enable the required API.

      Enable the API

  2. 프로젝트 수준에서 데이터 프로필을 구성하는 데 필요한 IAM 권한이 있는지 확인합니다.

  3. 프로파일링할 데이터가 있는 리전마다 검사 템플릿이 있어야 합니다. 여러 리전에 단일 템플릿을 사용하려면 global 리전에 저장된 템플릿을 사용하면 됩니다. 조직 정책으로 인해 global 검사 템플릿을 만들 수 없는 경우 각 리전에 대해 전용 검사 템플릿을 설정해야 합니다. 자세한 내용은 데이터 상주 고려사항을 참조하세요.

    이 태스크를 통해 global 리전에만 검사 템플릿을 만들 수 있습니다. 하나 이상의 리전에 전용 검사 템플릿이 필요한 경우 이 태스크를 수행하기 전에 해당 템플릿을 만들어야 합니다.

  4. Sensitive Data Protection이 새 테이블을 프로파일링하는 경우와 같이 특정 이벤트가 발생할 때 Pub/Sub에 알림을 전송하도록 Sensitive Data Protection을 구성할 수 있습니다. 이 기능을 사용하려면 먼저 Pub/Sub 주제를 만들어야 합니다.

스캔 구성 만들기

  1. 스캔 구성 만들기 페이지로 이동합니다.

    스캔 구성 만들기로 이동

  2. 프로젝트로 이동합니다. 툴바에서 프로젝트 선택기를 클릭하고 프로젝트를 선택합니다.

스캔 구성 만들기 페이지의 단계에 대해서는 다음 섹션에서 자세히 설명합니다. 각 섹션의 끝에서 계속을 클릭합니다.

디스커버리 유형 선택

BigQuery를 선택합니다.

범위 선택하기

다음 중 하나를 수행합니다.

  • 테스트 모드에서 단일 테이블을 스캔하려면 테이블 한 개 스캔(테스트 모드)을 선택합니다.

    사용 가능한 무료 테이블 스캔 수가 표시됩니다. 무료 테이블 스캔은 크기가 1TB 이하인 테이블에만 적용됩니다. 테이블마다 테이블 수준 스캔 구성을 하나만 사용할 수 있습니다. 자세한 내용은 테스트 모드에서 테이블 프로파일링을 참조하세요.

    프로파일링할 테이블의 세부정보를 입력합니다.

  • 표준 프로젝트 수준 프로파일링을 수행하려면 전체 프로젝트 스캔을 선택합니다.

일정 관리

기본 프로파일링 빈도가 요구에 부합하는 경우 스캔 구성 만들기 페이지의 이 섹션을 건너뛰어도 됩니다. 이 섹션은 모든 데이터 또는 데이터의 특정 하위 집합의 프로파일링 빈도를 세밀하게 조정하려는 경우에 유용합니다. 또한 특정 테이블을 프로파일링하지 않도록 하거나 테이블을 한 번만 프로파일링하려는 경우에도 유용합니다.

이 섹션에서는 원하는 데이터의 특정 하위 집합을 지정하는 필터를 만듭니다. 이러한 하위 집합에 대해 Sensitive Data Protection이 테이블을 프로파일링해야 하는지 여부와 그 빈도를 지정합니다. 또한 테이블을 다시 프로파일링해야 하는 변경사항 유형도 지정합니다. 마지막으로 Sensitive Data Protection이 테이블 프로파일링을 시작하기 전 하위 집합의 각 테이블이 충족해야 하는 조건을 지정합니다.

프로파일링 빈도를 세밀하게 조정하려면 다음 단계를 따르세요.

  1. 일정 추가를 클릭합니다.
  2. 필터 섹션에서 일정 범위에 있는 테이블을 지정하는 하나 이상의 필터를 정의합니다.

    다음 중 하나 이상을 지정합니다.

    • 하나 이상의 프로젝트를 지정하는 프로젝트 ID 또는 정규 표현식
    • 하나 이상의 데이터 세트를 지정하는 데이터 세트 ID 또는 정규 표현식
    • 하나 이상의 테이블을 지정하는 테이블 ID 또는 정규 표현식

    정규 표현식은 RE2 구문을 따라야 합니다.

    예를 들어 데이터 세트의 모든 테이블을 필터에 포함하려면 데이터 세트의 ID를 지정하고 다른 두 필드는 비워 둡니다.

    필터를 더 추가해야 하면 필터 추가를 클릭하여 이 단계를 반복합니다.

  3. 빈도를 클릭합니다.

  4. 빈도 섹션에서 Sensitive Data Protection이 필터에 정의한 테이블을 프로파일링해야 하는지 여부와 프로파일링하는 경우 그 빈도를 지정합니다.

    • 테이블을 프로파일링하지 않으려면 테이블 프로파일링을 중지합니다.

    • 테이블을 한 번 이상 프로파일링하려면 테이블 프로파일링을 설정한 상태로 둡니다.

      이 섹션의 후속 필드에서 시스템이 데이터를 다시 프로파일링해야 하는지 여부와 재프로파일링 작업을 트리거할 이벤트를 지정합니다. 자세한 내용은 데이터 프로필 생성 빈도를 참조하세요.

      1. 스키마 변경 시의 경우 Sensitive Data Protection에서 선택한 테이블이 마지막으로 프로파일링된 후 스키마가 변경되었는지 확인해야 하는 빈도를 지정합니다. 스키마가 변경된 테이블만 다시 프로파일링됩니다.
      2. 스키마 변경 유형에서 재프로파일링 작업을 트리거해야 하는 스키마 변경 유형을 지정합니다. 다음 중 하나를 선택합니다.
        • 새 열: 새 열을 얻은 테이블을 다시 프로파일링합니다.
        • 삭제된 열: 열이 삭제된 테이블을 다시 프로파일링합니다.

        예를 들어 매일 새 열을 얻는 테이블이 있으며 매번 콘텐츠를 프로파일링해야 한다고 가정해 보겠습니다. 스키마 변경 시기매일 다시 프로파일링으로 설정하고, 스키마 변경 유형새 열로 설정할 수 있습니다.

      3. 스키마 변경 시의 경우 Sensitive Data Protection에서 선택한 테이블이 마지막으로 프로파일링된 후 변경사항이 있는지 확인해야 하는 빈도를 지정합니다. 변경사항이 있는 테이블만 다시 프로파일링됩니다. 테이블 변경의 예시에는 행 삭제 및 스키마 변경이 있습니다.

        스키마 변경 시 필드에 설정한 값과 같거나 그보다 빈도가 낮은 값을 선택해야 합니다.

      4. 검사 템플릿 변경 시의 경우 연결된 검사 템플릿이 업데이트될 때 데이터를 다시 프로파일링할지 여부와 프로파일링하는 경우 그 빈도를 지정합니다.

        검사 템플릿 변경사항은 다음 중 하나가 발생할 때 감지됩니다.

        • 스캔 구성에서 검사 템플릿 이름이 변경됩니다.
        • 검사 템플릿의 updateTime가 변경됩니다.

      5. 예를 들어 us-west1 리전에 대해 검사 템플릿을 설정하고 해당 검사 템플릿을 업데이트하면 us-west1 리전의 데이터만 다시 프로파일링됩니다. 그러나 업데이트하는 대신 검사 템플릿을 삭제하면 us-west1의 데이터가 다시 프로파일링되지 않습니다. 다시 프로파일링하는 데 사용할 검사 템플릿이 없기 때문입니다.

  5. 조건을 클릭합니다.

  6. 조건 섹션에서는 Sensitive Data Protection에서 프로파일링하려면 필터에 정의된 테이블에서 충족해야 하는 조건을 지정합니다. 최소 조건 시간 조건을 설정하면 Sensitive Data Protection이 두 조건 유형을 모두 충족하는 테이블만 프로파일링합니다.

    • 최소 조건: 이러한 조건은 행이 충분할 때까지 도는 특정 기간에 도달할 때까지 테이블 프로파일링을 지연하려는 경우에 유용합니다. 적용할 조건을 사용하도록 설정하고 최소 행 수 또는 기간을 지정합니다.
    • 시간 조건: 이 조건은 이전 테이블을 전혀 프로파일링하지 않으려는 경우에 유용합니다. 시간 조건을 사용하도록 설정하고 날짜 및 시간을 선택합니다. 이 날짜 이전에 생성된 테이블은 프로파일링에서 제외됩니다.

    다음과 같은 구성이 있다고 가정해 시다.

    • 최소 조건

      • 최소 행 수: 10개
      • 최소 기간: 24시간
    • 시간 조건

      • 타임스탬프: 5/4/22, 11:59 PM

    이 경우 Sensitive Data Protection은 2022년 5월 4일 오후 11:59까지 생성된 테이블을 제외합니다. 이 날짜와 시간 이후에 생성된 테이블 중에서 Sensitive Data Protection은 행이 10개이거나 또는 24시간 이상 지난 테이블만 프로파일링합니다.

  7. 프로파일링할 테이블 섹션에서 프로파일링할 테이블 유형에 따라 다음 중 하나를 선택하세요.

    • 모든 테이블 프로파일링: Sensitive Data Protection에서 필터 및 조건과 일치하는 모든 유형의 테이블을 프로파일링하게 하려면 이 옵션을 선택합니다.

      지원되지 않는 테이블 유형의 경우 Sensitive Data Protection은 부분적으로 채워진 프로필만 생성합니다. 이러한 프로필에는 관련 테이블이 지원되지 않음을 나타내는 오류가 표시됩니다. 오류 메시지에 관계없이 부분 프로필을 보려면 이 옵션을 선택합니다.

      Sensitive Data Protection에서 새 테이블 유형에 대한 지원을 추가하면 다음 예약 실행 중에 해당 유형의 테이블을 완전히 다시 프로파일링합니다.

    • 지원되는 테이블 프로파일링: Sensitive Data Protection에서 필터 및 조건과 일치하는 지원되는 테이블만 프로파일링하게 하려면 이 옵션을 선택합니다. 지원되지 않는 테이블에는 부분 프로필이 없습니다.

    • 특정 테이블 유형 프로파일링: Sensitive Data Protection에서 선택한 테이블 유형만 프로파일링하게 하려면 이 옵션을 선택합니다. 목록이 표시되면 유형을 하나 이상 선택합니다.

      Sensitive Data Protection에서 새 테이블 유형에 대한 지원을 추가하면 해당 유형의 테이블이 자동으로 프로파일링되지 않습니다. 새로 지원되는 테이블 유형을 프로파일링하려면 스캔 구성을 수정하고 해당 유형을 선택해야 합니다.

    옵션을 선택하지 않으면 Sensitive Data Protection에서 BigQuery 테이블만 프로파일링하며 지원되지 않는 테이블의 오류를 표시합니다.

    데이터 프로파일링 가격은 프로파일링된 테이블 유형에 따라 다릅니다. 자세한 내용은 데이터 프로파일링 가격 책정을 참조하세요.

  8. 완료를 클릭합니다.

  9. 일정을 더 추가하려면 일정 추가를 클릭하고 이전 단계를 반복하세요.

  10. 우선순위에 따라 일정의 순서를 변경하려면 위쪽 화살표와 아래쪽 화살표를 사용합니다. 예를 들어 서로 다른 두 일정의 필터가 테이블 A와 일치하면 우선순위 목록에서 우선순위가 높은 일정이 우선 적용됩니다.

    목록의 마지막 일정은 항상 기본 일정 라벨로 지정된 일정입니다. 이 기본 일정에는 생성된 일정과 일치하지 않는 프로젝트의 테이블이 포함됩니다. 이 기본 일정은 시스템 기본 프로파일링 빈도를 따릅니다.

  11. 기본 일정을 조정하려면 일정 수정을 클릭하고 필요에 따라 설정을 조정합니다.

검사 템플릿 선택

검사 구성을 제공하는 방법에 따라 다음 옵션 중 하나를 선택합니다. 선택한 옵션에 관계없이 Sensitive Data Protection은 해당 데이터가 저장된 리전의 데이터를 스캔합니다. 즉, 데이터는 원래의 리전을 벗어나지 않습니다.

옵션 1: 검사 템플릿 만들기

global 리전에 새 검사 템플릿을 만들려면 이 옵션을 선택하세요.

  1. 새 검사 템플릿 만들기를 클릭합니다.
  2. 선택사항: 선택한 기본 infoType을 수정하려면 infoType 관리를 클릭합니다.

    이 섹션에서 기본 제공 및 커스텀 infoType을 관리하는 방법에 대한 자세한 내용은 Google Cloud 콘솔을 통해 infoType 관리를 참조하세요.

    계속하려면 infoType을 한 개 이상 선택해야 합니다.

  3. 선택사항: 규칙 세트를 추가하고 신뢰도 임계값을 설정하여 검사 템플릿을 추가로 구성합니다. 자세한 내용은 감지 구성을 참조하세요.

    Sensitive Data Protection은 스캔 구성을 만들 때 이 새로운 검사 템플릿을 global 리전에 저장합니다.

옵션 2: 기존 검사 템플릿 사용

사용할 기존 검사 템플릿이 있는 경우 이 옵션을 선택하세요.

  1. 기존 검사 템플릿 선택을 클릭합니다.

  2. 사용하려는 검사 템플릿의 전체 리소스 이름을 입력합니다. 리전 필드에 검사 템플릿이 저장된 리전 이름이 자동으로 입력됩니다.

    입력하는 검사 템플릿은 프로파일링할 데이터와 동일한 리전에 있어야 합니다. 데이터 상주를 준수하기 위해 Sensitive Data Protection은 자체 리전 외부의 검사 템플릿을 사용하지 않습니다.

    검사 템플릿의 전체 리소스 이름을 찾으려면 다음 단계를 따르세요.

    1. 검사 템플릿 목록으로 이동합니다. 별도의 탭에서 이 페이지가 열립니다.

      검사 템플릿으로 이동

    2. 사용하려는 검사 템플릿이 포함된 프로젝트로 전환합니다.

    3. 템플릿 탭에서 사용할 템플릿의 템플릿 ID를 클릭합니다.

    4. 페이지가 열리면 템플릿의 전체 리소스 이름을 복사합니다. 전체 리소스 이름은 다음 형식을 따릅니다.

      projects/PROJECT_ID/locations/REGION/inspectTemplates/TEMPLATE_ID
    5. 스캔 구성 만들기 페이지의 템플릿 이름 필드에 템플릿의 전체 리소스 이름을 붙여넣습니다.

  3. 다른 리전에 데이터가 있고 이 리전에 사용할 검사 템플릿이 있으면 다음 단계를 수행합니다.

    1. 검사 템플릿 추가를 클릭합니다.
    2. 검사 템플릿의 전체 리소스 이름을 입력합니다.

    전용 검사 템플릿이 있는 각 리전마다 이 단계를 반복합니다.

  4. 선택사항: global 리전에 저장된 검사 템플릿을 추가합니다. Sensitive Data Protection은 전용 검사 템플릿이 없는 리전의 데이터에 이 템플릿을 자동으로 사용합니다.

작업 추가

다음 섹션에서는 데이터 프로필을 생성한 후 Sensitive Data Protection이 수행할 작업을 지정합니다.

다른 Google Cloud 서비스가 작업 구성 요금을 청구하는 방법에 대한 자세한 내용은 데이터 프로필 내보내기 가격 책정을 참조하세요.

Security Command Center에 게시

이 작업을 통해 테이블 데이터 프로필의 계산된 데이터 위험 및 민감도 수준을 Security Command Center로 보낼 수 있습니다.

Security Command Center는 Google Cloud의 중앙 집중식 취약점 및 위협 보고 서비스입니다. Security Command Center에서 취약점 및 위협 발견 항목을 위한 대응 계획을 분류하고 개발할 때 데이터 프로필의 통계를 사용할 수 있습니다.

이 작업을 사용하려면 조직 수준에서 Security Command Center를 활성화해야 합니다. 조직 수준에서 Security Command Center를 활성화하면 Sensitive Data Protection과 같은 통합 서비스에서 발견 항목 흐름이 사용 설정됩니다. Sensitive Data Protection은 Security Command Center 표준 및 프리미엄 모두에서 작동합니다.

Security Command Center가 조직 수준에서 활성화되지 않았으면 Sensitive Data Protection 발견 항목이 Security Command Center에 표시되지 않습니다. 자세한 내용은 Security Command Center의 활성화 수준 확인을 참조하세요.

데이터 프로필 결과를 Security Command Center로 보내려면 Security Command Center에 게시 옵션이 사용 설정되어 있는지 확인합니다.

자세한 내용은 Security Command Center에 데이터 프로필 게시를 참조하세요.

BigQuery에 데이터 프로필 사본 저장

데이터 프로필 사본을 BigQuery에 저장하도록 설정하면 생성된 모든 프로필의 저장된 사본 또는 내역을 유지할 수 있습니다. 이렇게 하면 감사 보고서를 만들고 데이터 프로필을 시각화하는 데 유용합니다. 이 정보를 다른 시스템에 로드할 수도 있습니다.

또한 이 옵션을 사용하면 데이터가 있는 리전에 관계없이 모든 데이터 프로필을 단일 뷰에서 확인할 수 있습니다. 이 옵션을 사용 중지해도 대시보드에서 데이터 프로필을 계속 볼 수 있습니다. 하지만 대시보드에서 한 번에 하나의 리전을 선택하고 해당 리전의 데이터 프로필만 표시합니다.

데이터 프로필 사본을 BigQuery 테이블로 내보내려면 다음 단계를 수행합니다.

  1. BigQuery에 데이터 프로필 사본 저장을 사용 설정합니다.

  2. 데이터 프로필을 저장할 BigQuery 테이블의 세부정보를 입력합니다.

    • 프로젝트 ID에 데이터 프로필을 내보내려는 기존 프로젝트 ID를 입력합니다.

    • 데이터 세트 ID에 대해 데이터 프로필을 내보낼 프로젝트의 기존 데이터 세트 이름을 입력합니다.

    • 테이블 ID에 대해 데이터 프로필을 내보낼 BigQuery 테이블의 이름을 입력합니다. 이 테이블을 만들지 않았으면 제공된 이름을 사용해서 Sensitive Data Protection이 자동으로 만듭니다.

Sensitive Data Protection은 이 옵션을 사용 설정한 시점부터 프로필을 내보내기 시작합니다. 내보내기를 사용 설정하기 전에 생성된 프로필은 BigQuery에 저장되지 않습니다.

Pub/Sub에 게시

Pub/Sub에 게시를 사용 설정하면 프로파일링 결과를 기반으로 프로그래매틱 작업을 수행할 수 있습니다. Pub/Sub 알림을 사용하여 심각한 데이터 위험 또는 민감성이 포함된 발견 항목을 포착하고 해결하는 워크플로를 개발할 수 있습니다.

Pub/Sub 주제로 알림을 전송하려면 다음 단계를 수행합니다.

  1. Pub/Sub에 게시를 사용 설정합니다.

    옵션 목록이 나타납니다. 각 옵션에서 Sensitive Data Protection이 Pub/Sub에 알림을 보내도록 유도하는 이벤트를 설명합니다.

  2. Pub/Sub 알림을 트리거할 이벤트를 선택합니다.

    프로필이 업데이트될 때마다 Pub/Sub 알림 전송을 선택하면 Sensitive Data Protection이 다음 테이블 수준 측정항목에 변경사항이 있을 때 알림을 전송합니다.

    • 데이터 위험
    • 민감도
    • 예측된 infoType
    • 기타 infoType
    • 공개
    • 암호화
  3. 선택한 이벤트마다 다음 단계를 따르세요.

    1. 주제 이름을 입력합니다. 이름은 다음 형식이어야 합니다.

      projects/PROJECT_ID/topics/TOPIC_ID
      

      다음을 바꿉니다.

      • PROJECT_ID: Pub/Sub 주제와 연결된 프로젝트의 ID입니다.
      • TOPIC_ID: Pub/Sub 주제의 ID입니다.
    2. 알림에 전체 테이블 프로필을 포함할지 아니면 프로파일링된 테이블의 전체 리소스 이름만 포함할지를 지정합니다.

    3. Sensitive Data Protection이 알림을 전송하기 위해 충족되어야 하는 최소한의 데이터 위험 및 민감도 수준을 설정합니다.

    4. 데이터 위험 및 민감도 조건을 하나만 충족하면 되는지, 아니면 둘 다 충족해야 하는지 지정합니다. 예를 들어 AND를 선택하는 경우 Sensitive Data Protection이 알림을 전송하려면 먼저 데이터 위험 및 민감도 조건을 모두 충족해야 합니다.

Dataplex에 태그로 전송

이 작업을 통해 데이터 프로필의 통계를 기반으로 Dataplex에 태그를 만들 수 있습니다. 이 작업은 신규 및 업데이트된 프로필에만 적용됩니다. 업데이트되지 않는 기존 프로필은 Dataplex로 전송되지 않습니다.

Dataplex는 분산된 데이터를 통합하고 해당 데이터의 데이터 관리 및 거버넌스를 자동화하는 Google Cloud 서비스입니다. 이 작업을 사용 설정하면 프로파일링하는 테이블이 데이터 프로필에서 수집한 통계에 따라 Dataplex에서 자동으로 태그됩니다. 그런 다음 조직 및 프로젝트에서 특정 태그 값이 있는 테이블을 검색할 수 있습니다.

데이터 프로필을 Dataplex로 보내려면 Dataplex에 태그로 전송 옵션이 켜져 있는지 확인합니다.

자세한 내용은 데이터 프로필의 통계를 기반으로 Dataplex의 테이블 태그를 참조하세요.

구성을 저장할 위치 설정

리소스 위치 목록을 클릭하고 이 스캔 구성을 저장할 리전을 선택합니다. 나중에 만드는 모든 스캔 구성도 이 위치에 저장됩니다.

스캔 구성을 저장하는 위치는 스캔되는 데이터에는 영향을 주지 않습니다. 또한 데이터 프로필이 저장되는 위치에도 영향을 주지 않습니다. 데이터는 데이터가 저장된 리전과 동일한 리전에서 스캔됩니다. 자세한 내용은 데이터 상주 고려사항을 참조하세요.

검토 및 만들기

  1. 스캔 구성을 만든 후 프로파일링이 자동으로 시작되지 않도록 하려면 일시중지 모드에서 스캔 만들기를 선택합니다.

    이 옵션은 다음과 같은 경우에 유용합니다.

    • 데이터 프로필을 BigQuery에 저장하도록 선택했고 서비스 에이전트가 출력 테이블에 대한 쓰기 액세스 권한을 갖고 있는지 확인하고자 하는 경우.
    • Pub/Sub 알림을 구성했고 서비스 에이전트에 게시 액세스 권한을 부여하려는 경우
  2. 설정을 검토하고 만들기를 클릭합니다.

    Sensitive Data Protection은 스캔 구성을 만들고 디스커버리 스캔 구성 목록에 추가합니다.

스캔 구성을 보거나 관리하려면 스캔 구성 관리를 참조하세요.

서비스 에이전트에 데이터에 액세스하고 프로파일링하는 데 필요한 역할이 있다면 Sensitive Data Protection은 스캔 구성이 만들어진 직후 데이터 스캔을 시작하거나 일시중지된 구성을 재개합니다. 그렇지 않으면 스캔 구성 세부정보를 볼 때 Sensitive Data Protection에 오류가 표시됩니다.

다음 단계

  • 단일 프로젝트의 데이터 프로파일링 비용 추정 방법 알아보기
  • 데이터 프로필 열람 방법 알아보기
  • 스캔 구성 관리 방법 알아보기
  • 데이터 프로파일러에서 게시한 Pub/Sub 메시지를 수신하고 파싱하는 방법 알아보기
  • 데이터 프로필 문제 해결 방법 알아보기