Auf dieser Seite wird beschrieben, wie Sie eine Cloud Storage-Ressource prüfen und mit der Cloud Data Loss Prevention API de-identifizierte Kopien der Daten erstellen.
So können Sie dafür sorgen, dass die Dateien, die Sie in Ihren Geschäftsprozessen verwenden, keine sensiblen Daten wie personenidentifizierbare Informationen enthalten. Mit dem Schutz sensibler Daten können Dateien in einem Cloud Storage-Bucket auf sensible Daten geprüft und de-identifizierte Kopien dieser Dateien in einem separaten Bucket erstellt werden. Sie können die de-identifizierten Kopien dann in Ihren Geschäftsprozessen verwenden.
Weitere Informationen zu dieser Funktion finden Sie unter Sensible Cloud Storage-Daten 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.
Weitere Informationen zu den Einschränkungen und zu beachtenden Punkten
Die Speicherprüfung erfordert den folgenden OAuth-Bereich: 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, reicht die Rolle „DLP API-Dienst-Agent“ (roles/dlp.serviceAgent
) für den Dienst-Agent aus. Mit dieser Rolle haben Sie folgende Möglichkeiten:
- Inspektionsjob erstellen
- Dateien im Eingabeverzeichnis lesen
- Die de-identifizierten Dateien in das Ausgabeverzeichnis schreiben
- Details zur Transformation in eine BigQuery-Tabelle schreiben
Zu den relevanten Ressourcen gehören der Inspektionsjob, De-Identifikationsvorlagen, Eingabe- und Ausgabe-Buckets sowie die Tabelle mit Transformationsdetails.
Wenn die Ressourcen in separaten Projekten vorhanden sein müssen, muss der Dienstagent 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.
Eine Anleitung zum Zuweisen einer Rolle für den Kundenservicemitarbeiter finden Sie unter Einzelne Rolle zuweisen. Sie können den Zugriff auch auf den folgenden Ebenen steuern:
API-Übersicht
Wenn Sie de-identifizierte Kopien von in Cloud Storage gespeicherten Inhalten erstellen möchten, konfigurieren Sie einen Inspektionsjob, der anhand der von Ihnen angegebenen Kriterien nach sensiblen Daten sucht. Anschließend geben Sie im Inspektionsjob Anweisungen zur De-Identifikation 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 vom Job gescannt werden. Für Jobs mit De-Identifikation werden die Dateifilterung nach Typ (FileType
) und nach regulärem Ausdruck (FileSet
) unterstützt.
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 umgewandelt wird.
Optional: De-Identifikationsvorlagen erstellen
Wenn Sie festlegen möchten, wie die Ergebnisse transformiert werden, erstellen Sie die folgenden Vorlagen. Diese Vorlagen enthalten eine Anleitung zum Umwandeln von Ergebnissen in strukturierten Dateien, unstrukturierten Dateien und Bildern.
De-Identifikationsvorlage:Eine Standard-
DeidentifyTemplate
, die für unstrukturierte Dateien wie Textdateien im Freiformat verwendet werden soll. DieserDeidentifyTemplate
-Typ darf keinRecordTransformations
-Objekt enthalten, da dieses 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.Vorlage für die De-Identifikation strukturierter Daten:Eine
DeidentifyTemplate
, die für strukturierte Dateien wie CSV-Dateien verwendet wird. DieseDeidentifyTemplate
kannRecordTransformations
enthalten. Wenn diese Vorlage nicht vorhanden ist, verwendet Sensitive Data Protection die von Ihnen erstellte Standard-De-Identifikationsvorlage. Ist auch das nicht der Fall, verwendet der Schutz sensibler Daten dieReplaceWithInfoTypeConfig
-Methode, um strukturierte Dateien zu transformieren.Vorlage zur Bildentfernung:Eine
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 einem schwarzen Feld entfernt.
Weitere Informationen zum Erstellen einer De-Identifikationsvorlage
Inspektionsjob mit De-Identifikationsaktion erstellen
Das DlpJob
-Objekt enthält eine Anleitung dazu, was geprüft werden soll, welche Datentypen als sensibel gekennzeichnet werden sollen und was mit den Ergebnissen geschehen soll.
Wenn Sie sensible Daten in einem Cloud Storage-Verzeichnis de-identifizieren möchten, muss Ihre DlpJob
mindestens Folgendes definieren:
- Ein
StorageConfig
-Objekt, das das zu prüfende Cloud Storage-Verzeichnis angibt. - Ein
InspectConfig
-Objekt mit den zu suchenden Datentypen und zusätzlichen Prüfanweisungen zum Auffinden sensibler Daten. Eine
Deidentify
-Aktion mit folgenden Elementen:Ein
TransformationConfig
-Objekt, in dem alle von Ihnen erstellten Vorlagen für die De-Identifikation von Daten in strukturierten und unstrukturierten Dateien angegeben sind. Sie können auch eine Konfiguration zum Entfernen sensibler Daten aus Bildern angeben.Wenn Sie kein
TransformationConfig
-Objekt angeben, werden sensible Daten im Text durch den Schutz sensibler Daten mit ihrem infoType ersetzt. Auf Bildern werden sensible Daten mit einem schwarzen Feld abgedeckt.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 Bytes, der Speicherort der transformierten Inhalte und der Name des Prüfjobs, in dem die Transformation durch den Schutz sensibler Daten durchgeführt wurde. In dieser Tabelle werden nicht die tatsächlichen de-identifizierten Inhalte gespeichert.
Wenn Daten in eine BigQuery-Tabelle geschrieben werden, werden die Abrechnung und Kontingentnutzung auf das Projekt angewendet, das die Zieltabelle enthält.
Nachdem die kopierten Inhalte de-identifiziert wurden, ist der De-Identifikationsauftrag abgeschlossen. Der Job enthält eine Zusammenfassung, wie oft die angegebenen Transformationen angewendet wurden. Sie können sie mit der Methode projects.dlpJobs.get
auf DlpJob
abrufen. Das zurückgegebene DlpJob
enthält sowohl ein DeidentifyDataSourceDetails
- als auch ein InspectDataSourceDetails
-Objekt. Diese Objekte enthalten jeweils die Ergebnisse einer Deidentify
-Aktion und des Inspektionsjobs.
Wenn Sie ein TransformationDetailsStorageConfig
-Objekt in Ihre DlpJob
aufgenommen haben, wird eine BigQuery-Tabelle mit Metadaten zu den Transformationsdetails erstellt. Für jede 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
In den folgenden Beispielen wird gezeigt, 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 die Standardanmeldedaten für Anwendungen ein, um sich bei Sensitive Data Protection 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 die Standardanmeldedaten für Anwendungen ein, um sich bei Sensitive Data Protection 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 die Standardanmeldedaten für Anwendungen ein, um sich bei Sensitive Data Protection 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 die Standardanmeldedaten für Anwendungen ein, um sich bei Sensitive Data Protection 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 die Standardanmeldedaten für Anwendungen ein, um sich bei Sensitive Data Protection 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 die Standardanmeldedaten für Anwendungen ein, um sich bei Sensitive Data Protection 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 Prüfauftrag speichern möchten.INPUT_DIRECTORY
: Das Cloud Storage-Verzeichnis, das Sie prüfen möchten, z. B.gs://input-bucket/folder1/folder1a
. Wenn die URL mit einem Schrägstrich endet, werden alle Unterverzeichnisse inINPUT_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 Standard-Entfernungsvorlage für de-identifizierte Daten (für unstrukturierte und strukturierte Dateien), falls 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 für die Bildentfernung für Bilder, falls 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, wird eine automatisch erstellt.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 sowohl für die Inspektions- als auch für die De-Identifikationsphase.storageConfig
: Der Speicherort der zu prüfenden Inhalte (StorageConfig
). In diesem Beispiel wird ein Cloud Storage-BucketCloudStorageOptions
angegeben.inspectConfig
: Informationen zu den sensiblen Daten, nach denen Sie suchen möchten (InspectConfig
). In diesem Beispiel wird nach Inhalten gesucht, die dem vordefinierten infoTypePERSON_NAME
entsprechen.actions
: Aktionen, die nach Abschluss des Prüfteils des Jobs ausgeführt werden sollen (Action
).deidentify
: Wenn Sie diese Aktion angeben, werden die übereinstimmenden sensiblen Daten gemäß der darin angegebenen Konfiguration (Deidentify
) de-identifiziert.cloud_storage_output
: Gibt die URL des Cloud Storage-Verzeichnisses an, das Sie prüfen möchten.transformation_config
: Gibt an, wie sensible Daten in strukturierten Dateien, unstrukturierten Dateien und Bildern (TransformationConfig
) deidentifiziert werden müssen.Wenn Sie kein
TransformationConfig
-Objekt angeben, werden sensible Daten im Text durch den Schutz sensibler Daten mit ihrem infoType ersetzt. Auf Bildern werden sensible Daten mit einem schwarzen Feld abgedeckt.transformation_details_storage_config
: Gibt an, dass der Sensitive Data Protection-Filter Metadaten zu jeder Transformation speichern muss, die für diesen Job ausgeführt wird. Außerdem werden der Speicherort und der Name der Tabelle angegeben, in der Sensitive Data Protection diese Metadaten speichern muss (TransformationDetailsStorageConfig
).fileTypesToTransform
: Der Vorgang der De-Identifikation wird auf die von Ihnen angegebenen Dateitypen beschränkt. Wenn Sie dieses Feld nicht festlegen, werden alle unterstützten Dateitypen, die in den Prüfvorgang einbezogen sind, auch in den Vorgang zur De-Identifikation einbezogen. In diesem Beispiel werden nur Bild-, CSV- und Textdateien de-identifiziert, auch wenn SieDlpJob
so konfiguriert haben, dass alle unterstützten Dateitypen geprüft werden.
Inspektionsjob über die REST API erstellen
Um den Prüfjob (DlpJob
) zu erstellen, senden Sie eine projects.dlpJobs.create
-Anfrage. Wenn Sie die Anfrage mit cURL senden möchten, 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 Sie dieDlpJob
gespeichert haben.PATH_TO_JSON_FILE
: der Pfad zur JSON-Datei, die den Anfragetext enthält.
Der Schutz sensibler Daten gibt die Kennung der neu erstellten DlpJob
, ihren Status und einen Snapshot der von Ihnen festgelegten Prüfkonfiguration zurück.
{ "name": "projects/PROJECT_ID/dlpJobs/JOB_ID", "type": "INSPECT_JOB", "state": "PENDING", ... }
Ergebnisse des Inspektionsjobs abrufen
Wenn Sie die Ergebnisse der DlpJob
abrufen möchten, senden Sie eine projects.dlpJobs.get
-Anfrage:
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 Sie dieDlpJob
gespeichert haben.JOB_ID
: Die ID des Jobs, die beim Erstellen derDlpJob
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 Entfernen von Personenidentitäten aus gespeicherten Daten
- Informationen zum Entfernen von Personenidentitäten aus gespeicherten Daten mit der Google Cloud Console
- Sehen Sie sich das Codelab zum Erstellen einer de-identifizierten Kopie von Daten in Cloud Storage an.
- Weitere Informationen zu Transformationen zur De-Identifikation
- Weitere Informationen zum Prüfen des Speichers auf sensible Daten