Como visualizar o risco de reidentificação usando o Looker Studio

Neste tópico, mostramos como medir o k-anonimato de um conjunto de dados usando a proteção de dados sensíveis e como visualizá-lo no Looker Studio. Isso permitirá que você entenda melhor os riscos e ajudará a avaliar as vantagens e desvantagens de editar ou desidentificar os dados em termos de utilidade.

Embora o foco deste tópico seja a visualização dak-anonimato da métrica de análise de risco de reidentificação, também é possível visualizar as métricas de l-diversidade usando os mesmos métodos.

Neste tópico, supomos que você já esteja familiarizado com o conceito do k-anonimato e sua utilidade para avaliar a capacidade de reidentificação de registros em um conjunto de dados. Também é útil estar pelo menos um pouco familiarizado com como calcular k-anonimato usando a proteção de dados sensíveis e com o Looker Studio.

Introdução

As técnicas de desidentificação podem ser muito úteis para proteger a privacidade dos usuários enquanto você processa ou usa dados. Mas como saber se um conjunto de dados foi suficientemente desidentificado? Como você saberá se a desidentificação resultou em uma perda excessiva de dados no seu caso de uso? Ou seja, como comparar o risco de reidentificação com a utilidade dos dados para ajudar você a tomar decisões baseadas em dados?

O cálculo do valor de k-anonimato de um conjunto de dados ajuda a responder a essas perguntas avaliando a reidentificabilidade dos registros do conjunto de dados. A proteção de dados sensíveis tem uma funcionalidade integrada para calcular o valor de k-anonimato em um conjunto de dados com base em semi-identificadores especificados por você. Isso permite que você avalie rapidamente se a desidentificação de uma determinada coluna ou combinação de colunas resultará em um conjunto de dados com maior ou menor probabilidade de ser reidentificado.

Exemplo de conjunto de dados

Veja a seguir as primeiras linhas de um grande conjunto de dados de exemplo.

user_id age title score
602-61-8588 24 Biostatistician III 733
771-07-8231 46 Executive Secretary 672
618-96-2322 69 Programmer I 514
... ... ... ...

Para a finalidade deste tutorial, user_id não será abordado, já que o foco são os semi-identificadores. Em um cenário real, é preciso garantir que user_id seja editado ou tokenizado adequadamente. A coluna score é reservada a esse conjunto de dados, e é improvável que um invasor possa descobri-la por outros meios. Portanto, não será incluída na análise. Foque nas colunas restantes, age e title, em que um invasor poderia descobrir informações sobre um indivíduo por meio de outras fontes de dados. As perguntas que você precisa responder referentes ao conjunto de dados são:

  • Qual o efeito dos dois semi-identificadores, age e title, no risco de reidentificação geral dos dados desidentificados?
  • Como a aplicação de uma transformação de desidentificação afetará esse risco?

É preciso garantir que a combinação de age e title não seja mapeada para um pequeno número de usuários. Por exemplo, suponha que há apenas um usuário no conjunto de dados cujo título é o Programador I e que tem 69 anos. O invasor pode cruzar esses dados com informações demográficas ou outras informações disponíveis, descobrir quem é a pessoa e saber o valor da sua pontuação. Para mais informações sobre esse fenômeno, consulte a seção "IDs da entidade e cálculo do k-anonimato" no tópico conceitual Análise de risco.

Etapa 1: calcular o k-anonimato no conjunto de dados

Primeiro, use a proteção de dados sensíveis para calcular o k-anonimato no conjunto de dados enviando o JSON a seguir ao recurso DlpJob. Nesse JSON, você define o ID da entidade como a coluna user_id e identifica os dois semi-identificadores como as colunas age e title. Você também instrui a proteção de dados sensíveis a salvar os resultados em uma nova tabela do BigQuery.

Entrada JSON:

POST https://dlp.googleapis.com/v2/projects/dlp-demo-2/dlpJobs

{
  "riskJob": {
    "sourceTable": {
      "projectId": "dlp-demo-2",
      "datasetId": "dlp_testing",
      "tableId": "dlp_test_data_kanon"
    },
    "privacyMetric": {
      "kAnonymityConfig": {
        "entityId": {
          "field": {
            "name": "id"
          }
        },
        "quasiIds": [
          {
            "name": "age"
          },
          {
            "name": "job_title"
          }
        ]
      }
    },
    "actions": [
      {
        "saveFindings": {
          "outputConfig": {
            "table": {
              "projectId": "dlp-demo-2",
              "datasetId": "dlp_testing",
              "tableId": "test_results"
            }
          }
        }
      }
    ]
  }
}

