La generalizzazione è il processo di astrazione di un valore distintivo in un valore più generale e meno distintivo. La generalizzazione tenta di preservare l'utilità dei dati riducendone al contempo l'identificabilità.
A seconda del tipo di dati, possono esistere molti livelli di generalizzazione. 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 del rischio di Sensitive Data Protection.
Una tecnica di generalizzazione comune supportata da Sensitive Data Protection è il bucketing. Con il bucketing, raggruppi i record in bucket più piccoli nel tentativo di ridurre al minimo il rischio che un utente malintenzionato associ informazioni sensibili a informazioni identificative. In questo modo, puoi mantenere il significato e l'utilità, ma oscurerai anche i singoli valori con un numero di partecipanti troppo basso.
Scenario di bucketing 1
Considera questo scenario di bucketing numerico: un database memorizza i punteggi di soddisfazione degli utenti, che vanno da 0 a 100. Il database è simile al seguente:
| user_id | punteggio |
|---|---|
| 1 | 100 |
| 2 | 100 |
| 3 | 92 |
| … | … |
Scansionando i dati, ti rendi conto che alcuni valori vengono utilizzati raramente dagli utenti. Esistono infatti alcuni punteggi che corrispondono a un solo utente. Ad esempio, la maggior parte degli utenti sceglie 0, 25, 50, 75 o 100. Tuttavia, cinque utenti hanno scelto 95 e un solo utente ha scelto 92. Anziché conservare i dati non elaborati, potresti generalizzare questi valori in gruppi ed eliminare i gruppi con un numero di partecipanti troppo basso. A seconda di come vengono utilizzati i dati, la generalizzazione dei dati in questo modo potrebbe contribuire a impedire la reidentificazione.
Puoi scegliere di rimuovere queste righe di dati anomali oppure tentare di preservarne l'utilità utilizzando il bucketing. Per questo esempio, raggruppiamo tutti i valori in base a quanto segue:
- Da 0 a 25: "Basso"
- Da 26 a 75: "Medio"
- Da 76 a 100: "Alto"
Il bucketing in Sensitive Data Protection è una delle tante trasformazioni primitive disponibili per l'anonimizzazione. La seguente configurazione JSON mostra come implementare questo scenario di bucketing nell'API DLP. Questo JSON può essere incluso in una richiesta al
content.deidentify
metodo:
C#
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, consulta Librerie client di Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
REST
...
{
"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 di bucketing 2
Il bucketing può essere utilizzato anche per stringhe o valori enumerati. Supponiamo che tu voglia condividere i dati sugli stipendi e includere i titoli professionali. Tuttavia, alcuni titoli professionali, come CEO o ingegnere di spicco, possono essere collegati a una persona o a un piccolo gruppo di persone. Questi titoli professionali vengono facilmente associati ai dipendenti che li ricoprono.
Anche in questo caso il bucketing può essere utile. Anziché includere i titoli professionali esatti, generalizzali e raggruppali. Ad esempio, "Ingegnere senior", "Ingegnere junior" e "Ingegnere di spicco" vengono generalizzati e raggruppati semplicemente in "Ingegnere". La tabella seguente illustra il bucketing di titoli professionali specifici in famiglie di titoli professionali.

Altri scenari
In questi esempi, abbiamo applicato la trasformazione ai dati strutturati. Il bucketing può essere utilizzato anche per 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 saperne di più sulla generalizzazione e sul bucketing, consulta Anonimizzazione dei dati sensibili nei contenuti di testo.
Per la documentazione dell'API, consulta:
projects.content.deidentifymetodoBucketingConfigtrasformazione: raggruppa i valori in base a intervalli personalizzati.FixedSizeBucketingConfigtrasformazione: raggruppa i valori in base a intervalli di dimensioni fisse.