Cloud DLP 스캔 결과를 Data Catalog로 전송

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

이 가이드에서는 Cloud Data Loss Prevention을 사용하여 특정 Google Cloud 리소스를 스캔하고 결과를 Data Catalog로 전송하는 방법을 안내합니다.

Data Catalog는 Google Cloud의 모든 데이터를 빠르게 탐색, 관리, 파악할 수 있는 확장 가능한 메타데이터 관리 서비스입니다.

Cloud DLP는 기본적으로 Data Catalog와 통합됩니다. Cloud DLP 액션을 사용하여 BigQuery 테이블에서 민감한 정보를 스캔하면 태그 템플릿 형태로 Data Catalog에 바로 결과를 전송할 수 있습니다.

이 가이드의 단계를 완료하면 다음 작업을 수행하게 됩니다.

  • Data Catalog 및 Cloud DLP를 사용 설정합니다.
  • BigQuery 테이블을 스캔하도록 Cloud DLP를 설정합니다.
  • 스캔 결과를 Data Catalog로 전송하도록 Cloud DLP 스캔을 구성합니다.

Data Catalog에 대한 자세한 내용은 Data Catalog 문서를 참조하세요.

비용

이 가이드에서는 비용이 청구될 수 있는 다음과 같은 Google Cloud 구성요소를 사용합니다.

  • Cloud DLP
  • BigQuery

프로젝트 사용량을 기준으로 예상 비용을 산출하려면 가격 계산기를 사용하세요. Google Cloud를 처음 사용하는 사용자는 무료 체험판을 사용할 수 있습니다.

시작하기 전에

Cloud DLP 스캔 결과를 Data Catalog로 전송하려면 먼저 다음을 수행하세요.

  • 1단계: 결제 설정
  • 2단계: 새 프로젝트 만들기 및 새 BigQuery 테이블 채우기 (선택사항)
  • 3단계: Data Catalog 사용 설정
  • 4단계: Cloud DLP 사용 설정

다음 하위 섹션에서 각 단계를 자세히 설명합니다.

1단계: 결제 설정

결제 계정이 없는 경우 먼저 결제 계정을 설정해야 합니다.

결제 사용 설정 방법 알아보기

2단계: 새 프로젝트 만들기 및 새 BigQuery 테이블 채우기(선택사항)

프로덕션 작업에 이 기능을 설정하거나 스캔할 BigQuery 테이블이 이미 있는 경우 테이블이 포함된 Google Cloud 프로젝트를 열고 3단계로 건너뜁니다.

이 기능을 사용해보고 '더미', 즉 데이터의 테스트 세트를 스캔하려면 새 프로젝트를 만듭니다. 이 단계를 완료하려면 IAM 프로젝트 생성자 역할이 있어야 합니다. IAM 역할을 자세히 알아보세요.

  1. Google Cloud Console에서 새 프로젝트 페이지로 이동합니다.

    새 프로젝트

  2. 결제 계정 드롭다운 목록에서 결제 계정을 선택합니다. 이 계정으로 프로젝트의 비용이 청구됩니다.
  3. 조직 드롭다운 목록에서 프로젝트를 만들 조직을 선택합니다.
  4. 위치 드롭다운 목록에서 프로젝트를 만들 조직 또는 폴더를 선택합니다.
  5. 만들기를 클릭하여 프로젝트를 만듭니다.

그런 다음, 샘플 데이터를 다운로드하고 저장합니다.

  1. GitHub의 Cloud Functions 튜토리얼 저장소로 이동합니다.
  2. 예시 데이터가 포함된 CSV 파일 중 하나를 선택한 다음 파일을 다운로드합니다.
  3. 그런 다음 Google Cloud Console에서 BigQuery로 이동합니다.
  4. 프로젝트를 선택합니다.
  5. 데이터 세트 만들기를 클릭합니다.
  6. 테이블 만들기를 클릭합니다.
  7. 업로드를 클릭한 다음 업로드할 파일을 선택합니다.
  8. 테이블 이름을 지정한 다음 테이블 만들기를 클릭합니다.

3단계: Data Catalog 사용 설정

그런 다음 Cloud DLP를 사용하여 스캔할 BigQuery 테이블이 포함된 프로젝트에 Data Catalog를 사용 설정합니다.

Google Cloud Console을 사용하여 Data Catalog를 사용 설정하려면 다음 안내를 따르세요.

  1. Data Catalog용으로 애플리케이션을 등록합니다.

    Data Catalog용으로 애플리케이션 등록

  2. 등록 페이지의 프로젝트 만들기 드롭다운 목록에서 Data Catalog에 사용할 프로젝트를 선택합니다.
  3. 프로젝트를 선택한 후 계속을 클릭합니다.

