La generalizzazione è il processo con cui si assume un valore distintivo e lo si astraggono in un valore più generale e meno distintivo. La generalizzazione tenta di preservare l'utilità dei dati riducendo al contempo l'identità dei dati.
Possono essere presenti molti livelli di generalizzazione a seconda del tipo di dati. La quantità di generalizzazione necessaria è qualcosa che puoi misurare in un set di dati o in una popolazione reale utilizzando tecniche come quelle incluse nell'analisi dei rischi di Cloud Data Loss Prevention.
Una tecnica di generalizzazione comune supportata da Cloud DLP è il bucket. Con il bucket, i gruppi vengono raggruppati in bucket più piccoli nel tentativo di ridurre al minimo il rischio che un utente malintenzionato associ informazioni sensibili con le informazioni identificative. In questo modo manterrai significato e utilità, ma oscurerà anche i singoli valori con un numero insufficiente di partecipanti.
Scenario bucket 1
Considera questo scenario di bucket numerico: un database archivia i punteggi di soddisfazione degli utenti, che vanno da 0 a 100. Il database è simile al seguente:
ID_utente | score |
---|---|
1 | 100 |
2 | 100 |
3 | 92 |
… | … |
Analizzando i dati, ti rendi conto che alcuni valori vengono utilizzati raramente dagli utenti. In realtà, ci sono alcuni punteggi che vengono mappati a un solo utente. Ad esempio, la maggior parte degli utenti sceglie 0, 25, 50, 75 o 100. Tuttavia, cinque utenti ne hanno selezionati 95 e uno solo 92. Invece di conservare i dati non elaborati, puoi generalizzare questi valori in gruppi ed eliminare i gruppi con un numero di partecipanti troppo ridotto. A seconda di come vengono utilizzati i dati, generalizzarli in questo modo potrebbe impedire la reidentificazione.
Puoi scegliere di rimuovere queste righe di dati outlier o tentare di mantenerne l'utilità utilizzando il bucket. Per questo esempio, creiamo un bucket di tutti i valori in base ai seguenti elementi:
- Da 0 a 25: "Basso"
- 26-75: "Medio"
- 76-100: "alto"
Il bucket in Cloud DLP è una delle numerose trasformazioni
primi disponibili per l'anonimizzazione. La seguente configurazione JSON illustra come implementare questo scenario di bucket nell'API DLP. che potrebbe essere incluso in una richiesta al metodo content.deidentify
:
... { "primitiveTransformation": { "bucketingConfig": { "buckets": [ { "min": { "integerValue": "0" }, "max": { "integerValue": "25" }, "replacementValue": { "stringValue": "Low" } }, { "min": { "integerValue": "26" }, "max": { "integerValue": "75" }, "replacementValue": { "stringValue": "Medium" } }, { "min": { "integerValue": "76" }, "max": { "integerValue": "100" }, "replacementValue": { "stringValue": "High" } } ] } } } ...
Scenario bucket 2
Il bucket può essere utilizzato anche su stringhe o valori enumerati. Supponi di voler condividere dati relativi allo stipendio e includere titoli professionali. Tuttavia, alcune qualifiche, come CEO o ingegnere distintivo, possono essere collegate a una sola persona o a un piccolo gruppo di persone. Tali mansioni possono essere facilmente assegnate ai dipendenti che le ricoprono.
Anche il bucket può esserti di aiuto. Invece di includere esattamente le qualifiche professionali, generalizza e raggruppale. Ad esempio, "Senior Engineer", "Junior Engineer," e "distinto Engineer", si tratta di generalizzazione e bucket in semplice, Engineer." La tabella seguente illustra la creazione di bucket per specifici titoli di lavoro in famiglie di qualifiche.
Altri scenari
In questi esempi, abbiamo applicato la trasformazione ai dati strutturati. Il bucket può essere utilizzato anche su esempi non strutturati, a condizione che il valore possa essere classificato con un infoType predefinito o personalizzato. Di seguito sono riportati alcuni scenari di esempio:
- Classifica le date e raggruppale in intervalli di anni
- Classifica i nomi e raggruppali in gruppi in base alla prima lettera (A-M, N-Z)
Risorse
Per ulteriori informazioni sulla generalizzazione e sul bucket, consulta Anonimizzazione dei dati sensibili nei contenuti di testo.
Per la documentazione dell'API, vedi:
- Metodo
projects.content.deidentify
- Trasformazione di
BucketingConfig
: bucket dei valori in base a intervalli personalizzati. - Trasformazione di
FixedSizeBucketingConfig
: valori dei bucket basati su intervalli di dimensioni fisse.