

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
<a name="findings-locate-sd-schema"></a>

O Amazon Macie usa estruturas JSON 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 esquema JSON para descobertas. Para analisar o esquema JSON completo das descobertas, consulte [Descobertas](https://docs.aws.amazon.com/macie/latest/APIReference/findings-describe.html) na *Referência de API do Amazon Macie*. Para saber mais sobre os resultados da detecção de dados confidenciais, consulte [Armazenamento e retenção de resultados de descoberta de dados confidenciais](discovery-results-repository-s3.md).

**Topics**
+ [Visão geral do esquema](#findings-locate-sd-schema-overview)
+ [Detalhes e exemplos do esquema](#findings-locate-sd-schema-examples)

## Visão geral do esquema
<a name="findings-locate-sd-schema-overview"></a>

Para relatar a localização de dados confidenciais que o Amazon Macie encontrou em um objeto do S3 afetado, o esquema JSON para descobertas de dados confidenciais e resultados de descobertas de dados confidenciais inclui um objeto `customDataIdentifiers` e um objeto `sensitiveData`. O `customDataIdentifiers` objeto fornece detalhes sobre os dados que o Macie detectou usando [identificadores de dados personalizados](custom-data-identifiers.md). O `sensitiveData` objeto fornece detalhes sobre os dados que o Macie detectou usando [identificadores de dados gerenciados](managed-data-identifiers.md).

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 matriz `detections` 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 arquivo 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"
           }
```

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:
+ Matriz `cells`: essa matriz se aplica às pastas de trabalho do Microsoft Excel, arquivos CSV e arquivos TSV. Um objeto nessa matriz especifica uma célula ou campo em que o Macie detectou uma ocorrência de dados confidenciais. 
+ Matriz `lineRanges`: essa matriz se aplica a arquivos de mensagens de e-mail (EML) e arquivos de texto não binários que não sejam arquivos CSV, JSON, JSON Lines e TSV; por exemplo, arquivos HTML, TXT e 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 no geral, como um comentário em um arquivo; uma detecção em um arquivo malformado que o Macie analisa como texto sem formatação; e um arquivo CSV ou TSV que tem um ou 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.
+ matriz `pages`: 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.
+ matriz `records`: essa matriz se aplica a contêineres de objetos Apache Avro, arquivos Apache Parquet, arquivos JSON e arquivos JSON Lines. 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 um caminho para um campo ou matriz no qual o Macie detectou uma ocorrência de dados confidenciais. Para arquivos JSON Lines, 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
<a name="findings-locate-sd-schema-examples"></a>

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

**Topics**
+ [Matriz de células](#findings-locate-sd-schema-examples-cell)
+ [LineRanges matriz](#findings-locate-sd-schema-examples-linerange)
+ [Matriz de páginas](#findings-locate-sd-schema-examples-page)
+ [Matriz de registros](#findings-locate-sd-schema-examples-record)

Para obter uma lista completa das estruturas JSON que podem ser incluídas em uma descoberta de dados confidenciais, consulte [Descobertas](https://docs.aws.amazon.com/macie/latest/APIReference/findings-describe.html) na *Referência de API do Amazon Macie*.

### Matriz de células
<a name="findings-locate-sd-schema-examples-cell"></a>

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

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 | Description | 
| --- | --- | --- | 
| 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 arquivos CSV e TSV. | 
| 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 objeto `Cell` que especifica a localização de uma ocorrência de dados confidenciais que o Macie detectou em um arquivo CSV.

```
"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 (chamada *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, o Macie detectou dados confidenciais na célula na quinta linha da terceira coluna (coluna C, chamada *SSN*).

### LineRanges matriz
<a name="findings-locate-sd-schema-examples-linerange"></a>

**Aplica-se a:** arquivos de mensagens de e-mail (EML) e arquivos de texto não binários que não sejam arquivos CSV, JSON, JSON Lines e TSV; por exemplo, arquivos HTML, TXT e 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 arquivo CSV ou TSV 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 | Description | 
| --- | --- | --- | 
| 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 objeto `Range` que especifica a localização de uma ocorrência de dados confidenciais que o Macie detectou em um arquivo TXT.

```
"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 objeto `Range` que especifica a localização de uma ocorrência de dados confidenciais que engloba várias linhas em um arquivo TXT.

```
"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
<a name="findings-locate-sd-schema-examples-page"></a>

**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 objeto `Page` que especifica a localização de uma ocorrência de dados confidenciais que o Macie detectou em um arquivo PDF.

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

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

### Matriz de registros
<a name="findings-locate-sd-schema-examples-record"></a>

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

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 objeto `Record` especifica um caminho para um campo ou matriz no qual o Macie detectou uma ocorrência de dados confidenciais. Para arquivos JSON Lines, 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 | Description | 
| --- | --- | --- | 
| jsonPath | String |  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 Lines, 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 JSON Lines, o índice da linha, começando em 0, para a linha que contém a ocorrência. Esse valor é sempre 0 para arquivos JSON. | 

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 caminho JSON 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 caminho JSON 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 objeto `Record` que especifica a localização de uma ocorrência de dados confidenciais que o Macie detectou em um arquivo JSON. 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 chamado`access`.

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 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`.