이제 프로젝트에 Data Catalog가 사용 설정되었습니다.

4단계: Cloud DLP 사용 설정

Data Catalog를 사용 설정한 동일한 프로젝트에 Cloud DLP를 사용 설정합니다.

Google Cloud Console을 사용하여 Cloud DLP를 사용 설정하려면 다음 안내를 따르세요.

  1. Cloud DLP용으로 애플리케이션을 등록합니다.

    Cloud DLP용으로 애플리케이션 등록

  2. 등록 페이지의 프로젝트 만들기 드롭다운 목록에서 이전 단계에서 선택한 것과 동일한 프로젝트를 선택합니다.
  3. 프로젝트를 선택한 후 계속을 클릭합니다.

이제 프로젝트에 Cloud DLP가 사용 설정되었습니다.

Cloud DLP 검사 스캔 구성 및 실행

Google Cloud console 또는 DLP API를 사용하여 Cloud DLP 검사 스캔을 구성하고 실행할 수 있습니다.

Data Catalog 태그 템플릿은 BigQuery 테이블과 동일한 프로젝트 및 리전에 저장됩니다. 다른 프로젝트의 테이블을 검사하는 경우 BigQuery 테이블이 있는 프로젝트의 Cloud DLP 서비스 에이전트에 Data Catalog TagTemplate 소유자(roles/datacatalog.tagTemplateOwner) 역할을 부여해야 합니다.

Google Cloud 콘솔

Cloud DLP를 사용하여 BigQuery 테이블의 스캔 작업을 설정하려면 다음 안내를 따르세요.

  1. Google Cloud Console에서 Cloud DLP를 엽니다.

    Cloud DLP로 이동

  2. 만들기 메뉴에서 작업 또는 작업 트리거를 선택합니다.

    새 작업 또는 작업 트리거 만들기 메뉴 선택 스크린샷

  3. Cloud DLP 작업 정보를 입력하고 계속을 클릭하여 각 단계를 완료합니다.

    • 1단계: 입력 데이터 선택에서 이름 필드에 값을 입력하여 작업 이름을 지정합니다. 위치스토리지 유형 메뉴에서 BigQuery를 선택한 다음 스캔할 테이블의 정보를 입력합니다. 샘플링 섹션은 데이터에 대한 샘플 스캔을 실행하도록 미리 구성됩니다. 데이터가 많은 경우 리소스 저장과 관련하여 행 제한 기준최대 행 수 필드를 조정할 수 있습니다. 자세한 내용은 입력 데이터 선택을 참조하세요.

    • (선택사항) 2단계: 감지 구성에서 'infoType'이라고 하는 데이터 유형을 구성합니다. 이 둘러보기에서는 기본 infoType을 선택된 상태로 둡니다. 자세한 내용은 감지 구성을 참조하세요.

    • 3단계: 액션 추가에서 Data Catalog에 저장을 사용 설정합니다.

    • (선택사항) 4단계: 일정에서 이 둘러보기의 목적상 스캔이 한 번만 실행되도록 메뉴를 없음으로 설정된 상태로 둡니다. 반복 스캔 예약에 대한 자세한 내용은 일정을 참조하세요.

  4. 만들기를 클릭합니다. 작업이 즉시 실행됩니다.

DLP API

이 섹션에서는 Cloud DLP 스캔 작업을 구성하고 실행합니다.

여기에서 구성한 검사 작업은 위의 2단계에 설명된 샘플 BigQuery 데이터 또는 자체 BigQuery 데이터를 스캔하도록 Cloud DLP에 지시합니다. 또한 지정하는 작업 구성은 Cloud DLP에 스캔 결과를 Data Catalog로 저장하도록 지시합니다.

1단계: 프로젝트 식별자 메모

  1. Google Cloud 콘솔로 이동합니다.

    Google Cloud Console로 이동

  2. 선택을 클릭합니다.

  3. 선택 드롭다운 목록에서 Data Catalog를 사용 설정한 조직을 선택합니다.

  4. ID에서 스캔할 데이터가 포함된 프로젝트의 프로젝트 ID를 복사합니다. 이 페이지 앞부분의 스토리지 저장소 설정 단계에서 설명된 프로젝트입니다.

  5. 이름에서 프로젝트를 클릭하여 선택합니다.

