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:

  • Daten auf potenziell vertrauliche Informationen prüfen und ihre Identifizierung aufheben
  • De-identifizieren Sie strukturierte Daten, bei denen Spalten für die De-Identifikation angegeben sind und keine 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

Erforderliche Parameter

  • inputFilePattern: Die CSV-Dateien, aus denen Eingabedatensätze gelesen werden sollen. Platzhalter werden ebenfalls akzeptiert. (Beispiel: gs://mybucket/my_csv_filename.csv or gs://mybucket/file-*.csv).
  • deidentifyTemplateName: Die Sensitive Data Protection-De-Identifikationsvorlage, die für API-Anfragen verwendet werden soll, angegeben mit dem Muster projects/<PROJECT_ID>/deidentifyTemplates/<TEMPLATE_ID>. Beispiel: projects/your-project-id/locations/global/deidentifyTemplates/generated_template_id.
  • datasetName: Das BigQuery-Dataset, das zum Senden tokenisierter Ergebnisse verwendet werden soll. Das Dataset muss vor der Ausführung vorhanden sein.
  • dlpProjectId: Die ID des Google Cloud-Projekts, zu dem die DLP API-Ressource gehört. Dieses Projekt kann dasselbe Projekt sein, das auch die Sensitive Data Protection-Vorlagen besitzt, oder es kann ein separates Projekt sein.

Optionale Parameter

  • inspectTemplateName: Die Sensitive Data Protection-Inspektionsvorlage, die für API-Anfragen verwendet wird und mit dem Muster „projects/<PROJECT_ID>/identifierTemplates/<TEMPLATE_ID>“ angegeben wird. (Beispiel: projects/your-project-id/locations/global/InspectTemplates/generated_template_id).
  • batchSize: Die Block- oder Batchgröße, die zum Senden von Daten zur Prüfung und Aufhebung der Tokenisierung verwendet werden soll. Bei einer CSV-Datei ist der Wert von batchSize die Anzahl der Zeilen in einem Batch. Bestimmen Sie die Batchgröße anhand der Größe der Datensätze und der Größe der Datei. Die DLP API hat pro API-Aufruf eine Nutzlastgröße von 524 KB.

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) templateaus.
  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

Ersetzen Sie dabei Folgendes:

  • 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"
   }
}

Ersetzen Sie dabei Folgendes:

  • 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