Auf dieser Seite wird beschrieben, wie Sie eine Cloud Storage-Ressource überprüfen und mithilfe der Cloud Data Loss Prevention API de-identifizierte Kopien der Daten erstellen.
Dadurch wird sichergestellt, dass die Dateien, die Sie in Ihren Geschäftsprozessen verwenden, keine sensiblen Daten wie personenidentifizierbare Informationen enthalten. Der Schutz sensibler Daten kann Dateien in einem Cloud Storage-Bucket auf sensible Daten prüfen und de-identifizierte Kopien dieser Dateien in einem separaten Bucket erstellen. Diese de-identifizierten Kopien können Sie dann in Ihren Geschäftsprozessen verwenden.
Weitere Informationen zu dieser Funktion finden Sie unter Sensible Daten in Cloud Storage de-identifizieren.
Hinweise
Auf dieser Seite wird Folgendes vorausgesetzt:
Sie haben die Abrechnung aktiviert.
Sie haben den Schutz sensibler Daten aktiviert.
Sie haben einen Cloud Storage-Bucket mit Daten, die Sie de-identifizieren möchten.
Sie wissen, wie Sie eine HTTP-Anfrage an die DLP API senden. Weitere Informationen finden Sie unter Vertraulichen Text mit der DLP API prüfen.
Mehr über die Einschränkungen und Punkte für diesen Vorgang erfahren
Für die Speicherprüfung ist der folgende OAuth-Bereich erforderlich: https://www.googleapis.com/auth/cloud-platform
. Weitere Informationen finden Sie unter Bei der DLP API authentifizieren.
Erforderliche IAM-Rollen
Wenn sich alle Ressourcen für diesen Vorgang im selben Projekt befinden, ist die Rolle des DLP API-Dienst-Agents (roles/dlp.serviceAgent
) auf dem Dienst-Agent ausreichend. Mit dieser Rolle können Sie Folgendes tun:
- Inspektionsjob erstellen
- Dateien im Eingabeverzeichnis lesen
- De-identifizierte Dateien in das Ausgabeverzeichnis schreiben
- Transformationsdetails in eine BigQuery-Tabelle schreiben
Zu den relevanten Ressourcen gehören der Inspektionsjob, De-Identifikationsvorlagen, Eingabe-Bucket, Ausgabe-Bucket und Tabelle mit Transformationsdetails.
Wenn Sie die Ressourcen in separaten Projekten haben müssen, muss der Dienst-Agent Ihres Projekts auch die folgenden Rollen haben:
- Die Rolle „Storage-Objekt-Betrachter“ (
roles/storage.objectViewer
) für den Eingabe-Bucket oder das Projekt, das ihn enthält. - Die Rolle „Storage Object Creator“ (
roles/storage.objectCreator
) für den Ausgabe-Bucket oder das Projekt, das ihn enthält. - Die Rolle „BigQuery-Datenbearbeiter“ (
roles/bigquery.dataEditor
) für die Tabelle mit den Transformationsdetails oder für das Projekt, das sie enthält.
Informationen zum Zuweisen einer Rolle zu Ihrem Dienst-Agent, bei dem es sich um ein von Google verwaltetes Dienstkonto ist, finden Sie unter Eine einzelne Rolle zuweisen. Sie können den Zugriff auch auf den folgenden Ebenen steuern:
API-Übersicht
Zum Erstellen de-identifizierter Kopien von in Cloud Storage gespeicherten Inhalten konfigurieren Sie einen Inspektionsjob, der gemäß den von Ihnen angegebenen Kriterien nach sensiblen Daten sucht. Anschließend geben Sie im Inspektionsjob De-Identifikationsanweisungen in Form einer Deidentify
-Aktion an.
Wenn Sie nur einen Teil der Dateien in Ihrem Bucket scannen möchten, können Sie die Dateien einschränken, die der Job scannt. Die unterstützten Optionen für Jobs mit De-Identifikation sind Dateifilterung nach Typ (FileType
) und regulärer Ausdruck (FileSet
).
Wenn Sie die Aktion Deidentify
aktivieren, erstellt der Schutz sensibler Daten standardmäßig de-identifizierte (transformierte) Kopien aller unterstützten Dateitypen, die im Scan enthalten sind. Sie können den Job jedoch so konfigurieren, dass nur ein Teil der unterstützten Dateitypen transformiert wird.
Optional: De-Identifikationsvorlagen erstellen
Wenn Sie steuern möchten, wie die Ergebnisse transformiert werden, erstellen Sie die folgenden Vorlagen. Diese Vorlagen enthalten Anweisungen zum Transformieren von Ergebnissen in strukturierte Dateien, unstrukturierte Dateien und Bilder.
De-Identifikationsvorlage: Ein Standard-
DeidentifyTemplate
, der für unstrukturierte Dateien wie Freitextdateien verwendet wird. DieserDeidentifyTemplate
-Typ darf keinRecordTransformations
-Objekt enthalten, was nur für strukturierte Inhalte unterstützt wird. Wenn diese Vorlage nicht vorhanden ist, verwendet der Schutz sensibler Daten die MethodeReplaceWithInfoTypeConfig
, um unstrukturierte Dateien zu transformieren.Strukturierte De-Identifikationsvorlage:
DeidentifyTemplate
, die für strukturierte Dateien wie CSV-Dateien verwendet wird. DiesesDeidentifyTemplate
kannRecordTransformations
enthalten. Wenn diese Vorlage nicht vorhanden ist, verwendet der Schutz sensibler Daten die von Ihnen erstellte Standard-De-Identifikationsvorlage. Wenn dies ebenfalls nicht vorhanden ist, verwendet der Schutz sensibler Daten die MethodeReplaceWithInfoTypeConfig
, um strukturierte Dateien zu transformieren.Vorlage zum Entfernen von Bildern:
DeidentifyTemplate
, die für Bilder verwendet wird. Diese Vorlage muss einImageTransformations
-Objekt enthalten. Wenn diese Vorlage nicht vorhanden ist, werden alle Ergebnisse in Bildern mit einer schwarzen Box entfernt.
Weitere Informationen zum Erstellen einer De-Identifikationsvorlage.
Inspektionsjob mit einer De-Identifikationsaktion erstellen
Das Objekt DlpJob
gibt Anweisungen dazu, was geprüft werden soll, welche Datentypen als vertraulich gekennzeichnet werden sollen und was mit den Ergebnissen geschehen soll.
Zum De-Identifizieren sensibler Daten in einem Cloud Storage-Verzeichnis muss Ihre DlpJob
mindestens Folgendes definieren:
- Ein
StorageConfig
-Objekt, das das zu prüfende Cloud Storage-Verzeichnis angibt. - Ein
InspectConfig
-Objekt, das die zu suchenden Datentypen enthält, sowie zusätzliche Inspektionsanweisungen, wie Sie die sensiblen Daten finden Eine
Deidentify
-Aktion, die Folgendes enthält:Ein
TransformationConfig
-Objekt, das alle von Ihnen erstellten Vorlagen für die De-Identifikation von Daten in strukturierten und unstrukturierten Dateien angibt. Sie können auch eine Konfiguration zum Entfernen sensibler Daten aus Bildern hinzufügen.Wenn Sie kein
TransformationConfig
-Objekt angeben, ersetzt der Schutz sensibler Daten sensible Daten im Text durch seinen infoType. Auf Bildern überdeckt sie sensible Daten mit einem schwarzen Kasten.Ein
TransformationDetailsStorageConfig
-Objekt, das eine BigQuery-Tabelle angibt, in der der Schutz sensibler Daten Details zu jeder Transformation speichern muss. Zu jeder Transformation gehören eine Beschreibung, ein Erfolgs- oder Fehlercode, Fehlerdetails, die Anzahl der transformierten Byte, der Speicherort des transformierten Inhalts und der Name des Inspektionsjobs, in dem der Schutz sensibler Daten die Umwandlung durchgeführt hat. In dieser Tabelle wird nicht der tatsächliche de-identifizierte Inhalt gespeichert.
Wenn Daten in eine BigQuery-Tabelle geschrieben werden, werden die Abrechnungs- und Kontingentnutzung auf das Projekt angewendet, das die Zieltabelle enthält.
Nachdem der kopierte Inhalt de-identifiziert wurde, wird der De-Identifikationsjob abgeschlossen. Der Job enthält eine Zusammenfassung darüber, wie oft die angegebenen Transformationen angewendet wurden. Diese können Sie mit der Methode projects.dlpJobs.get
für DlpJob
abrufen. Der zurückgegebene DlpJob
enthält sowohl ein DeidentifyDataSourceDetails
-Objekt als auch ein InspectDataSourceDetails
-Objekt. Diese Objekte enthalten sowohl die Ergebnisse einer Deidentify
-Aktion als auch die Ergebnisse des Inspektionsjobs.
Wenn Sie in die Datei DlpJob
ein TransformationDetailsStorageConfig
-Objekt aufgenommen haben, wird eine BigQuery-Tabelle mit Metadaten zu den Transformationsdetails erstellt. Für jede auftretende Transformation schreibt der Schutz sensibler Daten eine Zeile mit Metadaten in die Tabelle. Weitere Informationen zum Inhalt der Tabelle finden Sie in der Referenz zu Transformationsdetails.
Codebeispiele
Die folgenden Beispiele zeigen, wie Sie mit der DLP API de-identifizierte Kopien von Cloud Storage-Dateien erstellen.
HTTP-Methode und URL
POST https://dlp.googleapis.com/v2/projects/PROJECT_ID/dlpJobs
C#
Informationen zum Installieren und Verwenden der Clientbibliothek für den Schutz sensibler Daten finden Sie unter Clientbibliotheken für den Schutz sensibler Daten.
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich beim Schutz sensibler Daten zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Go
Informationen zum Installieren und Verwenden der Clientbibliothek für den Schutz sensibler Daten finden Sie unter Clientbibliotheken für den Schutz sensibler Daten.
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich beim Schutz sensibler Daten zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Informationen zum Installieren und Verwenden der Clientbibliothek für den Schutz sensibler Daten finden Sie unter Clientbibliotheken für den Schutz sensibler Daten.
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich beim Schutz sensibler Daten zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Informationen zum Installieren und Verwenden der Clientbibliothek für den Schutz sensibler Daten finden Sie unter Clientbibliotheken für den Schutz sensibler Daten.
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich beim Schutz sensibler Daten zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
PHP
Informationen zum Installieren und Verwenden der Clientbibliothek für den Schutz sensibler Daten finden Sie unter Clientbibliotheken für den Schutz sensibler Daten.
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich beim Schutz sensibler Daten zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Informationen zum Installieren und Verwenden der Clientbibliothek für den Schutz sensibler Daten finden Sie unter Clientbibliotheken für den Schutz sensibler Daten.
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich beim Schutz sensibler Daten zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
REST
JSON-Eingabe{
"inspect_job": {
"storage_config": {
"cloud_storage_options": {
"file_set": {
"url": "INPUT_DIRECTORY"
}
}
},
"inspect_config": {
"info_types": [
{
"name": "PERSON_NAME"
}
]
},
"actions": {
"deidentify": {
"cloud_storage_output": "OUTPUT_DIRECTORY",
"transformation_config": {
"deidentify_template": "DEIDENTIFY_TEMPLATE_NAME",
"structured_deidentify_template": "STRUCTURED_DEIDENTIFY_TEMPLATE_NAME",
"image_redact_template": "IMAGE_REDACTION_TEMPLATE_NAME"
},
"transformation_details_storage_config": {
"table": {
"project_id": "TRANSFORMATION_DETAILS_PROJECT_ID",
"dataset_id": "TRANSFORMATION_DETAILS_DATASET_ID",
"table_id": "TRANSFORMATION_DETAILS_TABLE_ID"
}
},
"fileTypesToTransform": ["IMAGE","CSV", "TEXT_FILE"]
}
}
}
}
Ersetzen Sie Folgendes:
PROJECT_ID
: die ID des Projekts, in dem Sie den Inspektionsjob speichern möchten.INPUT_DIRECTORY
: das Cloud Storage-Verzeichnis, das Sie prüfen möchten, z. B.gs://input-bucket/folder1/folder1a
Endet die URL mit einem abschließenden Schrägstrich, werden Unterverzeichnisse innerhalb vonINPUT_DIRECTORY
nicht gescannt.OUTPUT_DIRECTORY
: das Cloud Storage-Verzeichnis, in dem Sie die de-identifizierten Dateien speichern möchten. Dieses Verzeichnis darf sich nicht im selben Cloud Storage-Bucket wieINPUT_DIRECTORY
befinden.DEIDENTIFY_TEMPLATE_NAME
: der vollständige Ressourcenname der standardmäßigen De-Identifikationsvorlage – für unstrukturierte und strukturierte Dateien, wenn Sie eine erstellt haben. Dieser Wert muss das Formatprojects/projectName/(locations/locationId)/deidentifyTemplates/templateName
haben.STRUCTURED_DEIDENTIFY_TEMPLATE_NAME
: Der vollständige Ressourcenname der De-Identifikationsvorlage für strukturierte Dateien, falls Sie eine erstellt haben. Dieser Wert muss das Formatprojects/projectName/(locations/locationId)/deidentifyTemplates/templateName
haben.IMAGE_REDACTION_TEMPLATE_NAME
: Der vollständige Ressourcenname der Vorlage zum Entfernen von Bildern für Bilder, wenn Sie eine erstellt haben. Dieser Wert muss das Formatprojects/projectName/(locations/locationId)/deidentifyTemplates/templateName
haben.TRANSFORMATION_DETAILS_PROJECT_ID
: die ID des Projekts, in dem Sie die Transformationsdetails speichern möchten.TRANSFORMATION_DETAILS_DATASET_ID
: die ID des BigQuery-Datasets, in dem Sie die Transformationsdetails speichern möchten. Wenn Sie keine Tabellen-ID angeben, erstellt das System automatisch eine.TRANSFORMATION_DETAILS_TABLE_ID
: die ID der BigQuery-Tabelle, in der Sie die Transformationsdetails speichern möchten.
Beachten Sie die folgenden Objekte:
inspectJob
: Das Konfigurationsobjekt für den Job (DlpJob
). Dieses Objekt enthält die Konfiguration für die Prüfungs- und die De-Identifikationsphase.storageConfig
: Der Speicherort des zu prüfenden Inhalts (StorageConfig
). In diesem Beispiel wird ein Cloud Storage-BucketCloudStorageOptions
angegeben.inspectConfig
: Informationen zu den sensiblen Daten, die überprüft werden sollen (InspectConfig
). In diesem Beispiel wird nach Inhalten gesucht, die dem integrierten infoTypePERSON_NAME
entsprechen.actions
: Die Aktionen, die ausgeführt werden sollen, nachdem die Inspektion des Jobs abgeschlossen ist (Action
).deidentify
: Wenn Sie diese Aktion angeben, wird der Schutz sensibler Daten angewiesen, die übereinstimmenden sensiblen Daten gemäß der darin angegebenen Konfiguration (Deidentify
) zu de-identifizieren.cloud_storage_output
: Gibt die URL des Cloud Storage-Verzeichnisses an, das Sie prüfen möchten.transformation_config
: Gibt an, wie der Schutz sensibler Daten sensible Daten in strukturierten Dateien, unstrukturierten Dateien und Bildern de-identifizieren muss (TransformationConfig
).Wenn Sie kein
TransformationConfig
-Objekt angeben, ersetzt der Schutz sensibler Daten sensible Daten im Text durch seinen infoType. Auf Bildern überdeckt sie sensible Daten mit einem schwarzen Kasten.transformation_details_storage_config
: gibt an, dass der Schutz sensibler Daten Metadaten zu jeder Transformation speichern muss, die er für diesen Job ausführt. Außerdem werden der Speicherort und der Name der Tabelle angegeben, in der der Schutz sensibler Daten diese Metadaten speichern muss (TransformationDetailsStorageConfig
).fileTypesToTransform
: Beschränkt den De-Identifikationsvorgang auf die von Ihnen aufgelisteten Dateitypen. Wenn Sie dieses Feld nicht festlegen, werden alle im Inspektionsvorgang unterstützten Dateitypen auch in den De-Identifikationsvorgang einbezogen. In diesem Beispiel de-identifiziert der Schutz sensibler Daten nur Bild-, CSV- und Textdateien, auch wenn SieDlpJob
so konfiguriert haben, dass alle unterstützten Dateitypen geprüft werden.
Inspektionsjob über die REST API erstellen
Senden Sie eine projects.dlpJobs.create
-Anfrage, um den Inspektionsjob (DlpJob
) zu erstellen. Um die Anfrage mit cURL zu senden, speichern Sie das vorherige REST-Beispiel als JSON-Datei und führen Sie den folgenden Befehl aus:
curl -s \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "X-Goog-User-Project: PROJECT_ID" \
https://dlp.googleapis.com/v2/projects/PROJECT_ID/dlpJobs \
-d @PATH_TO_JSON_FILE
Ersetzen Sie Folgendes:
PROJECT_ID
: die ID des Projekts, in dem SieDlpJob
gespeichert haben.PATH_TO_JSON_FILE
: der Pfad zur JSON-Datei, die den Anfragetext enthält.
Der Schutz sensibler Daten gibt die ID des neu erstellten DlpJob
, seinen Status und einen Snapshot der von Ihnen festgelegten Inspektionskonfiguration zurück.
{ "name": "projects/PROJECT_ID/dlpJobs/JOB_ID", "type": "INSPECT_JOB", "state": "PENDING", ... }
Ergebnisse des Inspektionsjobs abrufen
Senden Sie eine projects.dlpJobs.get
-Anfrage, um die Ergebnisse von DlpJob
abzurufen:
curl -s \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "X-Goog-User-Project: PROJECT_ID" \
https://dlp.googleapis.com/v2/projects/PROJECT_ID/dlpJobs/JOB_ID
Ersetzen Sie Folgendes:
PROJECT_ID
: die ID des Projekts, in dem SieDlpJob
gespeichert haben.JOB_ID
: die ID des Jobs, die beim Erstellen vonDlpJob
zurückgegeben wurde.
Wenn der Vorgang abgeschlossen ist, erhalten Sie eine Antwort ähnlich der folgenden:
{ "name": "projects/PROJECT_ID/dlpJobs/JOB_ID", "type": "INSPECT_JOB", "state": "DONE", "inspectDetails": { "requestedOptions": { "snapshotInspectTemplate": {}, "jobConfig": { "storageConfig": { "cloudStorageOptions": { "fileSet": { "url": "INPUT_DIRECTORY" } } }, "inspectConfig": { "infoTypes": [ { "name": "PERSON_NAME" } ], "limits": {} }, "actions": [ { "deidentify": { "transformationDetailsStorageConfig": { "table": { "projectId": "TRANSFORMATION_DETAILS_PROJECT_ID", "datasetId": "TRANSFORMATION_DETAILS_DATASET_ID", "tableId": "TRANSFORMATION_DETAILS_TABLE_ID" } }, "transformationConfig": { "deidentifyTemplate": "DEIDENTIFY_TEMPLATE_NAME", "structuredDeidentifyTemplate": "STRUCTURED_DEIDENTIFY_TEMPLATE_NAME", "imageRedactTemplate": "IMAGE_REDACTION_TEMPLATE_NAME" }, "fileTypesToTransform": [ "IMAGE", "CSV", "TEXT_FILE" ], "cloudStorageOutput": "OUTPUT_DIRECTORY" } } ] } }, "result": { "processedBytes": "25242", "totalEstimatedBytes": "25242", "infoTypeStats": [ { "infoType": { "name": "PERSON_NAME" }, "count": "114" } ] } }, "createTime": "2022-06-09T23:00:53.380Z", "startTime": "2022-06-09T23:01:27.986383Z", "endTime": "2022-06-09T23:02:00.443536Z", "actionDetails": [ { "deidentifyDetails": { "requestedOptions": { "snapshotDeidentifyTemplate": { "name": "DEIDENTIFY_TEMPLATE_NAME", "createTime": "2022-06-09T17:46:34.208923Z", "updateTime": "2022-06-09T17:46:34.208923Z", "deidentifyConfig": { "infoTypeTransformations": { "transformations": [ { "primitiveTransformation": { "characterMaskConfig": { "maskingCharacter": "*", "numberToMask": 25 } } } ] } }, "locationId": "global" }, "snapshotStructuredDeidentifyTemplate": { "name": "STRUCTURED_DEIDENTIFY_TEMPLATE_NAME", "createTime": "2022-06-09T20:51:12.411456Z", "updateTime": "2022-06-09T21:07:53.633149Z", "deidentifyConfig": { "recordTransformations": { "fieldTransformations": [ { "fields": [ { "name": "Name" } ], "primitiveTransformation": { "replaceConfig": { "newValue": { "stringValue": "[redacted]" } } } } ] } }, "locationId": "global" }, "snapshotImageRedactTemplate": { "name": "IMAGE_REDACTION_TEMPLATE_NAME", "createTime": "2022-06-09T20:52:25.453564Z", "updateTime": "2022-06-09T20:52:25.453564Z", "deidentifyConfig": {}, "locationId": "global" } }, "deidentifyStats": { "transformedBytes": "3972", "transformationCount": "110" } } } ], "locationId": "global" }
Nächste Schritte
- Weitere Informationen zum De-Identifizieren von Daten im Speicher
- Daten im Speicher mit der Google Cloud Console de-identifizieren
- Codelab zum Erstellen einer de-identifizierten Datenkopie in Cloud Storage
- Weitere Informationen zu De-Identifikationstransformationen
- Speicher auf sensible Daten prüfen