Modello di mascheramento dei dati/tokenizzazione da Cloud Storage a BigQuery (utilizzando Cloud DLP)

Il mascheramento dei dati/la tokenizzazione da Cloud Storage a BigQuery utilizza Sensitive Data Protection e crea una pipeline in modalità flusso che esegue questi passaggi:

  1. Legge i file CSV da un bucket Cloud Storage.
  2. Chiama l'API Cloud Data Loss Prevention (parte di Sensitive Data Protection) per l'anonimizzazione.
  3. Scrive i dati anonimizzati nella tabella BigQuery specificata.

Il modello supporta l'utilizzo sia di Sensitive Data Protection inspection template e Sensitive Data Protection modello di anonimizzazione. Di conseguenza, Il modello supporta entrambe le seguenti attività:

  • Controlla se sono presenti informazioni potenzialmente sensibili e anonimizza i dati.
  • Anonimizza i dati strutturati dove le colonne sono specificate per essere anonimizzate e non è necessaria alcuna ispezione.

Questo modello non supporta un percorso regionale per l'anonimizzazione la posizione del modello. È supportato solo un percorso globale.

Requisiti della pipeline

  • I dati di input da tokenizzare devono esistere.
  • È necessario che esistano i modelli di Sensitive Data Protection (ad esempio, DeidentificaTemplate e InstanceTemplate). Per ulteriori dettagli, vedi Modelli di Sensitive Data Protection.
  • Deve esistere il set di dati BigQuery.

Parametri del modello

Parametri obbligatori

  • inputFilePattern : i file CSV da cui leggere i record dei dati di input. Si accettano anche caratteri jolly. ad esempio gs://mybucket/my_csv_filename.csv o gs://mybucket/file-*.csv.
  • deidentifyTemplateName : il modello di anonimizzazione di Sensitive Data Protection da utilizzare per le richieste API, specificato con il pattern projects/<PROJECT_ID>/deauthenticateTemplates/<TEMPLATE_ID>. (ad esempio: projects/your-project-id/locations/global/de OttieniTemplates/generate_template_id).
  • datasetName : il set di dati BigQuery da utilizzare per l'invio dei risultati tokenizzati. Il set di dati deve esistere prima dell'esecuzione.
  • dlpProjectId : l'ID del progetto Google Cloud proprietario della risorsa API DLP. Questo progetto può essere lo stesso proprietario dei modelli di Sensitive Data Protection o un progetto separato.

Parametri facoltativi

  • inspectTemplateName : il modello di ispezione di Sensitive Data Protection da utilizzare per le richieste API, specificato con il pattern projects/<PROJECT_ID>/identifierTemplates/<TEMPLATE_ID>. ad esempio projects/your-project-id/locations/global/inspectTemplates/generate_template_id.
  • batchSize : la dimensione di chunking o batch da utilizzare per inviare dati da ispezionare e annullare la tokenizzazione. Per un file CSV, il valore di batchSize è il numero di righe in un batch. Determinare la dimensione del batch in base alle dimensioni dei record e alle dimensioni del file. L'API DLP ha un limite di dimensione del payload di 524 kB per chiamata API.

Esegui il modello

Console

  1. Vai alla pagina Crea job da modello di Dataflow.
  2. Vai a Crea job da modello
  3. Nel campo Nome job, inserisci un nome univoco per il job.
  4. (Facoltativo) Per Endpoint a livello di regione, seleziona un valore dal menu a discesa. Il valore predefinito è us-central1.

    Per un elenco di regioni in cui è possibile eseguire un job Dataflow, consulta Località di Dataflow.

  5. Dal menu a discesa Modello Dataflow, seleziona the Data Masking/Tokenization from Cloud Storage to BigQuery (using Cloud DLP) template.
  6. Inserisci i valori parametro negli appositi campi.
  7. Fai clic su Esegui job.

gcloud

Nella shell o nel terminale, esegui il modello:

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

Sostituisci quanto segue:

  • DLP_API_PROJECT_ID: l'ID del progetto dell'API DLP
  • JOB_NAME: un nome job univoco di tua scelta
  • REGION_NAME: la regione in cui vuoi di eseguire il deployment del job Dataflow, ad esempio us-central1
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi utilizzare i seguenti valori:

  • STAGING_LOCATION: la posizione per i file locali di gestione temporanea (ad esempio, gs://your-bucket/staging)
  • INPUT_DATA: il percorso del file di input
  • DEIDENTIFY_TEMPLATE: il numero del modello per la protezione dei dati sensibili
  • DATASET_NAME: nome del set di dati BigQuery
  • INSPECT_TEMPLATE_NUMBER: il numero del modello di Sensitive Data ProtectionEsaminare
  • BATCH_SIZE_VALUE: la dimensione del batch (n. di righe per API per i file CSV)

REST

Per eseguire il modello utilizzando l'API REST, invia una richiesta POST HTTP. Per ulteriori informazioni sul API e i relativi ambiti di autorizzazione, consulta 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"
   }
}

Sostituisci quanto segue:

  • PROJECT_ID: L'ID progetto Google Cloud in cui vuoi eseguire il job Dataflow
  • DLP_API_PROJECT_ID: l'ID del progetto dell'API DLP
  • JOB_NAME: un nome job univoco di tua scelta
  • LOCATION: la regione in cui vuoi di eseguire il deployment del job Dataflow, ad esempio us-central1
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi utilizzare i seguenti valori:

  • STAGING_LOCATION: la posizione per i file locali di gestione temporanea (ad esempio, gs://your-bucket/staging)
  • INPUT_DATA: il percorso del file di input
  • DEIDENTIFY_TEMPLATE: il numero del modello per la protezione dei dati sensibili
  • DATASET_NAME: nome del set di dati BigQuery
  • INSPECT_TEMPLATE_NUMBER: il numero del modello di Sensitive Data ProtectionEsaminare
  • BATCH_SIZE_VALUE: la dimensione del batch (n. di righe per API per i file CSV)

Passaggi successivi