Schéma JSON pour les emplacements de données sensibles - Amazon Macie

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Schéma JSON pour les emplacements de données sensibles

Amazon Macie utilise des structures JSON standardisées pour stocker des informations sur l'emplacement des données sensibles dans les objets Amazon Simple Storage Service (Amazon S3). Les structures sont utilisées pour les découvertes de données sensibles et les résultats de découverte de données sensibles. Pour les résultats de recherche de données sensibles, les structures font partie du schéma JSON pour les résultats. Pour consulter le schéma JSON complet à la recherche de résultats, consultez la section Résultats dans la référence des API Amazon Macie. Pour en savoir plus sur les résultats de la découverte de données sensibles, consultezStockage et conservation des résultats de découverte de données sensibles.

Présentation du schéma JSON pour les emplacements de données sensibles

Pour signaler l'emplacement des données sensibles qu'Amazon Macie a trouvées dans un objet S3 concerné, le schéma JSON pour les découvertes de données sensibles et les résultats de découverte de données sensibles inclut un customDataIdentifiers objet et un sensitiveData objet. L'customDataIdentifiersobjet fournit des détails sur les données que Macie a détectées à l'aide d'identifiants de données personnalisés. L'sensitiveDataobjet fournit des détails sur les données que Macie a détectées à l'aide d'identifiants de données gérés.

Chaque sensitiveData objet customDataIdentifiers et contient un ou plusieurs detections tableaux :

  • Dans un customDataIdentifiers objet, le detections tableau indique quels identifiants de données personnalisés ont détecté les données et ont produit la découverte. Pour chaque identifiant de données personnalisé, le tableau indique également le nombre d'occurrences des données détectées par l'identifiant. Il peut également indiquer l'emplacement des données détectées par l'identifiant.

  • Dans un sensitiveData objet, un detections tableau indique les types de données sensibles que Macie a détectés à l'aide d'identifiants de données gérés. Pour chaque type de données sensibles, le tableau indique également le nombre d'occurrences des données et peut indiquer l'emplacement des données.

Pour la recherche de données sensibles, un detections tableau peut inclure 1 à 15 occurrences objets. Chaque occurrences objet indique où Macie a détecté des occurrences individuelles d'un type spécifique de données sensibles.

Par exemple, le detections tableau suivant indique l'emplacement de trois occurrences de données sensibles (numéros de sécurité sociale américains) que Macie a trouvées dans un fichier 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" }

L'emplacement et le nombre d'occurrencesobjets d'un detections tableau varient en fonction des catégories, des types et du nombre d'occurrences de données sensibles détectées par Macie au cours d'un cycle d'analyse automatique de découverte de données sensibles ou de l'exécution d'une tâche de découverte de données sensibles. Pour chaque cycle d'analyse ou exécution de tâche, Macie utilise un algorithme de recherche en profondeur pour renseigner les résultats obtenus avec des données de localisation correspondant à 1 à 15 occurrences de données sensibles détectées par Macie dans des objets S3. Ces occurrences indiquent les catégories et les types de données sensibles qu'un bucket et un objet S3 concernés peuvent contenir.

Un occurrences objet peut contenir l'une des structures suivantes, selon le type de fichier ou le format de stockage de l'objet S3 concerné :

  • cellstableau — Ce tableau s'applique aux classeurs Microsoft Excel, aux fichiers CSV et aux fichiers TSV. Un objet de ce tableau indique une cellule ou un champ dans lequel Macie a détecté une occurrence de données sensibles.

  • lineRangestableau : ce tableau s'applique aux fichiers de messages électroniques (EML) et aux fichiers texte non binaires autres que les fichiers CSV, JSON, JSON Lines et TSV, par exemple les fichiers HTML, TXT et XML. Un objet de ce tableau indique une ligne ou une plage complète de lignes dans laquelle Macie a détecté la présence de données sensibles, ainsi que la position des données sur la ou les lignes spécifiées.

    Dans certains cas, un objet d'une lineRanges matrice indique l'emplacement d'une détection de données sensibles dans un type de fichier ou un format de stockage pris en charge par un autre type de matrice. Ces cas sont les suivants : une détection dans une section non structurée d'un fichier autrement structuré, tel qu'un commentaire dans un fichier ; une détection dans un fichier mal formé que Macie analyse comme du texte brut ; et un fichier CSV ou TSV contenant un ou plusieurs noms de colonne dans lesquels Macie a détecté des données sensibles.

  • offsetRangesarray — Ce tableau est réservé pour une utilisation future. Si ce tableau est présent, sa valeur est nulle.

  • pagestableau : ce tableau s'applique aux fichiers Adobe Portable Document Format (PDF). Un objet de ce tableau indique une page dans laquelle Macie a détecté une occurrence de données sensibles.

  • recordsarray — Ce tableau s'applique aux conteneurs d'objets Apache Avro, aux fichiers Apache Parquet, aux fichiers JSON et aux fichiers JSON Lines. Pour les conteneurs d'objets Avro et les fichiers Parquet, un objet de ce tableau indique un index d'enregistrement et le chemin d'accès à un champ d'un enregistrement dans lequel Macie a détecté la présence de données sensibles. Pour les fichiers JSON et JSON Lines, un objet de ce tableau indique le chemin d'accès à un champ ou à un tableau dans lequel Macie a détecté une occurrence de données sensibles. Pour les fichiers JSON Lines, il indique également l'index de la ligne qui contient les données.

Le contenu de ces tableaux varie en fonction du type de fichier ou du format de stockage de l'objet S3 concerné et de son contenu.

Détails et exemples du schéma JSON pour les emplacements de données sensibles

Amazon Macie adapte le contenu des structures JSON qu'il utilise pour indiquer où il a détecté des données sensibles dans des types de fichiers et de contenus spécifiques. Les rubriques suivantes expliquent et fournissent des exemples de ces structures.

Pour obtenir la liste complète des structures JSON pouvant être incluses dans une recherche de données sensibles, consultez la section Résultats de la référence des API Amazon Macie.

Réseau de cellules

S'applique aux classeurs Microsoft Excel, aux fichiers CSV et aux fichiers TSV

Dans un cells tableau, un Cell objet indique une cellule ou un champ dans lequel Macie a détecté une occurrence de données sensibles. Le tableau suivant décrit l'objectif de chaque champ d'un Cell objet.

Champ Type Description
cellReference Chaîne Emplacement de la cellule, en tant que référence absolue de cellule, qui contient l'occurrence. Ce champ s'applique uniquement aux classeurs Excel. Cette valeur est nulle pour les fichiers CSV et TSV.
column Entier Le numéro de colonne de la colonne qui contient l'occurrence. Pour un classeur Excel, cette valeur est en corrélation avec le ou les caractères alphabétiques d'un identifiant de colonne, par exemple, pour la colonne A, 1 pour la colonne B, 2 etc.
columnName Chaîne Le nom de la colonne qui contient l'occurrence, s'il est disponible.
row Entier Le numéro de ligne de la ligne qui contient l'occurrence.

L'exemple suivant montre la structure d'un Cell objet qui indique l'emplacement d'une occurrence de données sensibles détectées par Macie dans un fichier CSV.

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

Dans l'exemple précédent, le résultat indique que Macie a détecté des données sensibles dans le champ de la cinquième ligne de la troisième colonne (nommée SSN) du fichier.

L'exemple suivant montre la structure d'un Cell objet qui indique l'emplacement d'une occurrence de données sensibles détectée par Macie dans un classeur Excel.

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

Dans l'exemple précédent, le résultat indique que Macie a détecté des données sensibles dans la feuille de calcul nommée Sheet2 dans le classeur. Dans cette feuille de travail, Macie a détecté des données sensibles dans la cellule de la cinquième ligne de la troisième colonne (colonne C, nommée SSN).

LineRangesréseau

S'applique aux fichiers de messages électroniques (EML) et aux fichiers texte non binaires autres que les fichiers CSV, JSON, JSON Lines et TSV, par exemple les fichiers HTML, TXT et XML

Dans un lineRanges tableau, un Range objet indique une ligne ou une plage complète de lignes dans laquelle Macie a détecté la présence de données sensibles, ainsi que la position des données sur la ou les lignes spécifiées.

Cet objet est souvent vide pour les types de fichiers pris en charge par d'autres types de tableaux dans les occurrences objets. Les exceptions sont les suivantes :

  • Données figurant dans des sections non structurées d'un fichier autrement structuré, telles qu'un commentaire dans un fichier.

  • Données d'un fichier mal formé que Macie analyse en tant que texte brut.

  • Un fichier CSV ou TSV contenant un ou plusieurs noms de colonne dans lesquels Macie a détecté des données sensibles.

Le tableau suivant décrit l'objectif de chaque champ d'un Range objet d'un lineRanges tableau.

Champ Type Description
end Entier Le nombre de lignes entre le début du fichier et la fin de l'occurrence.
start Entier Le nombre de lignes entre le début du fichier et le début de l'occurrence.
startColumn Entier Le nombre de caractères, espaces compris et commençant par 1, entre le début de la première ligne contenant l'occurrence (start) et le début de l'occurrence.

L'exemple suivant montre la structure d'un Range objet qui indique l'emplacement d'une occurrence de données sensibles détectées par Macie sur une seule ligne d'un fichier TXT.

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

Dans l'exemple précédent, le résultat indique que Macie a détecté une occurrence complète de données sensibles (une adresse postale) dans la première ligne du fichier. Le premier caractère de l'occurrence est composé de 119 caractères (espaces compris) à partir du début de cette ligne.

L'exemple suivant montre la structure d'un Range objet qui indique l'emplacement d'une occurrence de données sensibles qui s'étend sur plusieurs lignes dans un fichier TXT.

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

Dans l'exemple précédent, le résultat indique que Macie a détecté une occurrence de données sensibles (une adresse postale) sur les lignes 51 à 54 du fichier. Le premier caractère de l'occurrence est le premier caractère de la ligne 51 du fichier.

Tableau de pages

S'applique aux fichiers Adobe Portable Document Format (PDF)

