Esquema para relatar a localização de dados confidenciais - Amazon Macie

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Esquema para relatar a localização de dados confidenciais

O Amazon Macie usa JSON estruturas padronizadas para armazenar informações sobre onde encontra dados confidenciais nos objetos do Amazon Simple Storage Service (Amazon S3). As estruturas são usadas por descobertas de dados confidenciais e resultados de detecções de dados confidenciais. Para descobertas de dados confidenciais, as estruturas fazem parte do JSON esquema de descobertas. Para analisar o JSON esquema completo das descobertas, consulte Descobertas no Amazon API Macie Reference. Para saber mais sobre os resultados da detecção de dados confidenciais, consulte Armazenamento e retenção de resultados de descoberta de dados confidenciais.

Visão geral do esquema

Para relatar a localização de dados confidenciais que o Amazon Macie encontrou em um objeto do S3 afetado, o JSON esquema para descobertas de dados confidenciais e resultados de descobertas de dados confidenciais inclui um customDataIdentifiers objeto e um objeto. sensitiveData O customDataIdentifiers objeto fornece detalhes sobre os dados que o Macie detectou usando identificadores de dados personalizados. O sensitiveData objeto fornece detalhes sobre os dados que o Macie detectou usando identificadores de dados gerenciados.

Cada objeto customDataIdentifiers e sensitiveData contém uma ou mais matrizes detections:

  • Em um objeto customDataIdentifiers, a matriz detections indica quais identificadores de dados personalizados detectaram os dados e produziram a descoberta. Para cada identificador de dados personalizado, a matriz também indica o número de ocorrências dos dados que o identificador detectou. Também pode indicar a localização dos dados que o identificador detectou.

  • Em um objeto sensitiveData, uma matriz detections indica os tipos de dados confidenciais que o Macie detectou usando identificadores de dados gerenciados. Para cada tipo de dado confidencial, a matriz também indica o número de ocorrências dos dados e pode indicar a localização dos dados.

Para uma descoberta de dados confidenciais, uma matriz detections pode incluir de 1 a 15 objetos occurrences. Cada objeto occurrences especifica onde o Macie detectou ocorrências individuais de um tipo específico de dados confidenciais.

Por exemplo, a detections matriz a seguir indica a localização de três ocorrências de dados confidenciais (números do Seguro Social dos EUA) que Macie encontrou em um CSV arquivo.

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

A localização e o número de objetos occurrences em uma matriz detections variam com base nas categorias, tipos e número de ocorrências de dados confidenciais que o Macie detecta durante um ciclo automatizado de análise de descoberta de dados confidenciais ou a execução de um trabalho de descoberta de dados confidenciais. Para cada execução de trabalho ou ciclo de análise, o Macie também usa um algoritmo de pesquisa detalhada para preencher as descobertas resultantes com detalhes sobre os dados de localização de 1 a 15 ocorrências específicas de dados confidenciais que o Macie detecta nos objetos do S3. Essas ocorrências são indicativas das categorias e dos tipos de dados confidenciais que um bucket e um objeto do S3 afetados podem conter.

Um objeto occurrences pode conter qualquer uma das seguintes estruturas, dependendo do tipo de arquivo ou formato de armazenamento do objeto S3 afetado:

  • cellsmatriz — Essa matriz se aplica às pastas de trabalho, CSV arquivos e TSV arquivos do Microsoft Excel. Um objeto nessa matriz especifica uma célula ou campo em que o Macie detectou uma ocorrência de dados confidenciais.

  • lineRangesmatriz — Essa matriz se aplica a arquivos de mensagem de e-mail (EML) e arquivos de texto não binários que não sejamCSV,JSON, JSON Linhas e TSV arquivos — por exemplo,,HTML, TXT e arquivos. XML Um objeto nessa matriz especifica uma linha ou um intervalo inclusivo de linhas em que o Macie detectou uma ocorrência de dados confidenciais e a posição dos dados na linha ou linhas especificadas.

    Em certos casos, um objeto em uma matriz lineRanges especifica a localização de uma detecção de dados confidenciais em um tipo de arquivo ou formato de armazenamento compatível com outro tipo de matriz. Esses casos são: uma detecção em uma seção não estruturada de um arquivo estruturado de outra forma, como um comentário em um arquivo; uma detecção em um arquivo malformado que o Macie analisa como texto simples; e um arquivo or que tem um CSV ou TSV mais nomes de coluna nos quais o Macie detectou dados confidenciais.

  • Matriz offsetRanges – Isso está reservado para uso futuro. Se essa matriz estiver presente, o valor dela será nulo.

  • pagesmatriz — Essa matriz se aplica aos arquivos Adobe Portable Document Format (PDF). Um objeto nessa matriz especifica uma página em que o Macie detectou uma ocorrência de dados confidenciais.

  • recordsmatriz — Essa matriz se aplica aos contêineres de objetos do Apache Avro, arquivos do Apache Parquet, arquivos e arquivos JSON Lines. JSON Para contêineres de objetos Avro e arquivos Parquet, um objeto nessa matriz especifica um índice de registro e o caminho para um campo em um registro no qual o Macie detectou uma ocorrência de dados confidenciais. Para arquivos JSON e JSON Lines, um objeto nessa matriz especifica o caminho para um campo ou matriz em que o Macie detectou uma ocorrência de dados confidenciais. Para arquivos de JSON linhas, ele também especifica o índice da linha que contém os dados.

