In dieser Anleitung wird gezeigt, wie Sie Daten beim Abfragen von Tabellen aus BigQuery mithilfe von Remote-Funktionen und dem Schutz sensibler Daten de-identifizieren. Dieser Ansatz ist nützlich, um Echtzeit-Abfrageergebnisse zu bereinigen und 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 Sensible Daten im Speicher de-identifizieren.
Diese Anleitung richtet sich an Personen, die für Datensicherheit, Datenverarbeitung oder Datenanalyse zuständig sind. In dieser Anleitung wird vorausgesetzt, 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 diesem Tutorial werden SQL-basierte Funktionen, BigQuery, Remote-Funktionen, Cloud Run und Sensitive Data Protection verwendet.
De-Identifikationstechniken wie die Verschlüsselung verschleiern sensible Rohdaten in Ihren Daten. Mit diesen Techniken können Sie Ihre Daten weiterhin zusammenführen oder analysieren. Durch die Verschleierung der sensiblen Rohdaten reduzieren Sie gleichzeitig das mit der Verarbeitung der Daten verbundene Risiko.
Unternehmen haben möglicherweise Richtlinien oder regulatorische Anforderungen, die vorschreiben, dass nur anonymisierte Daten in ihrem Cloud-Data Warehouse 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. In dieser Anleitung erfahren Sie, wie Sie diese Pipeline durch eine SQL-Abfrage ersetzen, die nur die Re-Identifizierung oder sowohl die De- als auch die Re-Identifizierung durchführt. In dieser Anleitung wird beschrieben, wie Sie sowohl die De- als auch die Re-Identifizierung 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 verwalten zu müssen.
Mit Sensitive Data Protection können Datasets klassifiziert werden, indem die Daten auf sensible Informationen geprüft werden. Schutz sensibler Daten bietet mehr als 200 integrierte Klassifizierer, die als infoTypes bezeichnet werden. Für die De-Identifizierung von Daten mit der Cloud Data Loss Prevention API sind Datenpipelines und Anwendungen erforderlich. In diesem Tutorial erfahren Ihre Datenanalysten, Engineers oder Scientists, wie sie mit SQL-Funktionen dasselbe Ergebnis erzielen können.
Am Ende dieser Anleitung können Sie eine Abfrage wie die folgende schreiben. Die vertraulichen Daten werden im Abfrageergebnis de-identifiziert und re-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 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, Schutz sensibler Daten zum De-Identifizieren und Re-Identifizieren von Daten und Cloud Run zum Hosten der Remote-Funktionen verwendet werden.
Lernziele
- Stellen Sie einen Cloud Run-Dienst bereit, der die Anonymisierungsfunktionen von Sensitive Data Protection bietet.
- BigQuery-Remote-Funktionen erstellen, die De-Identifikationsvorlagen für Sensitive Data Protection verwenden
- Datenverschlüsselung in BigQuery mit 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.
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
- 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.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
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.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
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 -
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
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.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
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
Klonen Sie in Cloud Shell das Quell-Repository:
git clone https://github.com/GoogleCloudPlatform/bigquery-dlp-remote-function.git
Wechseln Sie in das Verzeichnis für diese Anleitung:
cd bigquery-dlp-remote-function/
Ressourcen mithilfe eines Skripts bereitstellen
Wenn Sie das Bereitstellungsskript ohne Anpassungen verwenden möchten, folgen Sie dieser Anleitung. Wenn Sie die Bereitstellung anpassen möchten, überspringen Sie diesen Abschnitt und lesen Sie stattdessen Benutzerdefinierte Lösung manuell bereitstellen.
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 und keine Zone an.
Optional: Wenn Sie eine Inspektionsvorlage verwenden möchten, legen Sie das Feld DLP_INSPECT_TEMPLATE auf den vollständigen Ressourcennamen dieser Inspektionsvorlage fest. 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 Sensitive Data Protection 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 Ihrer Inspektionsvorlage, z. B.
projects/PROJECT_ID/locations/REGION/inspectTemplates/TEMPLATE_ID
.Authentifizieren Sie sich mit Standardanmeldedaten für Anwendungen:
gcloud auth application-default login && \ gcloud auth application-default set-quota-project "${PROJECT_ID}"
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 von Terraform ausgeführt werden. Prüfen Sie die Aktionen. Geben Sie
yes
ein, um fortzufahren.Prüfen Sie, ob Daten verschlüsselt und entschlüsselt werden können.
Benutzerdefinierte Lösung manuell bereitstellen
Wenn Sie das Deployment anpassen möchten, gehen Sie so vor. Wenn Sie das bereitgestellte Bereitstellungsskript ohne Anpassungen oder manuelle Schritte verwenden möchten, lesen Sie stattdessen 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 dieses Tutorial.
- REGION: Die Region, in der Sie die Daten speichern und verarbeiten möchten, z. B.
us-west1
. Geben Sie eine Region und keine Zone an. - CLOUD_RUN_SERVICE_NAME: Ein Name 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
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}"
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:
Optional: Sie können die Standardwerte ändern, indem Sie die Umgebungsvariablen ändern oder die Datei
src/main/resources/aes.properties
aktualisieren.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}"
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
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 Sensitive Data Protection erstellen
Mit De-Identifikationsvorlagen für Sensitive Data Protection können Sie Ihre De-Identifikationseinstellungen speichern und für mehrere Vorgänge und Datenquellen wiederverwenden.
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 Sensitive Data Protection-Verschlüsselung für tatsächlich sensible Arbeitslasten durchführen. Zu Demonstrationszwecken wird in dieser Anleitung ein nicht umschlossener 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
Erstellen Sie in Cloud Shell eine BigQuery-Verbindung für den Zugriff auf Cloud Run:
bq mk --connection \ --display_name='External transform function connection' \ --connection_type=CLOUD_RESOURCE \ --project_id="${PROJECT_ID}" \ --location="${REGION}" \ ext-${CLOUD_RUN_SERVICE_NAME}
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')"
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
Definieren Sie das BigQuery-Dataset für die Remote-Funktionen:
BQ_FUNCTION_DATASET="fns"
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 Sensitive Data Protection erstellen
Optional: Wenn Sie eine Inspektionsvorlage verwenden möchten, setzen Sie die Variable DLP_INSPECT_TEMPLATE auf den vollständigen Ressourcennamen dieser Inspektionsvorlage. Die Inspektionsvorlage muss sich in derselben Region befinden, die Sie in der Umgebungsvariable 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 Sensitive Data Protection 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 Ihrer Inspektionsvorlage, z. B.
projects/PROJECT_ID/locations/REGION/inspectTemplates/TEMPLATE_ID
.Erstellen Sie die De-Identifikationsfunktion für Sensitive Data Protection:
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}')]);"
Erstellen Sie die Re-Identifikationsfunktion für Sensitive Data Protection:
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 re-identifiziert:
Console
Wechseln Sie in der Google Cloud Console zu BigQuery.
BigQuery wird in dem Projekt geöffnet, auf das zuletzt zugegriffen wurde.
Klicken Sie zum Öffnen eines Abfrageeditors auf
Neue Abfrage erstellen.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
Klicken Sie auf Ausführen.
bq
Legen Sie die Umgebungsvariable für das Dataset fest:
BQ_FUNCTION_DATASET="fns"
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 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 beim Anpassen dieser Anleitung an Ihre Anforderungen Folgendes:
- Die De- und Re-Identifizierung erfolgt über einen Cloud Run-Dienst. Stellen Sie die Cloud Run-CPU und den Arbeitsspeicher entsprechend Ihren Rechenanforderungen bereit. Weitere Informationen finden Sie unter CPU-Limits und Arbeitsspeicherlimits für Cloud Run.
- Berücksichtigen Sie bei der Verwendung des Schutzes sensibler Daten die Nutzungslimits und Empfehlungen zur Kostenkontrolle.
Um die Kosten und den gesamten Verbrauch Ihres Kontingents für den Schutz sensibler Daten zu steuern, sollten Sie die Elemente, die Sie über die Remote-Funktion für den Schutz sensibler Daten übergeben, auf maximal 10.000 begrenzen. Die Lösung kann die Anfragen automatisch in Batches aufteilen, um die folgenden Anfragelimits für den Schutz sensibler Daten zu berücksichtigen:
- 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, z. B.My name is John Doe. My email is john.doe@example.com
.Achten Sie darauf, dass sich Ihr BigQuery-Dataset, Ihr Cloud Run-Dienst und Ihre 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
- Weitere Informationen zu BigQuery-Remote-Funktionen
- Sensible Daten de-identifizieren
- Ein Beispiel durcharbeiten, das zeigt, wie Sie einen verpackten Schlüssel erstellen, Inhalte tokenisieren und tokenisierte Inhalte neu identifizieren
- Personenidentifizierbare Informationen in umfangreichen Datasets mit dem Schutz sensibler Daten de-identifizieren und re-identifizieren
- Mehr über Cloud KMS erfahren