Vorlage „Datenmaskierung/Tokenisierung aus Cloud Storage für BigQuery (mit Cloud DLP)“

Die Vorlage „Datenmaskierung/Tokenisierung aus Cloud Storage für BigQuery“ verwendet den Schutz sensibler Daten und erstellt eine Streamingpipeline, die folgende Schritte ausführt:

  1. Liest CSV-Dateien aus einem Cloud Storage-Bucket.
  2. Ruft die Cloud Data Loss Prevention API (Teil von „Schutz sensibler Daten“) für die De-Identifikation auf.
  3. Schreibt die de-identifizierten Daten in die angegebene BigQuery-Tabelle.

Die Vorlage unterstützt sowohl die Verwendung einer Inspektionsvorlage für den Schutz sensibler Daten als auch einer De-Identifikationsvorlage für den Schutz sensibler Daten. Daher unterstützt die Vorlage die beiden folgenden Aufgaben:

  • Potenziell vertrauliche Informationen prüfen und die Daten de-identifizieren
  • De-identifizieren Sie strukturierte Daten, in denen Spalten für die De-Identifikation angegeben sind und kein Prüfung erforderlich ist.

Diese Vorlage unterstützt keinen regionalen Pfad für den Speicherort der De-Identifikationsvorlage. Es wird nur ein globaler Pfad unterstützt.

Pipelineanforderungen

  • Die Eingabedaten für die Tokenisierung müssen vorhanden sein.
  • Die Vorlagen für den Schutz sensibler Daten müssen vorhanden sein (z. B. DeidentifyTemplate und InspectTemplate). Weitere Informationen finden Sie unter Vorlagen für den Schutz sensibler Daten.
  • Das BigQuery-Dataset muss vorhanden sein.

Vorlagenparameter

Parameter Beschreibung
inputFilePattern Die CSV-Dateien, aus denen Eingabedatensätze gelesen werden sollen. Platzhalter werden ebenfalls akzeptiert. Beispiel: gs://mybucket/my_csv_filename.csv oder gs://mybucket/file-*.csv.
dlpProjectId Projekt-ID für den Schutz sensibler Daten, der die DLP API-Ressource gehört. Dieses Projekt für den Schutz sensibler Daten kann dasselbe Projekt sein, das auch die Vorlagen für den Schutz sensibler Daten besitzt, oder es kann ein separates Projekt sein. Beispiel: my_dlp_api_project.
deidentifyTemplateName De-Identifikationsvorlage zum Schutz sensibler Daten, die für API-Anfragen verwendet werden soll, angegeben mit dem Muster projects/{template_project_id}/deidentifyTemplates/{deIdTemplateId}. Beispiel: projects/my_project/deidentifyTemplates/100.
datasetName BigQuery-Dataset zum Senden von tokenisierten Ergebnissen.
batchSize Block-/Batchgröße zum Senden von Daten zur Prüfung und Aufhebung der Tokenisierung. Bei einer CSV-Datei ist batchSize die Anzahl der Zeilen in einem Batch. Sie müssen die Batchgröße anhand der Größe der Datensätze und der Größe der Datei bestimmen. Die DLP API hat pro API-Aufruf eine Nutzlastgröße von 524 KB.
inspectTemplateName (Optional) Inspektionsvorlage für den Schutz sensibler Daten nach dem Muster projects/{template_project_id}/identifyTemplates/{idTemplateId} zur Verwendung für API-Anfragen. Beispiel: projects/my_project/identifyTemplates/100.

Führen Sie die Vorlage aus.

Console

  1. Rufen Sie die Dataflow-Seite Job aus Vorlage erstellen auf.
  2. Zur Seite "Job aus Vorlage erstellen“
  3. Geben Sie im Feld Jobname einen eindeutigen Jobnamen ein.
  4. Optional: Wählen Sie für Regionaler Endpunkt einen Wert aus dem Drop-down-Menü aus. Die Standardregion ist us-central1.

    Eine Liste der Regionen, in denen Sie einen Dataflow-Job ausführen können, finden Sie unter Dataflow-Standorte.

  5. Wählen Sie im Drop-down-Menü Dataflow-Vorlage die Option the Data Masking/Tokenization from Cloud Storage to BigQuery (using Cloud DLP) template aus.
  6. Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
  7. Klicken Sie auf Job ausführen.

gcloud

Führen Sie die Vorlage in der Shell oder im Terminal aus:

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

Dabei gilt:

  • DLP_API_PROJECT_ID: Ihre DLP API-Projekt-ID
  • JOB_NAME: ein eindeutiger Jobname Ihrer Wahl
  • REGION_NAME: die Region, in der Sie Ihren Dataflow-Job bereitstellen möchten, z. B. us-central1
  • VERSION: Die Version der Vorlage, die Sie verwenden möchten

    Sie können die folgenden Werte verwenden:

    • latest zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates-REGION_NAME/latest/
    • Den Versionsnamen wie 2023-09-12-00_RC00, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates-REGION_NAME/.
  • STAGING_LOCATION: der Speicherort für das Staging lokaler Dateien (z. B. gs://your-bucket/staging)
  • INPUT_DATA ist der Pfad zur Eingabedatei
  • DEIDENTIFY_TEMPLATE: die Nummer der De-Identifikationsvorlage für den Schutz sensibler Daten
  • DATASET_NAME: der Name des BigQuery-Datasets
  • INSPECT_TEMPLATE_NUMBER: die Nummer der Inspektionsvorlage für den Schutz sensibler Daten
  • BATCH_SIZE_VALUE: die Batchgröße (Anzahl der Zeilen pro API für CSV-Dateien)

REST

Senden Sie eine HTTP-POST-Anfrage, um die Vorlage mithilfe der REST API auszuführen. Weitere Informationen zur API und ihren Autorisierungsbereichen finden Sie unter 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"
   }
}

Dabei gilt:

  • PROJECT_ID: die ID des Google Cloud-Projekts, in dem Sie den Dataflow-Job ausführen möchten
  • DLP_API_PROJECT_ID: Ihre DLP API-Projekt-ID
  • JOB_NAME: ein eindeutiger Jobname Ihrer Wahl
  • LOCATION: die Region, in der Sie Ihren Dataflow-Job bereitstellen möchten, z. B. us-central1
  • VERSION: Die Version der Vorlage, die Sie verwenden möchten

    Sie können die folgenden Werte verwenden:

    • latest zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates-REGION_NAME/latest/
    • Den Versionsnamen wie 2023-09-12-00_RC00, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates-REGION_NAME/.
  • STAGING_LOCATION: der Speicherort für das Staging lokaler Dateien (z. B. gs://your-bucket/staging)
  • INPUT_DATA ist der Pfad zur Eingabedatei
  • DEIDENTIFY_TEMPLATE: die Nummer der De-Identifikationsvorlage für den Schutz sensibler Daten
  • DATASET_NAME: der Name des BigQuery-Datasets
  • INSPECT_TEMPLATE_NUMBER: die Nummer der Inspektionsvorlage für den Schutz sensibler Daten
  • BATCH_SIZE_VALUE: die Batchgröße (Anzahl der Zeilen pro API für CSV-Dateien)

Nächste Schritte