JSON-Schema für sensible Datenspeicherorte - Amazon Macie

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

JSON-Schema für sensible Datenspeicherorte

Amazon Macie verwendet standardisierte JSON-Strukturen, um Informationen darüber zu speichern, wo sensible Daten in Amazon Simple Storage Service (Amazon S3) -Objekten gefunden werden. Die Strukturen werden für sensible Datenfunde und vertrauliche Datenerfassungsergebnisse verwendet. Bei Ergebnissen sensibler Daten sind die Strukturen Teil des JSON-Schemas für Ergebnisse. Um das vollständige JSON-Schema auf Ergebnisse zu überprüfen, siehe Ergebnisse in der Amazon Macie API-Referenz. Weitere Informationen zu den Ergebnissen der Erkennung vertraulicher Daten finden Sie unterSpeicherung und Beibehaltung der Erkennungsergebnisse von vertraulichen Daten.

Überblick über das JSON-Schema für Speicherorte sensibler Daten

Um den Speicherort vertraulicher Daten zu melden, die Amazon Macie in einem betroffenen S3-Objekt gefunden hat, umfasst das JSON-Schema für vertrauliche Datenfunde und Ergebnisse der Erkennung vertraulicher Daten ein customDataIdentifiers Objekt und ein sensitiveData Objekt. Das customDataIdentifiers Objekt enthält Details zu Daten, die Macie mithilfe benutzerdefinierter Datenkennungen erkannt hat. Das sensitiveData Objekt enthält Details zu Daten, die Macie mithilfe verwalteter Datenkennungen erkannt hat.

Jedes customDataIdentifiers sensitiveData Objekt enthält ein oder mehrere detections Arrays:

  • In einem customDataIdentifiers Objekt gibt das detections Array an, welche benutzerdefinierten Datenkennungen die Daten erkannt und das Ergebnis generiert haben. Für jeden benutzerdefinierten Datenbezeichner gibt das Array auch die Anzahl der Vorkommen der Daten an, die der Identifier erkannt hat. Es kann auch den Speicherort der Daten angeben, die der Identifier erkannt hat.

  • In einem sensitiveData Objekt gibt ein detections Array die Arten vertraulicher Daten an, die Macie mithilfe verwalteter Datenkennungen erkannt hat. Für jeden Typ sensibler Daten gibt das Array auch die Anzahl der Vorkommen der Daten an und kann den Speicherort der Daten angeben.

Bei der Suche nach vertraulichen Daten kann ein detections Array 1—15 occurrences Objekte enthalten. Jedes occurrences Objekt gibt an, wo Macie einzelne Vorkommen eines bestimmten Typs sensibler Daten entdeckt hat.

Das folgende detections Array gibt beispielsweise den Speicherort von drei Vorkommen vertraulicher Daten (US-Sozialversicherungsnummern) an, die Macie in einer CSV-Datei gefunden hat.

