Mudança de data

As datas são dados muito comuns. Nos casos em que as datas possam ser consideradas dados confidenciais ou informações de identificação pessoal (PII, na sigla em inglês), elas talvez precisem ser generalizadas, ofuscadas ou editadas.

Um método para fazer isso é a generalização ou agrupamento por classes. Entretanto, dependendo do caso de uso e da configuração, o agrupamento por classes pode remover o utilitário das datas. Por exemplo, se você generalizar todas as datas para apenas um ano, poderá perder a ordem em que os eventos ocorrem nesse ano. Um método alternativo para ofuscar datas que resolve esse problema é a mudança de data.

As técnicas de mudança de data alteram aleatoriamente um conjunto de datas, mas preservam a sequência e a duração de um período. Geralmente, a mudança de datas é feita no contexto para um indivíduo ou uma entidade. Ou seja, cada data individual é alterada por um espaço de tempo exclusivo para esse indivíduo.

Exemplo de mudança de data

Considere os seguintes dados:

user_id data ação
1 2009-06-09 run
1 2009-06-03 walk
1 2009-05-23 crawl
2 2010-11-03 crawl
2 2010-11-22 walk
... ... ...

Se você generalizar essas datas para um ano, terá:

user_id date_year ação
1 2009 run
1 2009 walk
1 2009 crawl
2 2010 crawl
2 2010 walk
... ... ...

Mas agora você perdeu as informações da sequência por usuário.

Em vez disso, tente a mudança de data:

user_id data ação
1 2009-07-17 run
1 2009-07-11 walk
1 2009-06-30 crawl
2 2011-01-26 crawl
2 2011-02-14 walk
... ... ...

Observe como as datas são diferentes, mas a sequência e a duração são preservadas. A magnitude em que as datas foram alteradas foi diferente entre user_ids 1 e 2.

Mudança de data no Cloud DLP

Segue um objeto JSON para configurar isso para o método content.deidentify do Cloud DLP:

deidentify_config {
  record_transformations {
    field_transformations {
      fields {
        name: "date"
      }
      primitive_transformation {
        date_shift_config {
          upper_bound_days: 100
          lower_bound_days: -100
          entity_field_id {
            name: "user_id"
          }
          crypto_key {
            unwrapped {
              key: "123456789012345678901234567890ab"
            }
          }
        }
      }
    }
  }
}

Os limites superior e inferior da mudança são especificados pelos valores upper_bound_days e lower_bound_days, respectivamente. O contexto ou o escopo ao qual essa mudança será aplicada é baseado no valor entity_id_field, que, neste caso, é "user_id".

Observe também o uso de uma crypto_key. Isso é semelhante à forma como ela é utilizada na pseudonimização. A chave permitirá que você mantenha a integridade dessas mudanças de data em várias solicitações ou execuções de dados.

Recursos

Para mais informações sobre como desidentificar dados usando a mudança de data e outros métodos no Cloud DLP, consulte:

Para mais informações de referência de API sobre transformações primárias no Cloud DLP, consulte: