Data Masking/Tokenization from Cloud Storage to BigQuery(Cloud DLP 사용) 템플릿

Cloud Storage to BigQuery 데이터 마스킹/토큰화 템플릿은 민감한 정보 보호를 사용하며 다음 단계를 실행하는 스트리밍 파이프라인을 만듭니다.

  1. Cloud Storage 버킷에서 CSV 파일을 읽습니다.
  2. 익명화를 위해 Cloud Data Loss Prevention API (민감한 정보 보호의 일부)를 호출합니다.
  3. 익명처리된 데이터를 지정된 BigQuery 테이블에 작성합니다.

이 템플릿은 Sensitive Data Protection 검사 템플릿과 Sensitive Data Protection 익명화 템플릿 사용을 지원합니다. 따라서 템플릿은 다음 두 가지 작업을 모두 지원합니다.

  • 민감할 수 있는 정보를 검사하고 데이터를 익명처리합니다.
  • 열을 익명화하도록 지정된 구조화된 데이터를 익명화하며 검사가 필요 없습니다.

이 템플릿은 익명화 템플릿 위치에 대한 리전 경로를 지원하지 않습니다. 전역 경로만 지원됩니다.

파이프라인 요구사항

  • 토큰화할 입력 데이터가 있어야 합니다.
  • 민감한 정보 보호 템플릿이 있어야 합니다 (예: DeidentifyTemplate 및 InspectTemplate). 자세한 내용은 민감한 정보 보호 템플릿을 참고하세요.
  • BigQuery 데이터 세트가 있어야 합니다.

템플릿 매개변수

필수 매개변수

  • inputFilePattern: 입력 데이터 레코드를 읽을 CSV 파일입니다. 와일드 카드도 허용됩니다. 예를 들면 gs://mybucket/my_csv_filename.csv or gs://mybucket/file-*.csv입니다.
  • deidentifyTemplateName: API 요청에 사용할 민감한 정보 보호 익명화 템플릿으로, projects/<PROJECT_ID>/deidentifyTemplates/<TEMPLATE_ID> 패턴을 사용하여 지정됩니다. 예를 들면 projects/your-project-id/locations/global/deidentifyTemplates/generated_template_id입니다.
  • datasetName: 토큰화된 결과를 보낼 때 사용할 BigQuery 데이터 세트입니다. 실행하기 전에 데이터 세트가 있어야 합니다.
  • dlpProjectId: DLP API 리소스를 소유하는 Google Cloud 프로젝트의 ID입니다. 이 프로젝트는 Sensitive Data Protection 템플릿을 소유하는 동일한 프로젝트이거나 별도의 프로젝트일 수 있습니다.

선택적 매개변수

  • inspectTemplateName: API 요청에 사용할 민감한 정보 보호 검사 템플릿으로, projects/<PROJECT_ID>/identifyTemplates/<TEMPLATE_ID> 패턴을 사용하여 지정됩니다. 예를 들면 projects/your-project-id/locations/global/inspectTemplates/generated_template_id입니다.
  • batchSize: 검사 및 익명화할 데이터를 전송하는 데 사용할 청크 또는 일괄 크기입니다. CSV 파일의 경우 batchSize 값은 배치의 행 수입니다. 레코드 크기 및 파일 크기에 따라 배치 크기를 결정합니다. DLP API의 페이로드 크기 제한은 API 호출당 524KB입니다.

템플릿 실행

콘솔

  1. Dataflow 템플릿에서 작업 만들기 페이지로 이동합니다.
  2. 템플릿에서 작업 만들기로 이동
  3. 작업 이름 필드에 고유한 작업 이름을 입력합니다.
  4. (선택사항): 리전 엔드포인트의 드롭다운 메뉴에서 값을 선택합니다. 기본 리전은 us-central1입니다.

    Dataflow 작업을 실행할 수 있는 리전 목록은 Dataflow 위치를 참조하세요.

  5. Dataflow 템플릿 드롭다운 메뉴에서 the Data Masking/Tokenization from Cloud Storage to BigQuery (using Cloud DLP) template을 선택합니다.
  6. 제공된 매개변수 필드에 매개변수 값을 입력합니다.
  7. 작업 실행을 클릭합니다.