Dans un pages tableau, un Page objet indique une page dans laquelle Macie a détecté une occurrence de données sensibles. L'objet contient un pageNumber champ. Le pageNumber champ stocke un entier qui indique le numéro de page de la page qui contient l'occurrence.

L'exemple suivant montre la structure d'un Page objet qui indique l'emplacement d'une occurrence de données sensibles détectée par Macie dans un fichier PDF.

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

Dans l'exemple précédent, le résultat indique que la page 10 du fichier contient l'occurrence.

Tableau d'enregistrements

S'applique aux conteneurs d'objets Apache Avro, aux fichiers Apache Parquet, aux fichiers JSON et aux fichiers JSON Lines

Pour un conteneur d'objets Avro ou un fichier Parquet, un Record objet dans un records tableau indique un index d'enregistrement et le chemin d'accès à un champ d'un enregistrement dans lequel Macie a détecté une occurrence de données sensibles. Pour les fichiers JSON et JSON Lines, un Record objet indique le chemin d'accès à un champ ou à un tableau dans lequel Macie a détecté une occurrence de données sensibles. Pour les fichiers JSON Lines, il indique également l'index de la ligne qui contient l'occurrence.

Le tableau suivant décrit l'objectif de chaque champ d'un Record objet.

Champ Type Description
jsonPath Chaîne

Le chemin, sous forme d'expression JSONPath, menant à l'occurrence.

Pour un conteneur d'objets Avro ou un fichier Parquet, il s'agit du chemin vers le champ de l'enregistrement (recordIndex) qui contient l'occurrence. Pour un fichier JSON ou JSON Lines, il s'agit du chemin d'accès au champ ou au tableau qui contient l'occurrence. Si les données sont une valeur d'un tableau, le chemin indique également quelle valeur contient l'occurrence.

Si Macie détecte des données sensibles dans le nom d'un élément du chemin, Macie omet le jsonPath champ d'un objet. Record Si le nom d'un élément de chemin dépasse 240 caractères, Macie le tronque en supprimant les caractères du début du nom. Si le chemin complet obtenu dépasse 250 caractères, Macie tronque également le chemin, en commençant par le premier élément du chemin, jusqu'à ce que le chemin contienne 250 caractères ou moins.

recordIndex Entier Pour un conteneur d'objets Avro ou un fichier Parquet, l'index de l'enregistrement, en commençant par 0, pour l'enregistrement qui contient l'occurrence. Pour un fichier JSON Lines, l'index de ligne, commençant par 0, de la ligne qui contient l'occurrence. Cette valeur concerne toujours 0 les fichiers JSON.

L'exemple suivant montre la structure d'un Record objet qui indique l'emplacement d'une occurrence de données sensibles détectée par Macie dans un fichier Parquet.

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

Dans l'exemple précédent, le résultat indique que Macie a détecté des données sensibles dans l'enregistrement d'index 7663 (numéro d'enregistrement 7664). Dans cet enregistrement, Macie a détecté des données sensibles dans le champ nomméabcdefghijklmnopqrstuvwxyz. Le chemin JSON complet vers le champ de l'enregistrement est$.abcdefghijklmnopqrstuvwxyz. Le champ est un descendant direct de l'objet racine (niveau externe).

L'exemple suivant montre également la structure d'un Record objet en cas d'occurrence de données sensibles détectée par Macie dans un fichier Parquet. Toutefois, dans cet exemple, Macie a tronqué le nom du champ qui contient l'occurrence parce que le nom dépasse la limite de caractères.

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

Dans l'exemple précédent, le champ est un descendant direct de l'objet racine (niveau externe).

Dans l'exemple suivant, également pour une occurrence de données sensibles détectée par Macie dans un fichier Parquet, Macie a tronqué le chemin complet du champ contenant l'occurrence. Le chemin complet dépasse la limite de caractères.

"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 } ]

Dans l'exemple précédent, le résultat indique que Macie a détecté des données sensibles dans l'enregistrement d'index 2335 (numéro d'enregistrement 2336). Dans cet enregistrement, Macie a détecté des données sensibles dans le champ nomméabcdefghijklmnopqrstuvwxyz. Le chemin JSON complet vers le champ de l'enregistrement est le suivant :

$['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']

L'exemple suivant montre la structure d'un Record objet qui indique l'emplacement d'une occurrence de données sensibles détectée par Macie dans un fichier JSON. Dans cet exemple, l'occurrence est une valeur spécifique dans un tableau.

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

Dans l'exemple précédent, le résultat indique que Macie a détecté des données sensibles dans la deuxième valeur d'un tableau nommékey. Le tableau est un enfant d'un objet nomméaccess.

L'exemple suivant montre la structure d'un Record objet qui spécifie l'emplacement d'une occurrence de données sensibles détectée par Macie dans un fichier JSON Lines.

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

Dans l'exemple précédent, le résultat indique que Macie a détecté des données sensibles dans la troisième valeur (ligne) du fichier. Sur cette ligne, l'occurrence se trouve dans un champ nommékey, qui est un enfant d'un objet nomméaccess.