Le date sono un tipo di dati molto comune. Nei casi in cui le date possono essere considerate dati sensibili o informazioni che consentono l'identificazione personale (PII), potresti dover generalizzare, offuscare o oscurare le date.
Un metodo per farlo è la generalizzazione o il bucketing. Tuttavia, a seconda del caso d'uso e della configurazione, il bucket può rimuovere l'utilità dalle date. Ad esempio, se generalizzi tutte le date a un solo anno, potresti perdere l'ordine in cui si verificano gli eventi nell'anno in questione. Un metodo alternativo per offuscare le date che risolve questo problema è il spostamento delle date.
Le tecniche di spostamento della data spostano in modo casuale un insieme di date, ma preservano la sequenza e la durata di un periodo di tempo. Il cambio di date di solito viene fatto nel contesto di un individuo o di un'entità. In altre parole, le date di ogni individuo vengono spostate in base a una quantità di tempo specifica per l'individuo.
Esempio di cambio data
Considera i seguenti dati:
user_id | date | azione |
---|---|---|
1 | 2009-06-09 | run |
1 | 2009-06-03 | camminata |
1 | 2009-05-23 | eseguire la scansione |
2 | 2010-11-03 | eseguire la scansione |
2 | 2010-11-22 | camminata |
... | ... | ... |
Se generalizzi queste date per anno, ottieni:
user_id | date_year | azione |
---|---|---|
1 | 2009 | run |
1 | 2009 | camminata |
1 | 2009 | eseguire la scansione |
2 | 2010 | eseguire la scansione |
2 | 2010 | camminata |
... | ... | ... |
Ma ora hai perso ogni senso della sequenza per utente.
Prova invece a cambiare data:
user_id | date | azione |
---|---|---|
1 | 2009-07-17 | run |
1 | 2009-07-11 | camminata |
1 | 2009-06-30 | eseguire la scansione |
2 | 2011-01-26 | eseguire la scansione |
2 | 2011-02-14 | camminata |
... | ... | ... |
Nota come le date sono diverse, ma la sequenza e la durata vengono mantenute.
L'entità dello spostamento delle date era diversa tra i periodi 1 e 2 di user_id
.
Cambio data in Sensitive Data Protection
Di seguito è riportato un oggetto JSON per la configurazione del metodo content.deidentify
di Sensitive Data Protection:
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"
}
}
}
}
}
}
}
I limiti superiore e inferiore dello spostamento sono specificati rispettivamente dai valori upper_bound_days
e lower_bound_days
. Il contesto o l'ambito a cui verrà applicato lo spostamento si basa sul valore entity_id_field
, che in questo caso è "user_id"
.
Nota anche l'utilizzo di un crypto_key
. È simile a come viene
utilizzato nell'assegnazione di pseudonimi. La chiave ti consentirà di mantenere l'integrità di questi spostamenti di date in più richieste o esecuzioni di dati.
Risorse
Per ulteriori informazioni su come anonimizzare i dati utilizzando il cambio di data e altri metodi in Sensitive Data Protection, consulta:
Per informazioni di riferimento sulle API sulle trasformazioni primitive in Sensitive Data Protection, consulta:
DeidentifyConfig
oggetto: l'oggetto in cui configuri le opzioni di anonimizzazione.PrimitiveTransformations
: lo spostamento delle date è una "trasformazione primitiva" in Sensitive Data Protection.DateShiftConfig
oggetto: l'oggetto con cui configurare l'oggettoPrimitiveTransformations
. Specificando l'oggettoDateShiftConfig
, puoi spostare le date di un numero casuale di giorni.