O conteúdo dessas matrizes varia de acordo com o tipo de arquivo ou formato de armazenamento do objeto S3 afetado e seu conteúdo.

Detalhes e exemplos do esquema

O Amazon Macie adapta o conteúdo das JSON estruturas que usa para indicar onde detectou dados confidenciais em tipos específicos de arquivos e conteúdo. Os tópicos a seguir explicam e fornecem exemplos dessas estruturas.

Para obter uma lista completa das JSON estruturas que podem ser incluídas em uma descoberta de dados confidenciais, consulte Descobertas na Referência do Amazon Macie. API

Matriz de células

Aplica-se a: pastas de trabalho, CSV arquivos e TSV arquivos do Microsoft Excel

Em uma matriz cells, um objeto Cell especifica uma célula ou campo em que o Macie detectou uma ocorrência de dados confidenciais. A tabela a seguir descreve a finalidade de cada campo em um objeto Cell.

Campo Tipo Descrição
cellReference String A localização da célula, como referência absoluta da célula, que contém a ocorrência. Esse campo se aplica somente às pastas de trabalho do Excel. Esse valor é nulo para TSV arquivos CSV e.
column Inteiro O número da coluna que contém a ocorrência. Para uma pasta de trabalho do Excel, esse valor se correlaciona com os caracteres alfabéticos de um identificador de coluna; por exemplo, 1 para a coluna A, 2 para a coluna B e assim por diante.
columnName String O nome da coluna que contém a ocorrência, se disponível.
row Inteiro O número da linha que contém a ocorrência.

O exemplo a seguir mostra a estrutura de um Cell objeto que especifica a localização de uma ocorrência de dados confidenciais que o Macie detectou em um CSV arquivo.

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

No exemplo anterior, a descoberta indica que o Macie detectou dados confidenciais no campo na quinta linha da terceira coluna (nomeada SSN) do arquivo.

O exemplo a seguir mostra a estrutura de um objeto Cell que especifica a localização de uma ocorrência de dados confidenciais que o Macie detectou em uma pasta de trabalho do Excel.

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

No exemplo anterior, a descoberta indica que o Macie detectou dados confidenciais na planilha chamada Planilha2 na pasta de trabalho. Nessa planilha, Macie detectou dados confidenciais na célula na quinta linha da terceira coluna (coluna C, nomeada SSN).

LineRangesmatriz

Aplica-se a: arquivos de mensagem de e-mail (EML) e arquivos de texto não binários que não sejamCSV,JSON, JSON Linhas e TSV arquivos — por exemplo,,, HTML e arquivos TXT XML

Em uma matriz lineRanges, um objeto Range especifica uma linha ou um intervalo inclusivo de linhas em que o Macie detectou uma ocorrência de dados confidenciais e a posição dos dados na linha ou nas linhas especificadas.

Esse objeto geralmente está vazio para tipos de arquivo compatíveis com outros tipos de matrizes em objetos occurrences. As exceções são:

  • Dados em seções não estruturadas de um arquivo estruturado no geral, como um comentário em um arquivo.

  • Dados em um arquivo malformado que o Macie analisa como texto sem formatação.

  • Um TSV arquivo CSV ou que tem um ou mais nomes de coluna nos quais o Macie detectou dados confidenciais.

A tabela a seguir descreve a finalidade de cada campo em um objeto Range de uma matriz lineRanges.

Campo Tipo Descrição
end Inteiro O número de linhas desde o início do arquivo até o final da ocorrência.
start Inteiro O número de linhas desde o início do arquivo até o começo da ocorrência.
startColumn Inteiro O número de caracteres, com espaços e começando em 1, desde o início da primeira linha que contém a ocorrência (start) até o início da ocorrência.

O exemplo a seguir mostra a estrutura de um Range objeto que especifica a localização de uma ocorrência de dados confidenciais que o Macie detectou em uma única linha em um TXT arquivo.

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

No exemplo anterior, a descoberta indica que o Macie detectou uma ocorrência completa de dados confidenciais (um endereço postal) na primeira linha do arquivo. O primeiro caractere na ocorrência tem 119 caracteres (com espaços) a partir do início dessa linha.

O exemplo a seguir mostra a estrutura de um Range objeto que especifica a localização de uma ocorrência de dados confidenciais que abrange várias linhas em um TXT arquivo.

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

No exemplo anterior, a descoberta indica que o Macie detectou uma ocorrência completa de dados confidenciais (um endereço postal) no intervalo das linhas 51 a 54 do arquivo. O primeiro caractere na ocorrência é o primeiro caractere na linha 51 do arquivo.