"sensitiveData": [ { "category": "PERSONAL_INFORMATION", "detections": [ { "count": 30, "occurrences": { "cells": [ { "cellReference": null, "column": 1, "columnName": "SSN", "row": 2 }, { "cellReference": null, "column": 1, "columnName": "SSN", "row": 3 }, { "cellReference": null, "column": 1, "columnName": "SSN", "row": 4 } ] }, "type": "USA_SOCIAL_SECURITY_NUMBER" }

Die Position und Anzahl der occurrences Objekte in einem detections Array hängt von den Kategorien, Typen und der Anzahl der Vorkommen vertraulicher Daten ab, die Macie während eines automatisierten Analysezyklus zur Erkennung vertraulicher Daten oder einer Ausführung eines Auftrags zur Erkennung vertraulicher Daten erkennt. Für jeden Analysezyklus oder Auftragsdurchlauf verwendet Macie einen Algorithmus zur Tiefensuche, um die resultierenden Ergebnisse mit Positionsdaten für 1—15 Vorkommen vertraulicher Daten zu füllen, die Macie in S3-Objekten erkennt. Diese Vorkommnisse geben Aufschluss über die Kategorien und Typen vertraulicher Daten, die ein betroffener S3-Bucket und ein betroffenes S3-Objekt enthalten könnten.

Ein occurrences Objekt kann je nach Dateityp oder Speicherformat eines betroffenen S3-Objekts die folgenden Strukturen enthalten:

  • cellsarray — Dieses Array gilt für Microsoft Excel-Arbeitsmappen, CSV-Dateien und TSV-Dateien. Ein Objekt in diesem Array gibt eine Zelle oder ein Feld an, in dem Macie ein Vorkommen vertraulicher Daten erkannt hat.

  • lineRangesarray — Dieses Array gilt für E-Mail-Nachrichtendateien (EML) und andere nichtbinäre Textdateien als CSV-, JSON-, JSON-Zeilen- und TSV-Dateien, z. B. HTML-, TXT- und XML-Dateien. Ein Objekt in diesem Array gibt eine Zeile oder einen einschließenden Zeilenbereich an, in dem Macie ein Vorkommen vertraulicher Daten erkannt hat, sowie die Position der Daten auf der oder den angegebenen Zeilen.

    In bestimmten Fällen gibt ein Objekt in einem lineRanges Array den Ort der Erkennung vertraulicher Daten in einem Dateityp oder Speicherformat an, das von einem anderen Array-Typ unterstützt wird. Bei diesen Fällen handelt es sich um: eine Entdeckung in einem unstrukturierten Abschnitt einer ansonsten strukturierten Datei, z. B. ein Kommentar in einer Datei, eine Entdeckung in einer falsch formatierten Datei, die Macie als Klartext analysiert, und eine CSV- oder TSV-Datei mit einem oder mehreren Spaltennamen, in denen Macie vertrauliche Daten entdeckt hat.

  • offsetRangesarray — Dieses Array ist für die zukünftige Verwendung reserviert. Wenn dieses Array vorhanden ist, ist der Wert dafür Null.

  • pagesarray — Dieses Array gilt für Dateien im Adobe Portable Document Format (PDF). Ein Objekt in diesem Array gibt eine Seite an, auf der Macie ein Vorkommen vertraulicher Daten festgestellt hat.

  • recordsarray — Dieses Array gilt für Apache Avro-Objektcontainer, Apache Parquet-Dateien, JSON-Dateien und JSON Lines-Dateien. Für Avro-Objektcontainer und Parquet-Dateien gibt ein Objekt in diesem Array einen Datensatzindex und den Pfad zu einem Feld in einem Datensatz an, in dem Macie ein Vorkommen vertraulicher Daten erkannt hat. Für JSON- und JSON Lines-Dateien gibt ein Objekt in diesem Array den Pfad zu einem Feld oder Array an, in dem Macie ein Vorkommen vertraulicher Daten erkannt hat. Für JSON Lines-Dateien gibt es auch den Index der Zeile an, die die Daten enthält.

Der Inhalt dieser Arrays variiert je nach Dateityp oder Speicherformat des betroffenen S3-Objekts und seinem Inhalt.

JSON-Schemadetails und Beispiele für Speicherorte sensibler Daten

Amazon Macie passt den Inhalt der verwendeten JSON-Strukturen an, um anzugeben, wo sensible Daten in bestimmten Dateien und Inhalten erkannt wurden. In den folgenden Themen werden diese Strukturen erläutert und Beispiele dafür bereitgestellt.

Eine vollständige Liste der JSON-Strukturen, die in eine Suche nach vertraulichen Daten aufgenommen werden können, finden Sie unter Ergebnisse in der Amazon Macie API-Referenz.

Zellenanordnung

Gilt für: Microsoft Excel-Arbeitsmappen, CSV-Dateien und TSV-Dateien

In einem cells Array gibt ein Cell Objekt eine Zelle oder ein Feld an, in dem Macie ein Vorkommen vertraulicher Daten erkannt hat. In der folgenden Tabelle wird der Zweck jedes Felds in einem Cell Objekt beschrieben.

Feld Typ Beschreibung
cellReference Zeichenfolge Die Position der Zelle als absolute Zellreferenz, die das Vorkommen enthält. Dieses Feld gilt nur für Excel-Arbeitsmappen. Dieser Wert ist Null für CSV- und TSV-Dateien.
column Ganzzahl Die Spaltennummer der Spalte, die das Vorkommen enthält. Bei einer Excel-Arbeitsmappe entspricht dieser Wert den alphabetischen Zeichen für einen Spaltenbezeichner, z. B. für Spalte A, 1 2 für Spalte B usw.
columnName Zeichenfolge Der Name der Spalte, die das Vorkommen enthält, falls verfügbar.
row Ganzzahl Die Zeilennummer der Zeile, die das Vorkommen enthält.

Das folgende Beispiel zeigt die Struktur eines Cell Objekts, das den Ort eines Vorkommens vertraulicher Daten angibt, die Macie in einer CSV-Datei erkannt hat.

"cells": [ { "cellReference": null, "column": 3, "columnName": "SSN", "row": 5 } ]

Im vorherigen Beispiel deutet das Ergebnis darauf hin, dass Macie vertrauliche Daten in dem Feld in der fünften Zeile der dritten Spalte (mit dem Namen SSN) der Datei erkannt hat.

Das folgende Beispiel zeigt die Struktur eines Cell Objekts, das den Ort eines Vorkommens vertraulicher Daten angibt, das Macie in einer Excel-Arbeitsmappe erkannt hat.

"cells": [ { "cellReference": "Sheet2!C5", "column": 3, "columnName": "SSN", "row": 5 } ]

Im vorherigen Beispiel deutet das Ergebnis darauf hin, dass Macie vertrauliche Daten in dem Arbeitsblatt mit dem Namen Sheet2 in der Arbeitsmappe entdeckt hat. In diesem Arbeitsblatt entdeckte Macie sensible Daten in der Zelle in der fünften Zeile der dritten Spalte (Spalte C, SSN genannt).

LineRangesReihe

Gilt für: E-Mail-Nachrichtendateien (EML) und andere nichtbinäre Textdateien als CSV-, JSON-, JSON-Zeilen- und TSV-Dateien, z. B. HTML-, TXT- und XML-Dateien

In einem lineRanges Array gibt ein Range Objekt eine Zeile oder einen einschließenden Zeilenbereich an, in dem Macie ein Vorkommen vertraulicher Daten erkannt hat, sowie die Position der Daten auf der oder den angegebenen Zeilen.

Dieses Objekt ist oft leer für Dateitypen, die von anderen Arten von Arrays in occurrences Objekten unterstützt werden. Ausnahmen sind:

  • Daten in unstrukturierten Abschnitten einer ansonsten strukturierten Datei, z. B. ein Kommentar in einer Datei.

  • Daten in einer falsch formatierten Datei, die Macie als Klartext analysiert.

  • Eine CSV- oder TSV-Datei mit einem oder mehreren Spaltennamen, in denen Macie vertrauliche Daten entdeckt hat.

In der folgenden Tabelle wird der Zweck jedes Felds in einem Range Objekt eines lineRanges Arrays beschrieben.

Feld Typ Beschreibung
end Ganzzahl Die Anzahl der Zeilen vom Anfang der Datei bis zum Ende des Vorfalls.
start Ganzzahl Die Anzahl der Zeilen vom Anfang der Datei bis zum Beginn des Vorfalls.
startColumn Ganzzahl Die Anzahl der Zeichen, mit Leerzeichen und beginnend mit 1, vom Anfang der ersten Zeile, die das Vorkommen (start) enthält, bis zum Beginn des Vorkommens.

Das folgende Beispiel zeigt die Struktur eines Range Objekts, das die Position eines Vorkommens vertraulicher Daten angibt, die Macie in einer einzigen Zeile in einer TXT-Datei erkannt hat.

"lineRanges": [ { "end": 1, "start": 1, "startColumn": 119 } ]

Im vorherigen Beispiel deutet das Ergebnis darauf hin, dass Macie in der ersten Zeile der Datei ein vollständiges Vorkommen vertraulicher Daten (eine Postanschrift) entdeckt hat. Das erste Zeichen des Vorkommens liegt 119 Zeichen (mit Leerzeichen) vom Zeilenanfang entfernt.

Das folgende Beispiel zeigt die Struktur eines Range Objekts, das die Position eines Vorkommens vertraulicher Daten angibt, das sich über mehrere Zeilen in einer TXT-Datei erstreckt.

"lineRanges": [ { "end": 54, "start": 51, "startColumn": 1 } ]

Im vorherigen Beispiel deutet das Ergebnis darauf hin, dass Macie ein Vorkommen sensibler Daten (eine Postanschrift) in den Zeilen 51 bis 54 der Datei entdeckt hat. Das erste Zeichen des Vorkommnisses ist das erste Zeichen in Zeile 51 der Datei.

Seiten-Array

Gilt für: Adobe Portable Document Format (PDF) -Dateien

In einem pages Array gibt ein Page Objekt eine Seite an, auf der Macie ein Vorkommen vertraulicher Daten festgestellt hat. Das Objekt enthält ein pageNumber Feld. Das pageNumber Feld speichert eine Ganzzahl, die die Seitennummer der Seite angibt, die das Vorkommen enthält.

Das folgende Beispiel zeigt die Struktur eines Page Objekts, das den Ort eines Vorkommens vertraulicher Daten angibt, die Macie in einer PDF-Datei erkannt hat.

"pages": [ { "pageNumber": 10 } ]

Im vorherigen Beispiel deutet das Ergebnis darauf hin, dass Seite 10 der Datei das Ereignis enthält.

Reihe von Datensätzen

Gilt für: Apache Avro-Objektcontainer, Apache Parquet-Dateien, JSON-Dateien und JSON Lines-Dateien

Für einen Avro-Objektcontainer oder eine Parquet-Datei gibt ein Record Objekt in einem records Array einen Datensatzindex und den Pfad zu einem Feld in einem Datensatz an, in dem Macie ein Vorkommen vertraulicher Daten erkannt hat. Für JSON- und JSON Lines-Dateien gibt ein Record Objekt den Pfad zu einem Feld oder Array an, in dem Macie ein Vorkommen vertraulicher Daten erkannt hat. Für JSON-Lines-Dateien gibt es auch den Index der Zeile an, die das Vorkommen enthält.

In der folgenden Tabelle wird der Zweck jedes Felds in einem Record Objekt beschrieben.

Feld Typ Beschreibung
jsonPath Zeichenfolge

Der Pfad zum Vorkommen als JsonPath-Ausdruck.

Bei einem Avro-Objektcontainer oder einer Parquet-Datei ist dies der Pfad zu dem Feld im Datensatz (recordIndex), das das Vorkommen enthält. Für eine JSON- oder JSON Lines-Datei ist dies der Pfad zu dem Feld oder Array, das das Vorkommen enthält. Wenn es sich bei den Daten um einen Wert in einem Array handelt, gibt der Pfad auch an, welcher Wert das Vorkommen enthält.

Wenn Macie vertrauliche Daten im Namen eines Elements im Pfad erkennt, lässt Macie das jsonPath Feld in einem Objekt aus. Record Wenn der Name eines Pfadelements 240 Zeichen überschreitet, kürzt Macie den Namen, indem er Zeichen vom Anfang des Namens entfernt. Wenn der resultierende vollständige Pfad mehr als 250 Zeichen enthält, kürzt Macie auch den Pfad ab, beginnend mit dem ersten Element im Pfad, bis der Pfad 250 oder weniger Zeichen enthält.

recordIndex Ganzzahl Für einen Avro-Objektcontainer oder eine Parquet-Datei der Datensatzindex, beginnend bei 0, für den Datensatz, der das Vorkommen enthält. Für eine JSON-Lines-Datei der Zeilenindex, beginnend bei 0, für die Zeile, die das Vorkommen enthält. Dieser Wert gilt immer 0 für JSON-Dateien.

Das folgende Beispiel zeigt die Struktur eines Record Objekts, das den Speicherort eines Vorkommens vertraulicher Daten angibt, die Macie in einer Parquet-Datei erkannt hat.

"records": [ { "jsonPath": "$['abcdefghijklmnopqrstuvwxyz']", "recordIndex": 7663 } ]

Im vorherigen Beispiel deutet das Ergebnis darauf hin, dass Macie sensible Daten im Datensatz des Index 7663 (Datensatznummer 7664) entdeckt hat. In diesem Datensatz entdeckte Macie sensible Daten in dem genannten abcdefghijklmnopqrstuvwxyz Feld. Der vollständige JSON-Pfad zum Feld im Datensatz lautet$.abcdefghijklmnopqrstuvwxyz. Das Feld ist ein direkter Abkömmling des Stammobjekts (äußere Ebene).

Das folgende Beispiel zeigt auch die Struktur eines Record Objekts für ein Vorkommen vertraulicher Daten, die Macie in einer Parquet-Datei erkannt hat. In diesem Beispiel hat Macie den Namen des Felds, das das Vorkommen enthält, jedoch gekürzt, da der Name die Zeichenbeschränkung überschreitet.

"records": [ { "jsonPath": "$['...uvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz']", "recordIndex": 7663 } ]

Im vorherigen Beispiel ist das Feld ein direkter Abkömmling des Stammobjekts (äußere Ebene).

Im folgenden Beispiel hat Macie bei einem Vorkommen vertraulicher Daten, das Macie in einer Parquet-Datei entdeckt hat, den vollständigen Pfad zu dem Feld gekürzt, das das Vorkommen enthält. Der vollständige Pfad überschreitet das Zeichenlimit.

"records": [ { "jsonPath": "$..usssn2.usssn3.usssn4.usssn5.usssn6.usssn7.usssn8.usssn9.usssn10.usssn11.usssn12.usssn13.usssn14.usssn15.usssn16.usssn17.usssn18.usssn19.usssn20.usssn21.usssn22.usssn23.usssn24.usssn25.usssn26.usssn27.usssn28.usssn29['abcdefghijklmnopqrstuvwxyz']", "recordIndex": 2335 } ]

Im vorherigen Beispiel deutet das Ergebnis darauf hin, dass Macie sensible Daten im Datensatz des Index 2335 (Datensatznummer 2336) entdeckt hat. In diesem Datensatz entdeckte Macie sensible Daten in dem genannten abcdefghijklmnopqrstuvwxyz Feld. Der vollständige JSON-Pfad zum Feld im Datensatz lautet:

$['1234567890']usssn1.usssn2.usssn3.usssn4.usssn5.usssn6.usssn7.usssn8.usssn9.usssn10.usssn11.usssn12.usssn13.usssn14.usssn15.usssn16.usssn17.usssn18.usssn19.usssn20.usssn21.usssn22.usssn23.usssn24.usssn25.usssn26.usssn27.usssn28.usssn29['abcdefghijklmnopqrstuvwxyz']

Das folgende Beispiel zeigt die Struktur eines Record Objekts, das den Speicherort eines Vorkommens vertraulicher Daten angibt, die Macie in einer JSON-Datei erkannt hat. In diesem Beispiel ist das Vorkommen ein bestimmter Wert in einem Array.

"records": [ { "jsonPath": "$.access.key[2]", "recordIndex": 0 } ]

Im vorherigen Beispiel deutet das Ergebnis darauf hin, dass Macie sensible Daten im zweiten Wert eines Arrays mit dem Namen key erkannt hat. Das Array ist ein untergeordnetes Objekt mit dem Namenaccess.

Das folgende Beispiel zeigt die Struktur eines Record Objekts, das den Ort eines Vorkommens vertraulicher Daten angibt, das Macie in einer JSON Lines-Datei erkannt hat.

"records": [ { "jsonPath": "$.access.key", "recordIndex": 3 } ]

Im vorherigen Beispiel deutet das Ergebnis darauf hin, dass Macie sensible Daten im dritten Wert (Zeile) der Datei erkannt hat. In dieser Zeile befindet sich das Vorkommen in einem Feld mit dem Namenkey, das einem Objekt mit dem Namen untergeordnet istaccess.