Referência dos detalhes da transformação

Esta página descreve o conteúdo de uma tabela de detalhes da transformação e fornece exemplos de consultas que pode executar na mesma.

Quando desidentifica dados no armazenamento, pode configurar a tarefa de inspeção para fornecer detalhes sobre cada transformação que faz. A proteção de dados confidenciais escreve estes detalhes numa tabela do BigQuery que especifica. Neste documento, essa tabela é denominada tabela de detalhes da transformação.

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

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

resource_name

O nome da tarefa de inspeção que concluiu a transformação.

container_name

O ficheiro que contém os dados que foram transformados.

transformação

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

escrever

O método de transformação que a proteção de dados confidenciais aplicou à descoberta. Seguem-se alguns dos valores possíveis:

descrição

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

condição

Uma representação de string do RecordCondition para a transformação. Este campo só é definido se tiver sido usada uma condição de registo para determinar se a proteção de dados confidenciais tem de 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ções detetadas na descoberta. Este campo contém as seguintes propriedades:

nome
Nome do elemento integrado ou personalizado infoType.
versão
Versão do infoType.

status_details

Detalhes sobre o estado da transformação. Se a transformação não tiver sido bem-sucedida, este campo especifica o motivo da falha. Este campo contém as seguintes propriedades:

result_status_type

Um código que representa o estado da tentativa de transformação. Seguem-se os valores possíveis:

  • STATE_TYPE_UNSPECIFIED: não foi possível determinar o estado da transformação.
  • INVALID_TRANSFORM: A proteção de dados confidenciais não conseguiu transformar a descoberta.
  • METADATA_UNRETRIEVABLE: existe uma descoberta nos metadados personalizados de um ficheiro. Ao escrever o ficheiro transformado, a proteção de dados confidenciais não conseguiu aceder aos metadados.
  • SUCCESS: a transformação foi bem-sucedida.
detalhes

Detalhes adicionais do estado. Este campo segue as especificações definidas em Status. Este campo contém as seguintes propriedades:

código
O código de erro.
mensagem
A mensagem de erro.
detalhes
Uma lista de mensagens que contêm os detalhes do erro.

transformed_bytes

O número de bytes que a proteção de dados confidenciais transformou. Se a transformação não tiver sido bem-sucedida ou não existir conteúdo para transformar, o valor é 0.

transformation_location

Detalhes sobre a localização da transformação.

Segue-se um exemplo JSON de uma localização de transformação, em que a proteção de dados confidenciais executou uma transformação infoType:

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

Segue-se um exemplo JSON de uma localização de transformação, onde a proteção de dados confidenciais efetuou uma transformação de registo:

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

Conforme mostram os exemplos, a proteção de dados confidenciais preenche finding_id ou record_transformation, consoante o tipo de transformação que realizou. Os dois campos são mutuamente exclusivos.

finding_id
Este campo é definido se a proteção de dados confidenciais tiver efetuado uma transformação de infotipo. Cada ID de descoberta está correlacionado com uma entrada na tabela de resultados de descobertas. A tabela de resultados contém todos os resultados que a Proteção de dados confidenciais detetou durante a inspeção. Esta tabela só é criada se tiver configurado a tarefa de inspeção para guardar as descobertas no BigQuery.
record_transformation

Este campo é definido se a proteção de dados confidenciais tiver efetuado uma transformação de registos em dados tabulares. Este campo contém as seguintes propriedades:

field_id
A coluna da tabela que contém a descoberta.
container_timestamp
Indicação de tempo de modificação do ficheiro.
container_version
Número de geração do ficheiro que contém a descoberta.
container_type

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

  • TRANSFORM_UNKNOWN_CONTAINER: A proteção de dados confidenciais não conseguiu determinar o tipo de dados que contém a descoberta.
  • TRANSFORM_BODY: a proteção de dados confidenciais detetou a descoberta no corpo de um ficheiro.
  • TRANSFORM_METADATA: a Proteção de dados confidenciais detetou a descoberta nos metadados de um ficheiro.
  • TRANSFORM_TABLE: a proteção de dados confidenciais detetou a descoberta na tabela.

Consultas de exemplo

Seguem-se exemplos de consultas que pode executar na tabela de detalhes da transformação. Para obter informações sobre como consultar uma tabela do BigQuery, consulte o artigo Executar consultas interativas.

Selecione todas as transformações com falhas

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

Substitua o seguinte:

  • 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 ficheiros 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 a ocultação de carateres

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

O que se segue?