Schema für die Meldung des Standorts sensibler Daten - 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.

Schema für die Meldung des Standorts sensibler Daten

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 Ergebnisse sensibler Daten und Ergebnisse der Entdeckung sensibler Daten verwendet. Bei Ergebnissen sensibler Daten sind die Strukturen Teil des JSON Ergebnisschemas. Das vollständige JSON Schema der Ergebnisse finden Sie unter Ergebnisse in der Amazon Macie API Macie-Referenz. Weitere Informationen zu den Ergebnissen der Erkennung sensibler Daten finden Sie unterSpeicherung und Beibehaltung der Erkennungsergebnisse von vertraulichen Daten.

Überblick über das Schema

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

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

  • In einem customDataIdentifiers Objekt gibt das detections Array an, welche benutzerdefinierten Datenbezeichner die Daten erkannt und zu dem Ergebnis geführt 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 Typen 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 es kann den Speicherort der Daten angeben.

Bei der Suche nach sensiblen 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 Standort von drei Vorkommen vertraulicher Daten (US-Sozialversicherungsnummern) an, die Macie in einer Datei gefunden hat. CSV

"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 sensibler Daten oder bei der Ausführung eines Discovery-Jobs für sensible Daten entdeckt. Bei jedem Analysezyklus oder Joblauf verwendet Macie einen Algorithmus für die Tiefensuche, um die Ergebnisse mit Standortdaten für 1—15 Vorkommen vertraulicher Daten zu füllen, die Macie in S3-Objekten entdeckt. Diese Vorkommnisse geben Aufschluss über die Kategorien und Typen sensibler 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 eine der 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 sensible Daten entdeckt hat.

  • lineRangesarray — Dieses Array gilt für E-Mail-Nachrichtendateien (EML) und nicht-binäre Textdateien mit Ausnahme vonCSV,JSON, JSON Zeilen und TSV Dateien, z. B.,HTML, TXT und Dateien. XML Ein Objekt in diesem Array gibt eine Zeile oder einen umfassenden Zeilenbereich an, in dem Macie das Vorkommen sensibler Daten erkannt hat, sowie die Position der Daten in der oder den angegebenen Zeilen.

    In bestimmten Fällen gibt ein Objekt in einem lineRanges Array den Speicherort einer Erkennung sensibler Daten in einem Dateityp oder Speicherformat an, das von einem anderen Array-Typ unterstützt wird. Diese Fälle sind: eine Entdeckung in einem unstrukturierten Abschnitt einer anderweitig strukturierten Datei, z. B. ein Kommentar in einer Datei; eine Entdeckung in einer falsch formatierten Datei, die Macie als Klartext analysiert; und eine TSV Oder-Datei mit einem CSV oder mehreren Spaltennamen, in denen Macie sensible Daten erkannt hat.

  • offsetRangesarray — Dieses Array ist für die future 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 sensible Daten entdeckt 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 das Vorkommen sensibler Daten entdeckt 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 das Vorkommen sensibler Daten erkannt hat. Bei 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 eines betroffenen S3-Objekts und dessen Inhalt.

Schemadetails und Beispiele

Amazon Macie passt den Inhalt der JSON Strukturen an, anhand derer angegeben wird, wo sensible Daten in bestimmten Typen von Dateien und Inhalten erkannt wurden. In den folgenden Themen werden diese Strukturen erläutert und anhand von Beispielen veranschaulicht.

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

Anordnung der Zellen

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 das Vorkommen vertraulicher Daten erkannt hat. In der folgenden Tabelle wird der Zweck der einzelnen Felder in einem Cell Objekt beschrieben.

Feld Typ Beschreibung
cellReference String 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 TSV UND-Dateien.
column Ganzzahl Die Spaltennummer der Spalte, die das Vorkommen enthält. Bei einer Excel-Arbeitsmappe korreliert dieser Wert mit dem/den alphabetischen Zeichen für einen Spaltenbezeichner, z. B. 1 für Spalte A, 2 für Spalte B usw.
columnName String 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, das Macie in einer CSV Datei entdeckt hat.

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

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