2단계: API 탐색기를 열고 작업 구성

  1. dlpJobs.create 메서드의 참조 페이지에서 API 탐색기로 이동합니다. 이 안내를 계속 사용할 수 있도록 다음 링크를 마우스 오른쪽 버튼으로 클릭하고 새 탭 또는 창에서 엽니다.

    API 탐색기 열기

  2. parent 입력란에 다음을 입력합니다. 여기서 project-id는 이전 단계에서 기록한 프로젝트 ID입니다.

    projects/project-id

    다음 JSON을 복사합니다. API 탐색기에서 요청 본문 필드의 콘텐츠를 선택한 다음 JSON을 붙여넣어 콘텐츠를 바꿉니다. project-id, bigquery-dataset-name, bigquery-table-name 자리표시자를 실제 프로젝트 ID, BigQuery 데이터 세트, 테이블 이름으로 각각 바꿉니다.

    {
      "inspectJob":
      {
        "storageConfig":
        {
          "bigQueryOptions":
          {
            "tableReference":
            {
              "projectId": "project-id",
              "datasetId": "bigquery-dataset-name",
              "tableId": "bigquery-table-name"
            }
          }
        },
        "inspectConfig":
        {
          "infoTypes":
          [
            {
              "name": "EMAIL_ADDRESS"
            },
            {
              "name": "PERSON_NAME"
            },
            {
              "name": "US_SOCIAL_SECURITY_NUMBER"
            },
            {
              "name": "PHONE_NUMBER"
            }
          ],
          "includeQuote": true,
          "minLikelihood": "UNLIKELY",
          "limits":
          {
            "maxFindingsPerRequest": 100
          }
        },
        "actions":
        [
          {
            "publishFindingsToCloudDataCatalog": {}
          }
        ]
      }
    }
    

사용 가능한 스캔 옵션에 대해 자세히 알아보려면 저장소 및 데이터베이스에서 민감한 정보 검사를 참조하세요. Cloud DLP가 스캔하고 감지할 수 있는 정보 유형의 전체 목록은 InfoTypes 참조를 확인하세요.

3단계: 검색 작업 시작 요청 실행

위 단계에 따라 작업을 구성한 후 실행을 클릭하여 요청을 전송합니다. 요청이 성공하면 성공 코드와 방금 만든 Cloud DLP 작업의 상태를 나타내는 JSON 객체가 포함된 응답이 표시됩니다.

스캔 요청에 대한 응답에는 검사 스캔 작업의 작업 ID가 "name" 키로, 검사 스캔 작업의 현재 상태가 "state" 키로 포함됩니다. 방금 요청을 제출했으므로 해당 시점의 작업 상태는 "PENDING"입니다.

Cloud DLP 검사 스캔의 상태 확인

검색 요청을 제출하면 콘텐츠 검사가 즉시 시작됩니다.

Google Cloud 콘솔

검사 스캔 작업의 상태를 확인하려면 다음 안내를 따르세요.

  1. Google Cloud Console에서 Cloud DLP를 엽니다.

    Cloud DLP로 이동

  2. 작업 및 작업 트리거 탭을 클릭한 다음 모든 작업을 클릭합니다.

방금 실행한 작업이 목록 상단에 있을 수 있습니다. 상태 열에서 상태가 완료인지 확인합니다.

작업의 작업 ID를 클릭하여 결과를 볼 수 있습니다. 작업 세부정보 페이지에 나열된 각 infoType 감지기 다음에는 콘텐츠에서 발견된 일치 항목의 수가 표시됩니다.

DLP API

검사 스캔 작업의 상태를 확인하려면 다음 안내를 따르세요.

  1. 다음 버튼을 클릭하여 dlpJobs.get 메서드의 참조 페이지에서 API 탐색기로 이동합니다.

    API 탐색기 열기

  2. name 입력란에 스캔 요청에 대한 JSON 응답에서 가져온 작업 이름을 다음 형식으로 입력합니다.

    projects/project-id/dlpJobs/job-id
    작업 ID는 i-1234567890123456789 형식입니다.

  3. 요청을 제출하려면 실행을 클릭합니다.

응답 JSON 객체의 "state" 키에 작업이 "DONE"으로 표시될 경우 스캔 작업이 완료된 것입니다.

나머지 응답 JSON을 보려면 페이지를 아래로 스크롤하세요. "result" > "infoTypeStats" 아래에 나열된 각 정보 유형에 해당하는 "count"가 있어야 합니다. 그렇지 않은 경우 JSON을 정확하게 입력했는지, 데이터의 경로 또는 위치가 올바른지 확인하세요.