gcloud

셸 또는 터미널에서 템플릿을 실행합니다.

gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates-REGION_NAME/VERSION/Stream_DLP_GCS_Text_to_BigQuery \
    --region REGION_NAME \
    --staging-location STAGING_LOCATION \
    --parameters \
inputFilePattern=INPUT_DATA,\
datasetName=DATASET_NAME,\
batchSize=BATCH_SIZE_VALUE,\
dlpProjectId=DLP_API_PROJECT_ID,\
deidentifyTemplateName=projects/TEMPLATE_PROJECT_ID/deidentifyTemplates/DEIDENTIFY_TEMPLATE,\
inspectTemplateName=projects/TEMPLATE_PROJECT_ID/identifyTemplates/INSPECT_TEMPLATE_NUMBER

다음을 바꿉니다.

  • DLP_API_PROJECT_ID: DLP API 프로젝트 ID입니다.
  • JOB_NAME: 선택한 고유한 작업 이름
  • REGION_NAME: Dataflow 작업을 배포할 리전(예: us-central1)
  • VERSION: 사용할 템플릿 버전

    다음 값을 사용할 수 있습니다.

  • STAGING_LOCATION: 로컬 파일의 스테이징 위치(예: gs://your-bucket/staging)
  • INPUT_DATA: 입력 파일 경로
  • DEIDENTIFY_TEMPLATE: 민감한 정보 보호 익명화 템플릿 번호
  • DATASET_NAME: BigQuery 데이터 세트 이름
  • INSPECT_TEMPLATE_NUMBER: 민감한 정보 보호 검사 템플릿 번호
  • BATCH_SIZE_VALUE: 배치 크기(CSV 파일의 API당 행 수)

REST

REST API를 사용하여 템플릿을 실행하려면 HTTP POST 요청을 전송합니다. API 및 승인 범위에 대한 자세한 내용은 projects.templates.launch를 참조하세요.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates-LOCATION/VERSION/Stream_DLP_GCS_Text_to_BigQuery
{
   "jobName": "JOB_NAME",
   "environment": {
       "ipConfiguration": "WORKER_IP_UNSPECIFIED",
       "additionalExperiments": []
   },
   "parameters": {
      "inputFilePattern":INPUT_DATA,
      "datasetName": "DATASET_NAME",
      "batchSize": "BATCH_SIZE_VALUE",
      "dlpProjectId": "DLP_API_PROJECT_ID",
      "deidentifyTemplateName": "projects/TEMPLATE_PROJECT_ID/deidentifyTemplates/DEIDENTIFY_TEMPLATE",
      "inspectTemplateName": "projects/TEMPLATE_PROJECT_ID/identifyTemplates/INSPECT_TEMPLATE_NUMBER"
   }
}

다음을 바꿉니다.

  • PROJECT_ID: Dataflow 작업을 실행하려는 Google Cloud 프로젝트 ID
  • DLP_API_PROJECT_ID: DLP API 프로젝트 ID입니다.
  • JOB_NAME: 선택한 고유한 작업 이름
  • LOCATION: Dataflow 작업을 배포할 리전(예: us-central1)
  • VERSION: 사용할 템플릿 버전

    다음 값을 사용할 수 있습니다.

  • STAGING_LOCATION: 로컬 파일의 스테이징 위치(예: gs://your-bucket/staging)
  • INPUT_DATA: 입력 파일 경로
  • DEIDENTIFY_TEMPLATE: 민감한 정보 보호 익명화 템플릿 번호
  • DATASET_NAME: BigQuery 데이터 세트 이름
  • INSPECT_TEMPLATE_NUMBER: 민감한 정보 보호 검사 템플릿 번호
  • BATCH_SIZE_VALUE: 배치 크기(CSV 파일의 API당 행 수)

다음 단계