BigQuery-Daten zum Zeitpunkt der Abfrage de-identifizieren


In dieser Anleitung erfahren Sie, wie Sie Daten beim Abfragen von Tabellen aus BigQuery mithilfe von Remote-Funktionen und dem Schutz sensibler Daten de-identifizieren. Dieser Ansatz eignet sich zum Entfernen sensibler Daten aus Echtzeitabfrageergebnissen, um den Zugriff auf Daten zu minimieren, die für die Analyse nicht erforderlich sind.

In diesem Tutorial wird die Verschlüsselung und Entschlüsselung von Daten bei der Übertragung veranschaulicht. Informationen zur Verwendung des Schutzes sensibler Daten zum Verschlüsseln inaktiver Daten finden Sie unter De-Identifikation sensibler Daten im Speicher.

Diese Anleitung richtet sich an Personen, die für die Datensicherheit, die Datenverarbeitung oder die Datenanalyse verantwortlich sind. In dieser Anleitung wird davon ausgegangen, dass Sie mit den Themengebieten Datenverarbeitung und Datenschutz vertraut sind, aber Sie müssen kein Experte sein. Außerdem wird davon ausgegangen, dass Sie grundlegende Cloud Shell- und SQL-Scripts ausführen können.

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

Mit De-Identifikationstechniken wie der Verschlüsselung werden sensible Rohdaten in Ihren Daten verschleiert. Mit diesen Techniken können Sie die Daten weiterhin zusammenführen oder analysieren. Gleichzeitig reduzieren Sie das mit der Verarbeitung der Daten verbundene Risiko.

Unternehmen unterliegen möglicherweise Richtlinien oder rechtlichen Bestimmungen, die vorschreiben, dass nur de-identifizierte Daten in ihrem Cloud-Datenlager gespeichert werden dürfen. Außerdem müssen sie die de-identifizierten Daten für die Berichterstellung möglicherweise effizient re-identifizieren.

Wenn Sie das Risiko der Verarbeitung großer Mengen sensibler Daten minimieren möchten, können Sie mithilfe einer automatisierten Pipeline zur Datentransformation de-identifizierte Datasets erstellen. Anhand dieser Anleitung können Sie diese Pipeline durch eine SQL-Abfrage ersetzen, die nur die Re-Identifikation oder sowohl die De-Identifikation als auch die Re-Identifikation umfasst. In dieser Anleitung erfahren Sie, wie Sie sowohl die De-Identifikation als auch die Re-Identifikation mit einem zentralen Dienst ausführen, der in Cloud Run gehostet wird. Sie können diesen zentralen Dienst in der gesamten Organisation verwenden, ohne einen Dataflow-Cluster einrichten oder verwalten 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 bietet mehr als 150 integrierte Klassifikatoren, sogenannte infoTypes. Wenn Sie die Cloud Data Loss Prevention API zur De-Identifikation von Daten verwenden möchten, sind Datenpipelines und Anwendungen erforderlich. In diesem Tutorial erfahren Sie, wie Ihre Datenanalysten, ‑entwickler oder ‑wissenschaftler mithilfe von SQL-Funktionen dasselbe Ergebnis erzielen.

Am Ende dieser Anleitung können Sie eine Abfrage ähnlich der folgenden schreiben. Die vertraulichen Daten werden im Abfrageergebnis de-identifiziert und wieder 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:

Zeile 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 zum De-identifizieren und Re-Identifizieren von Daten und Cloud Run zum Hosten der Remote-Funktionen verwendet wird.

Architekturdiagramm für diese Anleitung

Lernziele

  • Stellen Sie einen Cloud Run-Dienst bereit, der die De-Identifikationsfunktion des Schutzes sensibler Daten bietet.
  • BigQuery-Remote-Funktionen erstellen, die De-Identifikationsvorlagen für den Schutz sensibler Daten verwenden
  • Datenverschlüsselung in BigQuery mithilfe einer SQL-Abfrage überprüfen

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.

Vorbereitung

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. Install the Google Cloud CLI.
  3. To initialize the gcloud CLI, run the following command:

    gcloud init
  4. Create or select a Google Cloud project.

    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  5. Make sure that billing is enabled for your Google Cloud project.

  6. Enable the 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, and 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. Install the Google Cloud CLI.
  8. To initialize the gcloud CLI, run the following command:

    gcloud init
  9. Create or select a Google Cloud project.

    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  10. Make sure that billing is enabled for your Google Cloud project.

  11. Enable the 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, and 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. Rufen Sie das Verzeichnis für diese Anleitung auf:

    cd bigquery-dlp-remote-function/
    

Ressourcen mithilfe eines Scripts bereitstellen