스캔 작업이 완료되면 이 가이드의 다음 섹션으로 이동하여 Security Command Center에서 스캔 결과를 볼 수 있습니다.

Data Catalog에서 Cloud DLP 스캔 결과 보기

Cloud DLP에 검사 스캔 작업 결과를 Data Catalog로 보내도록 지시했으므로 이제 Data Catalog UI에서 자동으로 생성된 태그와 태그 템플릿을 볼 수 있습니다.

  1. Google Cloud Console의 Data Catalog 페이지로 이동합니다.

    Data Catalog로 이동

  2. 검사한 테이블을 검색합니다.
  3. 테이블의 메타데이터를 보려면 테이블과 일치하는 결과를 클릭합니다.

다음 스크린샷은 예시 테이블의 Data Catalog 메타데이터 보기를 보여줍니다.

Data Catalog의 DLP 세부정보.

Cloud DLP 데이터 탐색

Cloud DLP의 결과는 스캔한 테이블의 요약 양식에 포함됩니다. 이 요약에는 총 infoType 수와 날짜 및 작업 리소스 ID가 포함된 검사 작업에 대한 요약 데이터가 포함됩니다.

검사된 infoTypes가 나열됩니다. 결과가 0보다 큰 수를 나타냅니다.

삭제

이 주제에서 사용한 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 샘플 데이터를 사용했는지 자체 데이터를 사용했는지에 따라 다음 중 하나를 수행합니다.

프로젝트 삭제

비용이 청구되지 않도록 하는 가장 쉬운 방법은 이 주제에 제시된 안내를 따르면서 생성된 프로젝트를 삭제하는 것입니다.

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

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

    프로젝트 페이지로 이동

  2. 프로젝트 목록에서 삭제할 프로젝트를 선택하고 프로젝트 삭제를 클릭합니다. 프로젝트 이름 옆의 체크박스를 선택한 다음 프로젝트 삭제를 클릭합니다.
  3. 대화상자에서 프로젝트 ID를 입력한 다음 종료를 클릭하여 프로젝트를 삭제합니다.

이 방법을 사용하여 프로젝트를 삭제하면 생성한 Cloud DLP 작업과 Cloud Storage 버킷도 삭제되고 완료됩니다. 다음 섹션의 지침을 따를 필요는 없습니다.

Cloud DLP 작업 또는 작업 트리거 삭제

자체 데이터를 스캔한 경우 방금 만든 스캔 작업 또는 작업 트리거를 삭제합니다.

Google Cloud 콘솔

  1. Google Cloud Console에서 Cloud DLP를 엽니다.

    Cloud DLP로 이동

  2. 작업 및 작업 트리거 탭을 클릭한 다음 작업 트리거 탭을 클릭합니다.

  3. 삭제할 작업 트리거의 액션 열에서 작업 더보기 메뉴(세로로 정렬된 세 개의 점으로 표시됨) 를 클릭한 다음 삭제를 클릭합니다.

원하는 경우 실행한 작업의 작업 세부정보를 삭제할 수도 있습니다. 모든 작업 탭을 클릭한 다음 삭제할 작업의 액션 열에서 작업 더보기 메뉴(세로로 정렬된 세 개의 점으로 표시됨) 를 클릭한 다음 삭제를 클릭합니다.

DLP API

  1. 다음 버튼을 클릭하여 dlpJobs.delete 메서드의 참조 페이지에서 API 탐색기로 이동합니다.

    API 탐색기 열기

  2. 이름 입력란에 다음 형식의 스캔 요청에 대한 JSON 응답의 작업 이름을 입력합니다.

    projects/project-id/dlpJobs/job-id
    작업 ID는 i-1234567890123456789 형식입니다.

스캔 작업을 추가로 만들었거나 작업을 삭제했는지 확인하려면 기존 작업을 모두 나열합니다.

  1. 다음 버튼을 클릭하여 dlpJobs.list 메서드의 참조 페이지에서 API 탐색기로 이동합니다.

    API 탐색기 열기

  2. parent 입력란에 프로젝트 식별자를 다음 형식으로 입력합니다. 여기서 project-id는 프로젝트 식별자입니다.

    projects/project-id

  3. 실행을 클릭합니다.

응답에 나열된 작업이 없으면 모든 작업이 삭제된 것입니다. 응답에 작업이 나열된 경우 해당 작업에 대해 위의 삭제 절차를 반복합니다.

다음 단계