Matriz de páginas

Aplica-se a: arquivos Adobe Portable Document Format (PDF)

Em uma matriz pages, um objeto Page especifica uma página em que o Macie detectou uma ocorrência de dados confidenciais. O objeto contém um campo pageNumber. O campo pageNumber armazena um número inteiro que especifica o número da página que contém a ocorrência.

O exemplo a seguir mostra a estrutura de um Page objeto que especifica a localização de uma ocorrência de dados confidenciais que o Macie detectou em um PDF arquivo.

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

No exemplo anterior, a descoberta indica que a página 10 do arquivo contém a ocorrência.

Matriz de registros

Aplica-se a: contêineres de objetos Apache Avro, arquivos Apache Parquet, arquivos e arquivos JSON Lines JSON

Para um contêiner de objetos Avro ou um arquivo Parquet, um objeto Record em uma matriz records especifica um índice de registro e o caminho para um campo em um registro no qual o Macie detectou uma ocorrência de dados confidenciais. Para arquivos JSON e JSON Lines, um Record objeto especifica o caminho para um campo ou matriz em que o Macie detectou uma ocorrência de dados confidenciais. Para arquivos de JSON linhas, ele também especifica o índice da linha que contém a ocorrência.

A tabela a seguir descreve a finalidade de cada campo em um objeto Record.

Campo Tipo Descrição
jsonPath Cadeia de caracteres

O caminho, como JSONPath expressão, até a ocorrência.

Para um contêiner de objeto Avro ou um arquivo Parquet, esse é o caminho para o campo no registro (recordIndex) que contém a ocorrência. Para um arquivo JSON ou JSON Linhas, esse é o caminho para o campo ou matriz que contém a ocorrência. Se os dados forem um valor em uma matriz, o caminho também indicará qual valor contém a ocorrência.

Se o Macie detectar dados confidenciais no nome de qualquer elemento no caminho, o Macie omite o campo jsonPath de um objeto Record. Se o nome de um elemento de caminho exceder 240 caracteres, o Macie truncará o nome removendo caracteres do início do nome. Se o caminho completo resultante exceder 250 caracteres, o Macie também truncará o caminho, começando com o primeiro elemento no caminho, até que o caminho contenha 250 caracteres ou menos.

recordIndex Inteiro Para um contêiner de objeto Avro ou um arquivo Parquet, o índice do registro, começando em 0, para o registro que contém a ocorrência. Para um arquivo de JSON linhas, o índice da linha, começando em 0, para a linha que contém a ocorrência. Esse valor é sempre 0 para JSON arquivos.

O exemplo a seguir mostra a estrutura de um objeto Record que especifica a localização de uma ocorrência de dados confidenciais que o Macie detectou em um arquivo Parquet.

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

No exemplo anterior, a descoberta indica que o Macie detectou dados confidenciais no registro do índice 7663 (registro número 7664). Naquele registro, o Macie detectou dados confidenciais no campo nomeado abcdefghijklmnopqrstuvwxyz. O JSON caminho completo para o campo no registro é$.abcdefghijklmnopqrstuvwxyz. O campo é descendente direto do objeto raiz (nível externo).

O exemplo a seguir também mostra a estrutura de um objeto Record para uma ocorrência de dados confidenciais que o Macie detectou em um arquivo Parquet. No entanto, neste exemplo, o Macie truncou o nome do campo que contém a ocorrência porque o nome excede o limite de caracteres.

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

No exemplo anterior, o campo é descendente direto do objeto raiz (nível externo).

No exemplo a seguir, também para uma ocorrência de dados confidenciais que o Macie detectou em um arquivo Parquet, o Macie truncou o caminho completo para o campo que contém a ocorrência. O caminho completo excede o limite de caracteres.

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

No exemplo anterior, a descoberta indica que o Macie detectou dados confidenciais no registro do índice 2335 (registro número 2336). Naquele registro, o Macie detectou dados confidenciais no campo nomeado abcdefghijklmnopqrstuvwxyz. O JSON caminho completo para o campo no registro é:

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

O exemplo a seguir mostra a estrutura de um Record objeto que especifica a localização de uma ocorrência de dados confidenciais que o Macie detectou em um JSON arquivo. Neste exemplo, a ocorrência é um valor específico em uma matriz.

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

No exemplo anterior, a descoberta indica que o Macie detectou dados confidenciais no segundo valor de uma matriz chamada. key A matriz é filha de um objeto chamadoaccess.

O exemplo a seguir mostra a estrutura de um Record objeto que especifica a localização de uma ocorrência de dados confidenciais que o Macie detectou em um arquivo JSON Lines.

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

No exemplo anterior, a descoberta indica que o Macie detectou dados confidenciais no terceiro valor (linha) no arquivo. Naquela linha, a ocorrência está em um campo chamado key, que é filho de um objeto chamado access.