Referência de detalhes da transformação

Esta página descreve o conteúdo de uma tabela de detalhes de transformação e fornece exemplos de consultas que podem ser executadas nela.

Ao remover a identificação dos dados no armazenamento, você pode configurar o job de inspeção para fornecer detalhes sobre cada transformação feita. A Proteção de dados sensíveis grava esses detalhes em uma tabela do BigQuery que você especifica. Neste documento, essa tabela é chamada de tabela de detalhes da transformação.

Conteúdo de uma tabela de detalhes da transformação

Esta seção lista e descreve o conteúdo da tabela de detalhes da transformação.

resource_name

O nome do job de inspeção que concluiu a transformação.

container_name

O arquivo que contém os dados transformados.

transformação

Detalhes sobre a transformação. Esse campo contém as seguintes propriedades:

tipo

O método de transformação que a proteção de dados sensíveis aplicou à descoberta. Confira a seguir alguns dos valores possíveis:

description

Uma representação de string da transformação. O valor é a saída de uma chamada toString() na mensagem de buffer de protocolo PrimitiveTransformation para todos os tipos de transformações, exceto uma RecordSuppression. Se o método de transformação for uma supressão de registro, esse campo estará vazio.

transição

Uma representação de string do RecordCondition para a transformação. Esse campo é definido apenas se uma condição de registro foi usada para determinar se a proteção de dados sensíveis precisa aplicar a transformação. Exemplos:

  • (age_field <= 18)
  • (zip_field exists)
  • (zip_field == 01234) && (age_field <= 18) && (city_field exists)
InfoType

Detalhes sobre o tipo de informação detectada na descoberta. Esse campo contém as seguintes propriedades:

name
Nome do infoType padrão ou personalizado.
version
Versão do infoType.

status_details

Detalhes sobre o status da transformação. Se a transformação não tiver sido concluída, esse campo especifica o que causou a falha. Esse campo contém as seguintes propriedades:

result_status_type

Um código que representa o status da tentativa de transformação. Estes são os valores possíveis:

  • STATE_TYPE_UNSPECIFIED: a Proteção de dados sensíveis não conseguiu determinar o status da transformação.
  • INVALID_TRANSFORM: a Proteção de dados sensíveis não conseguiu transformar a descoberta.
  • METADATA_UNRETRIEVABLE: há uma descoberta nos metadados personalizados de um arquivo. Ao gravar o arquivo transformado, a Proteção de dados sensíveis não conseguiu recuperar os metadados.
  • SUCCESS: a transformação foi bem-sucedida.
detalhes

Mais detalhes sobre o status. Esse campo segue as especificações definidas em Status. Esse campo contém as seguintes propriedades:

código
O código de erro.
mensagem
A mensagem de erro.
detalhes
Uma lista de mensagens com os detalhes do erro.

transformed_bytes

O número de bytes que a Proteção de dados sensíveis transformou. Se a transformação não tiver sido bem-sucedida ou se não houver conteúdo para transformar, o valor será 0.

transformation_location

Detalhes sobre o local da transformação.

Confira abaixo um exemplo JSON de um local de transformação, em que a Proteção de dados sensíveis realizou uma transformação de infoType:

{
    "finding_id": "2022-05-23T23:51:29.775337Z831678185946560283",
    "record_transformation": null,
    "container_type": "TRANSFORM_BODY"
}

Confira a seguir um exemplo JSON de um local de transformação, em que a proteção de dados confidenciais realizou uma transformação de registro:

{
    "finding_id": null,
    "record_transformation": {
      "field_id": {
        "name": " \"Name\""
      },
      "container_timestamp": {
        "timestamp": null,
        "seconds": "1654796423",
        "nanos": "763000000"
      },
      "container_version": "1654796423733485"
    },
    "container_type": "TRANSFORM_TABLE"
  }
}

Como mostram os exemplos, a Proteção de dados sensíveis preenche finding_id ou record_transformation, dependendo do tipo de transformação realizada. Os dois campos são mutuamente exclusivos.

finding_id
Este campo é definido se a proteção de dados sensíveis tiver realizado uma transformação de infotype. Cada ID de descoberta está relacionado a uma entrada na tabela de saída de descobertas. A tabela de saída de descobertas contém todas as descobertas que a Proteção de dados sensíveis detectou durante a inspeção. Essa tabela só é criada se você tiver configurado o job de inspeção para salvar as descobertas no BigQuery.
record_transformation

Esse campo é definido se a Proteção de Dados Sensíveis tiver realizado uma transformação de registro em dados tabulares. Esse campo contém as seguintes propriedades:

field_id
A coluna da tabela que contém a descoberta.
container_timestamp
Carimbo de data/hora da modificação do arquivo.
container_version
Número de geração do arquivo que contém a descoberta.
container_type

Informações sobre a funcionalidade dos dados que contêm a descoberta. Veja a seguir os valores possíveis:

  • TRANSFORM_UNKNOWN_CONTAINER: a Proteção de dados sensíveis não conseguiu determinar o tipo de dados que contém a descoberta.
  • TRANSFORM_BODY: a Proteção de dados sensíveis detectou a encontrada no corpo de um arquivo.
  • TRANSFORM_METADATA: a Proteção de dados sensíveis detectou a detecção nos metadados de um arquivo.
  • TRANSFORM_TABLE: a Proteção de dados sensíveis detectou a informação na tabela.

Exemplo de consultas

Confira a seguir exemplos de consultas que podem ser executadas na tabela de detalhes da transformação. Para informações sobre como consultar uma tabela do BigQuery, consulte Como executar consultas interativas.

Selecionar todas as transformações com falha

SELECT *
    FROM `PROJECT_ID.DATASET_ID.TABLE_ID`
    WHERE status_details.result_status_type != "SUCCESS";

Substitua:

  • PROJECT_ID: o ID do projeto que contém a tabela de detalhes da transformação.
  • DATASET_ID: o ID do conjunto de dados do BigQuery que contém a tabela de detalhes da transformação.
  • TABLE_ID: o ID da tabela de detalhes da transformação.

Contar o número de arquivos com falhas de transformação

SELECT COUNT(DISTINCT(container_name))
    FROM `PROJECT_ID.DATASET_ID.TABLE_ID`
    WHERE status_details.result_status_type != "SUCCESS";

Selecione todas as transformações que usaram o mascaramento de caracteres

SELECT resource_name, container_name, info_type.name
    FROM `PROJECT_ID.DATASET_ID.TABLE_ID`,
    UNNEST(transformation) AS tr
    WHERE tr.type LIKE "CHARACTER_MASK";

A seguir