BigQuery-Daten zum Zeitpunkt der Abfrage de-identifizieren


In dieser Anleitung wird beschrieben, wie Sie Daten beim Abfragen von Tabellen aus BigQuery mithilfe von Remotefunktionen und dem Schutz sensibler Daten de-identifizieren. Dieser Ansatz ist nützlich, um Echtzeit-Abfrageergebnisse zu bereinigen, um den Zugriff auf Daten zu minimieren, die nicht für die Analyse benötigt werden.

In dieser Anleitung wird die Ver- und Entschlüsselung von Daten bei der Übertragung veranschaulicht. Informationen zur Verwendung des Schutzes sensibler Daten zum Verschlüsseln inaktiver Daten finden Sie unter Sensible Daten im Speicher de-identifizieren.

Diese Anleitung richtet sich an Zielgruppen, die in den Bereichen Datensicherheit, Datenverarbeitung oder Datenanalyse zuständig sind. In diesem Leitfaden wird davon ausgegangen, dass Sie mit der Datenverarbeitung und dem Datenschutz vertraut sind. Sie müssen kein Experte sein. In dieser Anleitung wird außerdem davon ausgegangen, dass Sie grundlegende Cloud Shell- und SQL-Skripts ausführen können.

In dieser Anleitung werden SQL-basierte Funktionen, BigQuery, Remote-Funktionen, Cloud Run und der Schutz sensibler Daten verwendet.

De-Identifikationstechniken wie Verschlüsselung dienen zur Verschleierung sensibler Rohdaten in Ihren Daten. Mit diesen Techniken können Sie Ihre Daten weiterhin zusammenführen oder analysieren und gleichzeitig das Risiko der Datenverarbeitung reduzieren.

Unter Umständen gibt es Richtlinien oder behördliche Anforderungen, durch die Unternehmen nur de-identifizierte Daten in ihrem Cloud Data Warehouse speichern dürfen. Außerdem müssen sie möglicherweise die de-identifizierten Daten effizient für die Berichterstellung neu identifizieren.

Um das Risiko der Verarbeitung großer Mengen sensibler Daten zu minimieren, können Sie eine automatisierte Pipeline zur Datentransformation verwenden, um de-identifizierte Datasets zu erstellen. Sie können diese Anleitung verwenden, um diese Pipeline durch eine SQL-Abfrage nur zur Re-Identifikation oder sowohl zur De-Identifikation als auch zur Re-Identifikation zu ersetzen. In dieser Anleitung erfahren Sie, wie Sie sowohl eine De-Identifikation als auch eine Re-Identifikation mit einem zentralen Dienst durchführen, der in Cloud Run gehostet wird. Sie können diesen zentralen Dienst in der gesamten Organisation verwenden, ohne einen Dataflow-Cluster einrichten oder warten zu müssen.

Mit dem Schutz sensibler Daten können Datasets klassifiziert werden, indem die Daten auf vertrauliche Informationen geprüft werden. Der Schutz sensibler Daten umfasst mehr als 150 integrierte Klassifikatoren, sogenannte infoTypes. Für die De-Identifikation von Daten mit der Cloud Data Loss Prevention API sind Datenpipelines und Anwendungen erforderlich. Diese Anleitung soll Ihren Datenanalysten, Entwicklern oder Data Scientists dabei helfen, mithilfe von SQL-Funktionen dasselbe Ergebnis zu erzielen.

Am Ende dieser Anleitung können Sie eine Abfrage wie die folgende schreiben. Die sensiblen Daten werden de-identifiziert und im Abfrageergebnis neu identifiziert.

SELECT
    pii_column,
    fns.dlp_freetext_encrypt(pii_column) AS dlp_encrypted,
    fns.dlp_freetext_decrypt(fns.dlp_freetext_encrypt(pii_column)) AS dlp_decrypted
FROM
    UNNEST(
    [
        'My name is John Doe. My email is john.doe@example.com']) AS pii_column