Wenn Sie das Bereitstellungsskript ohne Anpassungen verwenden möchten, gehen Sie so vor: Wenn Sie die Bereitstellung anpassen möchten, überspringen Sie diesen Abschnitt und lesen Sie stattdessen den Hilfeartikel 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 verwenden möchten, geben Sie im Feld DLP_INSPECT_TEMPLATE den vollständigen Ressourcennamen dieser Inspektionsvorlage ein. Die Inspektionsvorlage muss sich in derselben Region befinden, die Sie im Feld REGION festgelegt haben.

    Die Inspektionsvorlage muss alle Infotypen enthalten, die in der De-Identifikationsvorlage verwendet werden.

    Wenn Sie diesen Schritt überspringen, werden die Daten vom Schutz sensibler Daten mit einem systemeigenen Satz von infoType-Detektoren geprüft.

    DLP_INSPECT_TEMPLATE="DLP_INSPECT_TEMPLATE"
    

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

  3. Authentifizierung mit Standardanmeldedaten für Anwendungen:

    gcloud auth application-default login && \
    gcloud auth application-default set-quota-project "${PROJECT_ID}"
    
  4. Initialisieren und führen Sie das Terraform-Script 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ühren wird. Überprüfen Sie die Aktionen. Geben Sie yes ein, um fortzufahren.

  5. Prüfen Sie, ob Daten verschlüsselt und entschlüsselt werden können.

Benutzerdefinierte Lösung manuell bereitstellen

So passen Sie die Bereitstellung an: Wenn Sie das bereitgestellte Bereitstellungsskript ohne Anpassungen oder manuelle Schritte verwenden möchten, lesen Sie stattdessen den Hilfeartikel Ressourcen mithilfe eines Scripts 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: einen Namen für den neuen Cloud Run-Dienst. Sie können bis zu 15 Zeichen eingeben.
  • ARTIFACT_REGISTRY_NAME: 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. Weisen Sie die erforderlichen Rollen für den Schutz sensibler Daten zu.

    Weisen Sie die Rolle DLP Reader 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, um sie für mehrere Vorgänge und Datenquellen wiederzuverwenden.

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

Erstellen Sie in Cloud Shell die Vorlage:

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 mit Sensitive Data Protection auf tatsächlich sensible Arbeitslasten anwenden. Zu Demonstrationszwecken wird in dieser Anleitung ein entpackter Schlüssel verwendet. Weitere Informationen zum Erstellen eines verpackten Schlüssels und zur Verwendung 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 und legen Sie das BigQuery-Dienstkonto fest, das für die Verbindung verwendet wird:

    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-Aufrufer 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 für den Schutz sensibler Daten erstellen

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

    Die Inspektionsvorlage muss alle Infotypen enthalten, die in der De-Identifikationsvorlage verwendet werden.

    Wenn Sie diesen Schritt überspringen, werden die Daten vom Schutz sensibler Daten mit einem systemeigenen Satz von infoType-Detektoren geprüft.

    DLP_INSPECT_TEMPLATE="DLP_INSPECT_TEMPLATE"
    

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

  2. So 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. So 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 prüfen

So prüfen Sie, ob die Lösung Daten de-identifiziert und wieder 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 auf Neue Abfrage erstellen, um einen Abfrageeditor zu öffnen.

  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:

Zeile 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

Beachten Sie Folgendes, wenn Sie diese Anleitung an Ihre Anforderungen anpassen:

  • Die De-Identifikation und Re-Identifikation erfolgt über einen Cloud Run-Dienst. Stellen Sie die Cloud Run-CPU und den Cloud Run-Arbeitsspeicher entsprechend Ihren Rechenanforderungen bereit. Weitere Informationen finden Sie unter CPU-Limits und Speicherlimits für Cloud Run.
  • Beachten Sie bei der Verwendung des Schutzes sensibler Daten die Nutzungslimits und die Empfehlungen zur Kostenkontrolle.
  • Um die Kosten und die Gesamtnutzung Ihres Schutz sensibler Daten-Kontingents zu kontrollieren, beschränken Sie die Anzahl der Elemente, die Sie über die Remote-Funktion für den Schutz sensibler Daten übergeben, auf maximal 10.000. Die Lösung kann Anfragen automatisch gruppieren, um die folgenden Limits für Anfragen zum Schutz sensibler Daten zu erfüllen:

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

    Die endgültigen und gefilterten Ergebnisse der Abfrage sollten an die Funktion „Sensitive Data Protection“ 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 ist beispielsweise ein Element.

  • Achten Sie darauf, dass sich Ihr BigQuery-Dataset, der Cloud Run-Dienst und die Vorlagen für den Schutz sensibler Daten in derselben Cloud-Region 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.

    Delete a Google Cloud project:

    gcloud projects delete PROJECT_ID

Nächste Schritte