Auf dieser Seite wird beschrieben, wie Sie eine Cloud Storage-Ressource prüfen und anonymisierte Kopien der Daten mit der Cloud Data Loss Prevention API erstellen.
So wird sichergestellt, dass die Dateien, die Sie in Ihren Geschäftsprozessen verwenden, keine vertraulichen Daten wie personenidentifizierbare Informationen enthalten. Mit dem Schutz sensibler Daten lassen sich Dateien in einem Cloud Storage-Bucket auf sensible Daten prüfen und de-identifizierte Kopien dieser Dateien in einem separaten Bucket erstellen. Sie können die anonymisierten Kopien dann in Ihren Geschäftsprozessen verwenden.
Weitere Informationen zu diesem Feature 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.
Einschränkungen und wichtige Punkte für diesen Vorgang
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, ist die Rolle „DLP API-Dienst-Agent“ (roles/dlp.serviceAgent
) für den Dienst-Agent ausreichend. Mit dieser Rolle können Sie Folgendes tun:
- Inspektionsjob erstellen
- Dateien im Eingabeverzeichnis lesen
- Anonymisierte 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 Ausgabebucket sowie die Tabelle mit Transformationsdetails.
Wenn sich die Ressourcen in separaten Projekten befinden 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-Objekt-Ersteller“ (
roles/storage.objectCreator
) für den Ausgabebucket oder das Projekt, das ihn enthält. - Die Rolle „BigQuery Data Editor“ (
roles/bigquery.dataEditor
) für die Tabelle mit den Transformationsdetails oder das Projekt, das sie enthält.
Informationen zum Zuweisen einer Rolle für den Dienst-Agent 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 gemäß den von Ihnen angegebenen Kriterien nach sensiblen Daten sucht. Anschließend geben Sie im Inspektionsjob Anweisungen zur Anonymisierung 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. Die unterstützten Optionen für Jobs mit Anonymisierung sind das Filtern von Dateien nach Typ (FileType
) und reguläre Ausdrücke (FileSet
).
Wenn Sie die Aktion Deidentify
aktivieren, erstellt Sensitive Data Protection 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 eine Teilmenge der unterstützten Dateitypen transformiert wird.
Optional: De-Identifikationsvorlagen erstellen
Wenn Sie festlegen möchten, wie die Ergebnisse transformiert werden, erstellen Sie die folgenden Vorlagen. Diese Vorlagen enthalten Anleitungen zum Transformieren von Ergebnissen in strukturierten Dateien, unstrukturierten Dateien und Bildern.
De-Identifikationsvorlage:Eine Standard-
DeidentifyTemplate
, die für unstrukturierte Dateien wie Freiform-Textdateien verwendet werden soll. Dieser Typ vonDeidentifyTemplate
kann keinRecordTransformations
-Objekt enthalten, das nur für strukturierte Inhalte unterstützt wird. Wenn diese Vorlage nicht vorhanden ist, verwendet Sensitive Data Protection die MethodeReplaceWithInfoTypeConfig
, um unstrukturierte Dateien zu transformieren.Vorlage für die strukturierte Anonymisierung:Eine
DeidentifyTemplate
, die für strukturierte Dateien wie CSV-Dateien verwendet werden kann.DeidentifyTemplate
kannRecordTransformations
enthalten. Wenn diese Vorlage nicht vorhanden ist, verwendet Sensitive Data Protection die von Ihnen erstellte Standardvorlage für die De-Identifizierung. Wenn auch diese nicht vorhanden ist, verwendet Sensitive Data Protection dieReplaceWithInfoTypeConfig
-Methode, um strukturierte Dateien zu transformieren.Vorlage zur Bildentfernung:eine
DeidentifyTemplate
, die für Bilder verwendet werden soll. Diese Vorlage muss einImageTransformations
-Objekt enthalten. Wenn diese Vorlage nicht vorhanden ist, werden alle Ergebnisse in Bildern durch den Schutz sensibler Daten mit einem schwarzen Rechteck entfernt.
Weitere Informationen zum Erstellen einer Anonymisierungsvorlage
Inspektionsjob mit De-Identifikationsvorgang erstellen
Das DlpJob
-Objekt enthält Anweisungen dazu, was geprüft werden soll, welche Arten von Daten 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 in Ihrer DlpJob
mindestens Folgendes definiert sein:
- Ein
StorageConfig
-Objekt, das das zu prüfende Cloud Storage-Verzeichnis angibt. - Ein
InspectConfig
-Objekt, das die Datentypen enthält, nach denen gesucht werden soll, sowie zusätzliche Prüfanweisungen zum Auffinden der sensiblen Daten. Eine
Deidentify
-Aktion mit folgenden Elementen:Ein
TransformationConfig
-Objekt, in dem alle Vorlagen angegeben sind, die Sie zum De-Identifizieren von Daten in strukturierten und unstrukturierten Dateien erstellt haben. Sie können auch eine Konfiguration zum Entfernen sensibler Daten aus Bildern einfügen.Wenn Sie kein
TransformationConfig
-Objekt einfügen, ersetzt der Schutz sensibler Daten sensible Daten im Text durch den entsprechenden infoType. Auf Bildern werden sensible Daten mit einem schwarzen Rechteck verdeckt.Ein
TransformationDetailsStorageConfig
-Objekt, das eine BigQuery-Tabelle angibt, in der der Schutz sensibler Daten Details zu jeder Transformation speichern muss. Für jede Transformation sind Details wie eine Beschreibung, ein Erfolgs- oder Fehlercode, alle Fehlerdetails, die Anzahl der transformierten Byte, der Speicherort der transformierten Inhalte und der Name des Prüfjobs enthalten, in dem Sensitive Data Protection die Transformation vorgenommen hat. In dieser Tabelle werden nicht die tatsächlichen anonymisierten Inhalte gespeichert.
Wenn Daten in eine BigQuery-Tabelle geschrieben werden, werden die Abrechnung und Kontingentnutzung dem Projekt zugeschrieben, das die Zieltabelle enthält.
Nachdem die kopierten Inhalte de-identifiziert wurden, wird der De-Identifikationsjob abgeschlossen. Der Job enthält eine Zusammenfassung, wie oft die angegebenen Transformationen angewendet wurden. Diese können Sie mit der Methode projects.dlpJobs.get
für DlpJob
abrufen. Das zurückgegebene DlpJob
enthält sowohl ein DeidentifyDataSourceDetails
- als auch ein InspectDataSourceDetails
-Objekt. Diese Objekte enthalten sowohl die Ergebnisse einer Deidentify
-Aktion als auch den Inspektionsjob.
Wenn Sie ein TransformationDetailsStorageConfig
-Objekt in Ihre DlpJob
aufgenommen haben, wird eine BigQuery-Tabelle mit Metadaten zu den Transformationsdetails erstellt. Für jede Transformation, die erfolgt, 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 anonymisierte 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 Sensitive Data Protection finden Sie unter Sensitive Data Protection-Clientbibliotheken.
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 Sensitive Data Protection finden Sie unter Sensitive Data Protection-Clientbibliotheken.
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 Sensitive Data Protection finden Sie unter Sensitive Data Protection-Clientbibliotheken.
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 Sensitive Data Protection finden Sie unter Sensitive Data Protection-Clientbibliotheken.
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 Sensitive Data Protection finden Sie unter Sensitive Data Protection-Clientbibliotheken.
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 Sensitive Data Protection finden Sie unter Sensitive Data Protection-Clientbibliotheken.
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üfjob speichern möchten.INPUT_DIRECTORY
: Das Cloud Storage-Verzeichnis, das Sie untersuchen möchten, z. B.gs://input-bucket/folder1/folder1a
. Wenn die URL mit einem Schrägstrich endet, werden keine Unterverzeichnisse inINPUT_DIRECTORY
gescannt.OUTPUT_DIRECTORY
: Das Cloud Storage-Verzeichnis, in dem Sie die anonymisierten 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 Standardvorlage zum Anonymisieren für unstrukturierte und strukturierte Dateien, sofern Sie eine erstellt haben. Dieser Wert muss das Formatprojects/projectName/(locations/locationId)/deidentifyTemplates/templateName
haben.STRUCTURED_DEIDENTIFY_TEMPLATE_NAME
: Der vollständige Ressourcenname der Vorlage zum Anonymisieren strukturierter 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 das Unkenntlichmachen von Bildern, 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 automatisch eine 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 für die Inspektions- 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 vertraulichen Daten, nach denen Sie suchen möchten (InspectConfig
). In diesem Beispiel wird nach Inhalten gesucht, die dem integrierten infoTypePERSON_NAME
entsprechen.actions
: Die Aktionen, die nach Abschluss des Überprüfungsteils des Jobs (Action
) ausgeführt werden sollen.deidentify
: Wenn Sie diese Aktion angeben, werden die übereinstimmenden sensiblen Daten gemäß der in (Deidentify
) angegebenen Konfiguration anonymisiert.cloud_storage_output
: Gibt die URL des Cloud Storage-Verzeichnisses an, das Sie untersuchen möchten.transformation_config
: Gibt an, wie Sensitive Data Protection sensible Daten in strukturierten Dateien, unstrukturierten Dateien und Bildern (TransformationConfig
) anonymisieren muss.Wenn Sie kein
TransformationConfig
-Objekt einfügen, ersetzt der Schutz sensibler Daten sensible Daten im Text durch den entsprechenden infoType. Auf Bildern werden sensible Daten mit einem schwarzen Rechteck verdeckt.transformation_details_storage_config
: Gibt an, dass Sensitive Data Protection Metadaten zu jeder Transformation speichern muss, die für diesen Job ausgeführt wird. Außerdem wird der Speicherort und der Name der Tabelle angegeben, in der Sensitive Data Protection diese Metadaten speichern muss (TransformationDetailsStorageConfig
).fileTypesToTransform
: Beschränkt den Anonymisierungsvorgang auf die von Ihnen aufgeführten Dateitypen. Wenn Sie dieses Feld nicht festlegen, werden alle unterstützten Dateitypen, die im Prüfvorgang enthalten sind, auch im Anonymisierungsvorgang berücksichtigt. In diesem Beispiel werden mit Sensitive Data Protection nur Bild-, CSV- und Textdateien anonymisiert, 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 Prüfjob (DlpJob
) zu erstellen. 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 des neu erstellten DlpJob
, seinen 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 von 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 zurückgegeben wurde, als SieDlpJob
erstellt haben.
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 Prozess der De-Identifizierung von Daten im Speicher
- Daten im Speicher mit der Google Cloud -Konsole de-identifizieren
- Arbeiten Sie das Codelab zum Erstellen einer de-identifizierten Kopie von Daten in Cloud Storage durch.
- Weitere Informationen zu Transformationen zur De-Identifikation
- Speicher auf sensible Daten prüfen