Die Ausgabe sieht in etwa so aus:

Row pii_column dlp_encrypted dlp_decrypted
1 My name is John Doe. My email is john.doe@example.com My name is John Doe. My email is BQ_TRF_EMAIL(40):AQy6lGvwKR+AiiRqJpEr+nBzZUzOcjXkXamUugU= My name is John Doe. My email is john.doe@example.com

Architektur

Das folgende Diagramm zeigt, wie in dieser Anleitung BigQuery als Data Warehouse, der Schutz sensibler Daten zur De-Identifikation und Re-Identifikation von Daten und Cloud Run zum Hosten der Remote-Funktionen verwendet werden.

Gesamtarchitekturdiagramm dieser Anleitung

Lernziele

  • Cloud Run-Dienst bereitstellen, der De-Identifikationsfunktionen zum Schutz sensibler Daten bietet
  • BigQuery-Remote-Funktionen erstellen, die De-Identifikationsvorlagen für den Schutz sensibler Daten verwenden
  • Überprüfen Sie die Datenverschlüsselung in BigQuery mithilfe einer SQL-Abfrage.

Kosten

In diesem Dokument verwenden Sie die folgenden kostenpflichtigen Komponenten von Google Cloud:

Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen. Neuen Google Cloud-Nutzern steht möglicherweise eine kostenlose Testversion zur Verfügung.

Nach Abschluss der in diesem Dokument beschriebenen Aufgaben können Sie weitere Kosten vermeiden, indem Sie die erstellten Ressourcen löschen. Weitere Informationen finden Sie unter Bereinigen.

Hinweise

  1. Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. Installieren Sie die Google Cloud CLI.
  3. Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init
  4. Google Cloud-Projekt erstellen oder auswählen.

    • Erstellen Sie ein Google Cloud-Projekt:

      gcloud projects create PROJECT_ID

      Ersetzen Sie PROJECT_ID durch einen Namen für das Google Cloud-Projekt, das Sie erstellen.

    • Wählen Sie das von Ihnen erstellte Google Cloud-Projekt aus:

      gcloud config set project PROJECT_ID

      Ersetzen Sie PROJECT_ID durch den Namen Ihres Google Cloud-Projekts.

  5. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  6. Aktivieren Sie die Artifact Registry, BigQuery, BigQuery Connection API, Cloud Build, Cloud Data Loss Prevention API, Cloud Key Management Service, Cloud Run, Container Registry, Identity and Access Management, Resource Manager, Secret Manager und Service Usage APIs:

    gcloud services enable artifactregistry.googleapis.com bigquery.googleapis.com bigqueryconnection.googleapis.com cloudbuild.googleapis.com cloudkms.googleapis.com cloudresourcemanager.googleapis.com containerregistry.googleapis.com dlp.googleapis.com iam.googleapis.com run.googleapis.com secretmanager.googleapis.com serviceusage.googleapis.com
  7. Installieren Sie die Google Cloud CLI.
  8. Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init
  9. Google Cloud-Projekt erstellen oder auswählen.

    • Erstellen Sie ein Google Cloud-Projekt:

      gcloud projects create PROJECT_ID

      Ersetzen Sie PROJECT_ID durch einen Namen für das Google Cloud-Projekt, das Sie erstellen.

    • Wählen Sie das von Ihnen erstellte Google Cloud-Projekt aus:

      gcloud config set project PROJECT_ID

      Ersetzen Sie PROJECT_ID durch den Namen Ihres Google Cloud-Projekts.

  10. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  11. Aktivieren Sie die Artifact Registry, BigQuery, BigQuery Connection API, Cloud Build, Cloud Data Loss Prevention API, Cloud Key Management Service, Cloud Run, Container Registry, Identity and Access Management, Resource Manager, Secret Manager und Service Usage APIs:

    gcloud services enable artifactregistry.googleapis.com bigquery.googleapis.com bigqueryconnection.googleapis.com cloudbuild.googleapis.com cloudkms.googleapis.com cloudresourcemanager.googleapis.com containerregistry.googleapis.com dlp.googleapis.com iam.googleapis.com run.googleapis.com secretmanager.googleapis.com serviceusage.googleapis.com