Depois que o job de k-anonimato for concluído, a proteção de dados confidenciais enviará os resultados dele para uma tabela do BigQuery chamada dlp-demo-2.dlp_testing.test_results.

Etapa 2: conectar os resultados ao Looker Studio

Em seguida, você vai conectar a tabela do BigQuery que produziu na Etapa 1 a um novo relatório no Looker Studio.

  1. Abra o Looker Studio.

    Abrir o Looker Studio

  2. Clique em Criar > Relatório.

  3. No painel Adicionar dados ao relatório em Conectar aos dados, clique em BigQuery. Talvez seja necessário autorizar o Looker Studio a acessar suas tabelas do BigQuery.

  4. No seletor de coluna, selecione Meus projetos. Em seguida, escolha o projeto, o conjunto de dados e a tabela. Quando terminar, clique em Adicionar. Caso você veja um aviso de que está prestes a adicionar dados ao relatório, clique em Adicionar ao relatório.

Os resultados da verificação de k-anonimato foram adicionados ao novo relatório do Looker Studio. Na próxima etapa, você criará o gráfico.

Etapa 3: criar o gráfico

Faça o seguinte para inserir e configurar o gráfico:

  1. No Looker Studio, se uma tabela de valores for mostrada, selecione-a e pressione "Excluir" para removê-la.
  2. No menu Inserir, clique em Gráfico de combinação.
  3. Clique e desenhe um retângulo na tela onde você quer que o gráfico apareça.

Em seguida, configure os dados do gráfico na guia Dados para que ele mostre o efeito da variação do tamanho e das faixas de valores dos buckets:

  1. Limpe os campos abaixo dos cabeçalhos a seguir apontando para cada campo e clicando no X , conforme mostrado aqui:
    Detalhe do campo "carimbo de data/hora" com o botão "excluir"
   ativado.
    • Dimensão do período
    • Dimensão
    • Métrica
    • Sort
  2. Com todos os campos apagados, arraste o campo upper_endpoint da coluna Campos disponíveis para o título Dimensão.
  3. Arraste o campo upper_endpoint para o cabeçalho Classificar e selecione Crescente.
  4. Arraste os campos bucket_size e bucket_value_count para o cabeçalho Métrica.
  5. Passe o mouse sobre o ícone à esquerda da métrica bucket_size para exibir um ícone de edição. Clique no ícone Editar e faça o seguinte:
    1. No campo Nome, digite Unique row loss.
    2. Em Tipo, escolha Porcentagem.
    3. Em Cálculo de comparação, escolha Porcentagem do total.
    4. Em Cálculo em execução, escolha Soma em execução.
  6. Repita a etapa anterior para a métrica bucket_value_count, mas no campo Nome, digite Unique quasi-identifier combination loss.

Quando terminar, a coluna terá a seguinte aparência:

Captura de tela da lista de campos.

Por fim, configure o gráfico para exibir um gráfico de linhas com as duas métricas:

  1. Clique na guia ESTILO no painel à direita da janela.
  2. Para as séries 1 e 2, escolha Linha.
  3. Para visualizar o gráfico final separadamente, clique no botão Visualizar no canto superior direito da janela.

Veja a seguir um gráfico de exemplo depois de concluir as etapas anteriores.

Gráfico final

Como interpretar o gráfico

O gráfico gerado apresenta, no eixo y, a possível porcentagem de perda de dados para as duas linhas únicas e combinações únicas de semi-identificadores para atingir, no eixo x, um valor de k-anonimato.

Os valores de k-anonimato mais altos indicam menos risco de reidentificação. No entanto, para ter valores de k-anonimato maiores, será necessário remover porcentagens maiores do total de linhas e de combinações de semi-identificadores exclusivos, o que pode diminuir a utilidade dos dados.

Felizmente, eliminar os dados não é sua única opção para reduzir o risco de reidentificação. Outras técnicas de desidentificação podem fornecer um melhor equilíbrio entre perda e utilidade. Por exemplo, para lidar com o tipo de perda de dados associado a valores de k-anonimato mais altos nesse conjunto de dados, você pode tentar agrupar idades ou títulos de cargos para reduzir a exclusividade das combinações de idade/job de título. É possível, por exemplo, agrupar idades por classes em intervalos de 20 a 25, 25 a 30, 30 a 35 e assim por diante. Para mais informações sobre como realizar esse procedimento, consulte Generalização e agrupamento por classes e Como desidentificar dados confidenciais no conteúdo do texto.