Das folgende Beispiel zeigt die Struktur eines Cell Objekts, das den Ort angibt, an dem vertrauliche Daten vorkommen, die Macie in einer Excel-Arbeitsmappe entdeckt hat.

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

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

LineRangesArray

Gilt für: E-Mail-Nachrichtendateien (EML) und nicht-binäre Textdateien außerCSV,JSON, JSON Zeilen und TSV Dateien, z. B.,, HTML und Dateien TXT XML

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

Dieses Objekt ist bei Dateitypen, die von anderen Typen von Arrays in occurrences Objekten unterstützt werden, häufig leer. Ausnahmen sind:

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

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

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

In der folgenden Tabelle wird der Zweck der einzelnen Felder 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 Vorkommnisses.
start Ganzzahl Die Anzahl der Zeilen vom Anfang der Datei bis zum Anfang des Vorkommnisses.
startColumn Ganzzahl Die Anzahl der Zeichen, mit Leerzeichen und beginnend bei 1, vom Anfang der ersten Zeile, die das Vorkommen (start) enthält, bis zum Anfang des Vorkommens.

Das folgende Beispiel zeigt die Struktur eines Range Objekts, das den Ort eines Vorkommens vertraulicher Daten angibt, das Macie in einer einzelnen 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 in diesem Vorkommen ist 119 Zeichen (mit Leerzeichen) vom Anfang der Zeile 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) entdeckt hat, die sich über die Zeilen 51 bis 54 der Datei erstrecken. Das erste Zeichen in dem Vorkommen ist das erste Zeichen in Zeile 51 der Datei.

Seiten-Array

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

In einem pages Array gibt ein Page Objekt eine Seite an, auf der Macie sensible Daten entdeckt 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, das Macie in einer PDF Datei entdeckt hat.

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

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

Datensatz-Array

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

Bei einem Avro-Objektcontainer oder einer 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 das Vorkommen sensibler Daten erkannt hat. Bei Dateien JSON und JSON Lines gibt ein Record Objekt den Pfad zu einem Feld oder Array an, in dem Macie das Vorkommen sensibler Daten erkannt hat. Bei JSON Lines-Dateien gibt es auch den Index der Zeile an, die das Vorkommen enthält.

In der folgenden Tabelle wird der Zweck der einzelnen Felder in einem Record Objekt beschrieben.

Feld Typ Beschreibung
jsonPath String

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. Bei einer 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 sensible 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 am Anfang des Namens entfernt. Wenn der resultierende vollständige Pfad 250 Zeichen überschreitet, kürzt Macie den Pfad ebenfalls ab, beginnend mit dem ersten Element im Pfad, bis der Pfad 250 oder weniger Zeichen enthält.

recordIndex Ganzzahl Bei einem Avro-Objektcontainer oder einer Parquet-Datei der Datensatzindex, beginnend bei 0, für den Datensatz, der das Vorkommen enthält. Bei einer 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 Ort angibt, an dem sensible Daten vorkommen, die Macie in einer Parquet-Datei entdeckt hat.

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

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

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

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

Im vorherigen Beispiel ist das Feld ein direkter Nachkomme des Stammobjekts (äußerste Ebene).

Im folgenden Beispiel hat Macie auch 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 die Zeichenbeschränkung.

"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 mit Index 2335 (Datensatznummer 2336) entdeckt hat. In diesem Datensatz hat Macie sensible Daten in dem genannten Feld entdeckt. abcdefghijklmnopqrstuvwxyz Der vollständige JSON Pfad zu dem 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 Ort angibt, an dem sensible Daten vorkommen, die Macie in einer JSON Datei entdeckt 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 eines Objekts mit dem Namenaccess.

Das folgende Beispiel zeigt die Struktur eines Record Objekts, das den Ort angibt, an dem sensible Daten vorkommen, die Macie in einer JSON Lines-Datei entdeckt hat.

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

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