Umgebung vorbereiten

  1. Klonen Sie in Cloud Shell das Quell-Repository:

    git clone https://github.com/GoogleCloudPlatform/bigquery-dlp-remote-function.git
    
  2. Wechseln Sie zum Verzeichnis für diese Anleitung:

    cd bigquery-dlp-remote-function/
    

Ressourcen mithilfe eines Skripts bereitstellen

Wenn Sie das Bereitstellungsskript verwenden möchten, ohne Anpassungen vorzunehmen, gehen Sie so vor: Wenn Sie die Bereitstellung anpassen möchten, überspringen Sie diesen Abschnitt und lesen Sie stattdessen den Artikel Benutzerdefinierte Lösung manuell bereitstellen.

  1. Legen Sie die Werte für die Felder PROJECT_ID und REGION fest:

    # Project ID of the Google Cloud project
    PROJECT_ID="PROJECT_ID"
    
    # Google Cloud region to use for deployment of resources
    # Refer to https://cloud.google.com/about/locations
    REGION="REGION"
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die ID des Projekts für diese Anleitung.
    • REGION: Die Region, in der Sie die Daten speichern und verarbeiten möchten, z. B. us-west1. Geben Sie eine Region an, keine Zone.
  2. Optional: Wenn Sie eine Inspektionsvorlage haben, die Sie verwenden möchten, setzen Sie das Feld DLP_INSPECT_TEMPLATE auf den vollständigen Ressourcennamen dieser Inspektionsvorlage. Die Inspektionsvorlage muss sich in derselben Region befinden, die Sie im Feld REGION festgelegt haben.

    Achten Sie darauf, dass die Inspektionsvorlage alle infoTypes enthält, die in der De-Identifikationsvorlage verwendet werden.

    Wenn Sie diesen Schritt überspringen, prüft der Schutz sensibler Daten die Daten mit einem systemstandardmäßigen Satz von infoType-Detektoren.

    DLP_INSPECT_TEMPLATE="DLP_INSPECT_TEMPLATE"
    

    Ersetzen Sie DLP_INSPECT_TEMPLATE durch den vollständigen Ressourcennamen der Inspektionsvorlage, z. B. projects/PROJECT_ID/locations/REGION/inspectTemplates/TEMPLATE_ID.

  3. Authentifizieren Sie sich mit den Standardanmeldedaten für Anwendungen:

    gcloud auth application-default login && \
    gcloud auth application-default set-quota-project "${PROJECT_ID}"
    
  4. Initialisieren Sie das Terraform-Skript und führen Sie es aus, um alle Ressourcen zu erstellen:

    terraform init && \
    terraform apply \
    -var "project_id=${PROJECT_ID}" \
    -var "region=${REGION}" \
    -var "dlp_inspect_template_full_path=${DLP_INSPECT_TEMPLATE}"
    

    Das System zeigt alle Aktionen an, die Terraform ausführt. Überprüfen Sie die Aktionen. Geben Sie yes ein, um fortzufahren.

  5. Überprüfen Sie, ob Daten ver- und entschlüsselt werden können.

Benutzerdefinierte Lösung manuell bereitstellen

Wenn Sie die Bereitstellung anpassen möchten, führen Sie die folgenden Schritte aus. Wenn Sie das bereitgestellte Bereitstellungsskript ohne Anpassungen oder manuelle Schritte verwenden möchten, lesen Sie stattdessen die Informationen unter Ressourcen mit einem Skript bereitstellen.

Umgebungsvariablen festlegen

Legen Sie in Cloud Shell die folgenden Umgebungsvariablen fest:

PROJECT_ID="PROJECT_ID"
REGION="REGION"
CLOUD_RUN_SERVICE_NAME="CLOUD_RUN_SERVICE_NAME"
ARTIFACT_REGISTRY_NAME="ARTIFACT_DOCKER_REGISTRY_NAME"

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID des Projekts für diese Anleitung.
  • REGION: Die Region, in der Sie die Daten speichern und verarbeiten möchten, z. B. us-west1. Geben Sie eine Region an, keine Zone.
  • CLOUD_RUN_SERVICE_NAME: ein Name für den neuen Cloud Run-Dienst. Sie können bis zu 15 Zeichen eingeben.
  • ARTIFACT_REGISTRY_NAME ist ein Name für die neue Artifact Registry zum Speichern von Container-Images.

Dienstkonto für den Cloud Run-Dienst erstellen

  1. Erstellen Sie ein Dienstkonto:

    RUNNER_SA_NAME="${CLOUD_RUN_SERVICE_NAME}-runner"
    RUNNER_SA_EMAIL="${RUNNER_SA_NAME}@${PROJECT_ID}.iam.gserviceaccount.com"
    gcloud iam service-accounts create "${RUNNER_SA_NAME}" \
        --project="${PROJECT_ID}" \
        --description "Runner for BigQuery remote function execution" \
        --display-name "${RUNNER_SA_NAME}"
    
  2. Gewähren Sie die erforderlichen Rollen für den Schutz sensibler Daten.

    Weisen Sie die Rolle DLP-Leser zu:

    gcloud projects add-iam-policy-binding "${PROJECT_ID}" \
        --member="serviceAccount:${RUNNER_SA_EMAIL}" \
        --role='roles/dlp.reader'
    

    Weisen Sie die Rolle DLP-Nutzer zu:

    gcloud projects add-iam-policy-binding "${PROJECT_ID}" \
        --member="serviceAccount:${RUNNER_SA_EMAIL}" \
        --role='roles/dlp.user'
    

Cloud Run-Dienst bereitstellen

So stellen Sie die Anwendung bereit:

  1. Optional: Sie können die Standardwerte ändern, indem Sie die Umgebungsvariablen ändern oder die Datei src/main/resources/aes.properties aktualisieren.

  2. Erstellen Sie ein Artifact Registry-Repository zum Speichern des Container-Images der Funktion:

    gcloud artifacts repositories create "${ARTIFACT_REGISTRY_NAME}" \
    --repository-format=docker \
    --location="${REGION}" \
    --description="Container images repository for BigQuery Functions" \
    --project="${PROJECT_ID}"
    
  3. Kompilieren Sie die Anwendung und stellen Sie sie mit Cloud Build in Cloud Run bereit:

    gcloud builds submit \
    --project ${PROJECT_ID} \
    --substitutions=_CONTAINER_IMAGE_NAME="${REGION}-docker.pkg.dev/${PROJECT_ID}/${ARTIFACT_REGISTRY_NAME}/${CLOUD_RUN_SERVICE_NAME}:latest" \
    --machine-type=e2-highcpu-8 && \
    gcloud beta run deploy ${CLOUD_RUN_SERVICE_NAME} \
    --image="${REGION}-docker.pkg.dev/${PROJECT_ID}/${ARTIFACT_REGISTRY_NAME}/${CLOUD_RUN_SERVICE_NAME}:latest" \
    --execution-environment=gen2 \
    --platform=managed \
    --region="${REGION}" \
    --service-account="${RUNNER_SA_EMAIL}" \
    --cpu=4 \
    --memory=8Gi \
    --no-allow-unauthenticated \
    --project ${PROJECT_ID} \
    --update-env-vars=PROJECT_ID=${PROJECT_ID}
    

    Das Ende der Ausgabe sieht in etwa so aus:

    ID: 403a276e-b0c6-41f3-aaed-f0ec9f9cedba
    CREATE_TIME: 2023-02-04T01:52:15+00:00
    DURATION: 1M59S
    SOURCE: gs://PROJECT_ID_cloudbuild/source/1675475534.124241-9c43787f64e04cfd9e4a1979d3324fe0.tgz
    IMAGES: gcr.io/PROJECT_ID/CLOUD_RUN_SERVICE_NAME (+1 more)
    STATUS: SUCCESS
    Deploying container to Cloud Run service [CLOUD_RUN_SERVICE_NAME] in project [PROJECT_ID] region [REGION]
    OK Deploying new service... Done.
     OK Creating Revision... Revision deployment finished. Checking container heal
     th.
     OK Routing traffic...
    Done.
    Service [CLOUD_RUN_SERVICE_NAME] revision [CLOUD_RUN_SERVICE_NAME-00001-tat] has been deployed and is serving 100 percent of traffic.
    Service URL: https://CLOUD_RUN_SERVICE_NAME-j2bpjx2xoq-uw.a.run.app
    
  4. Rufen Sie die Cloud Run-URL ab und speichern Sie sie in Ihren Umgebungsvariablen:

    RUN_URL="$(gcloud run services describe ${CLOUD_RUN_SERVICE_NAME} --region \
        ${REGION} --project ${PROJECT_ID} --format="get(status.address.url)")"
    

De-Identifikationsvorlage für den Schutz sensibler Daten erstellen

Mit De-Identifikationsvorlagen für den Schutz sensibler Daten können Sie Ihre De-Identifikationseinstellungen speichern, damit Sie sie für mehrere Vorgänge und Datenquellen wiederverwenden können.

In diesem Schritt wird die Datei sample_dlp_deid_config.json verwendet, die eine Beispielvorlage für die De-Identifikation enthält.

Erstellen Sie die Vorlage in Cloud Shell:

DEID_TEMPLATE=$(curl -X POST \
-H "Authorization: Bearer `gcloud auth print-access-token`" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: ${PROJECT_ID}" \
--data-binary "@sample_dlp_deid_config.json" \
"https://dlp.googleapis.com/v2/projects/${PROJECT_ID}/locations/${REGION}/deidentifyTemplates")

DEID_TEMPLATE_NAME="$(echo ${DEID_TEMPLATE} | jq -r '.name')"

Google empfiehlt, einen verpackten Schlüssel zu verwenden, wenn Sie die Verschlüsselung sensibler Daten für sensible Arbeitslasten durchführen. Zu Demonstrationszwecken wird in dieser Anleitung ein entpackter Schlüssel verwendet. Weitere Informationen zum Erstellen eines verpackten Schlüssels und zum Verwenden dieses Schlüssels in De-Identifikations- und Re-Identifikationsanfragen finden Sie unter Sensible Daten de-identifizieren und re-identifizieren.

BigQuery-Verbindung zu Cloud Run erstellen

  1. Erstellen Sie in Cloud Shell eine BigQuery-Verbindung, um auf Cloud Run zuzugreifen:

    bq mk --connection \
    --display_name='External transform function connection' \
    --connection_type=CLOUD_RESOURCE \
    --project_id="${PROJECT_ID}" \
    --location="${REGION}" \
    ext-${CLOUD_RUN_SERVICE_NAME}
    
  2. Suchen Sie das BigQuery-Dienstkonto, das für die Verbindung verwendet wird, und legen Sie es fest:

    CONNECTION_SA="$(bq --project_id ${PROJECT_ID} --format json show \
        --connection ${PROJECT_ID}.${REGION}.ext-${CLOUD_RUN_SERVICE_NAME} \
        | jq -r '.cloudResource.serviceAccountId')"
    
  3. Weisen Sie dem Dienstkonto die Rolle Cloud Run Invoker zu:

    gcloud projects add-iam-policy-binding ${PROJECT_ID} \
        --member="serviceAccount:${CONNECTION_SA}" \
        --role='roles/run.invoker'
    

BigQuery-Dataset für Remote-Funktionen erstellen

  1. Definieren Sie das BigQuery-Dataset für die Remote-Funktionen:

    BQ_FUNCTION_DATASET="fns"
    
  2. Erstellen Sie das Dataset, falls es noch nicht vorhanden ist:

       bq mk --dataset \
           --project_id ${PROJECT_ID} \
           --location ${REGION} \
           ${BQ_FUNCTION_DATASET}
    

Remote-Funktionen zum Schutz sensibler Daten erstellen

  1. Optional: Wenn Sie eine Inspektionsvorlage haben, die Sie verwenden möchten, legen Sie die Variable DLP_INSPECT_TEMPLATE auf den vollständigen Ressourcennamen dieser Inspektionsvorlage fest. Die Inspektionsvorlage muss sich in derselben Region befinden, die Sie in der Umgebungsvariablen REGION festgelegt haben.

    Achten Sie darauf, dass die Inspektionsvorlage alle infoTypes enthält, die in der De-Identifikationsvorlage verwendet werden.

    Wenn Sie diesen Schritt überspringen, prüft der Schutz sensibler Daten die Daten mit einem systemstandardmäßigen Satz von infoType-Detektoren.

    DLP_INSPECT_TEMPLATE="DLP_INSPECT_TEMPLATE"
    

    Ersetzen Sie DLP_INSPECT_TEMPLATE durch den vollständigen Ressourcennamen der Inspektionsvorlage, z. B. projects/PROJECT_ID/locations/REGION/inspectTemplates/TEMPLATE_ID.

  2. Erstellen Sie die De-Identifikationsfunktion für den Schutz sensibler Daten:

    bq query --project_id ${PROJECT_ID} \
    --use_legacy_sql=false \
    "CREATE OR REPLACE FUNCTION ${BQ_FUNCTION_DATASET}.dlp_freetext_encrypt(v STRING)
    RETURNS STRING
    REMOTE WITH CONNECTION \`${PROJECT_ID}.${REGION}.ext-${CLOUD_RUN_SERVICE_NAME}\`
    OPTIONS (endpoint = '${RUN_URL}', user_defined_context = [('mode', 'deidentify'),('algo','dlp'),('dlp-deid-template','${DEID_TEMPLATE_NAME}'),('dlp-inspect-template', '${DLP_INSPECT_TEMPLATE}')]);"
    
  3. Erstellen Sie die Re-Identifikationsfunktion für den Schutz sensibler Daten:

    bq query --project_id ${PROJECT_ID} \
    --use_legacy_sql=false \
    "CREATE OR REPLACE FUNCTION ${BQ_FUNCTION_DATASET}.dlp_freetext_decrypt(v STRING)
    RETURNS STRING
    REMOTE WITH CONNECTION \`${PROJECT_ID}.${REGION}.ext-${CLOUD_RUN_SERVICE_NAME}\`
    OPTIONS (endpoint = '${RUN_URL}', user_defined_context = [('mode', 'reidentify'),('algo','dlp'),('dlp-deid-template','${DEID_TEMPLATE_NAME}'),('dlp-inspect-template', '${DLP_INSPECT_TEMPLATE}')]);"
    

De-Identifikation und Re-Identifikation bestätigen

So prüfen Sie, ob die Lösung Daten de-identifiziert und re-identifiziert:

Console

  1. Wechseln Sie in der Google Cloud Console zu BigQuery.

    BigQuery aufrufen

    BigQuery wird in dem Projekt geöffnet, auf das zuletzt zugegriffen wurde.

  2. Klicken Sie zum Öffnen eines Abfrageeditors auf Neue Abfrage erstellen.

  3. Geben Sie die folgende Abfrage ein:

    SELECT
        pii_column,
        fns.dlp_freetext_encrypt(pii_column) AS dlp_encrypted,
        fns.dlp_freetext_decrypt(fns.dlp_freetext_encrypt(pii_column)) AS dlp_decrypted
    FROM
        UNNEST(
        [
            'My name is John Doe. My email is john.doe@example.com',
            'Some non PII data',
            '650-253-0000',
            'some script with simple number 1234']) AS pii_column
    
  4. Klicken Sie auf Ausführen.

bq

  1. Legen Sie die Umgebungsvariable für das Dataset fest:

    BQ_FUNCTION_DATASET="fns"
    
  2. Führen Sie die Abfrage aus:

    bq query --project_id ${PROJECT_ID} \
    --use_legacy_sql=false \
    "
    SELECT
      pii_column,
      ${BQ_FUNCTION_DATASET}.dlp_freetext_encrypt(pii_column) AS dlp_encrypted,
    ${BQ_FUNCTION_DATASET}.dlp_freetext_decrypt(${BQ_FUNCTION_DATASET}.dlp_freetext_encrypt(pii_column)) AS dlp_decrypted
    FROM
      UNNEST(
        [
          'My name is John Doe. My email is john.doe@example.com',
          'Some non PII data',
          '650-253-0000',
          'some script with simple number 1234']) AS pii_column"
    

Die Ausgabe sieht in etwa so aus:

Row pii_column dlp_encrypted dlp_decrypted
1 My name is John Doe. My email is john.doe@example.com My name is John Doe. My email is BQ_TRF_EMAIL(40):AQy6lGvwKR+AiiRqJpEr+nBzZUzOcjXkXamUugU= My name is John Doe. My email is john.doe@example.com
2 Some non PII data Some non PII data Some non PII data
3 650-253-0000 BQ_TRF_PH(40):AeKpGU5KBXaTyecCun7dv1hHht5w5Q2PTpvkRC4= 650-253-0000
4 some script with simple number 1234 some script with simple number 1234 some script with simple number 1234

Hinweise

Wenn Sie diese Anleitung an Ihre Anforderungen anpassen, sollten Sie Folgendes berücksichtigen:

  • Die De-Identifikation und Re-Identifikation wird über einen Cloud Run-Dienst verarbeitet. Stellen Sie die CPU und den Arbeitsspeicher von Cloud Run gemäß Ihren Rechenanforderungen bereit. Weitere Informationen finden Sie unter CPU-Limits und Arbeitsspeicherlimits für Cloud Run.
  • Beachten Sie bei der Verwendung des Schutzes sensibler Daten die Nutzungslimits und die Empfehlungen zur Kostenkontrolle.
  • Beschränken Sie die Elemente, die Sie über die Remote-Funktion zum Schutz sensibler Daten übergeben, auf maximal 10.000, um die Kosten und die gesamte Nutzung Ihres Kontingents für den Schutz sensibler Daten zu kontrollieren. Die Lösung kann die Anfragen automatisch in Batches zusammenfassen, um die folgenden Anfragelimits für den Schutz sensibler Daten zu bewältigen:

    • Maximale Anzahl von Tabellenwerten: 50.000
    • Standardlimit für Anfragegrößen: 0,5 MB

    Die endgültigen und gefilterten Ergebnisse der Abfrage sollten an die Funktion zum Schutz sensibler Daten und nicht an die Quelle übergeben werden.

    Bei dieser Lösung ist jeder Wert in der Spalte pii_column ein Element. My name is John Doe. My email is john.doe@example.com entspricht z. B. einem Element.

  • Achten Sie darauf, dass sich das BigQuery-Dataset, der Cloud Run-Dienst und die Vorlagen für den Schutz sensibler Daten in derselben Cloudregion befinden.

Bereinigen

Damit Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen nicht in Rechnung gestellt werden, löschen Sie entweder das Projekt, das die Ressourcen enthält, oder Sie behalten das Projekt und löschen die einzelnen Ressourcen.

    Google Cloud-Projekt löschen:

    gcloud projects delete PROJECT_ID

Nächste Schritte