La generalizzazione è il processo di acquisizione di un valore distintivo e la sua astrazione 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 raggruppamento. Con il bucketing, raggruppi i record in bucket più piccoli nel tentativo di ridurre al minimo il rischio che un malintenzionato associ informazioni sensibili a informazioni identificative. In questo modo, il significato e l'utilità possono essere mantenuti, ma i valori individuali con un numero troppo basso di partecipanti verranno oscurati.
Scenario di bucketing 1
Considera questo scenario di raggruppamento numerico: un database memorizza i punteggi di soddisfazione degli utenti, che vanno da 0 a 100. Il database ha un aspetto 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. Infatti, ci sono 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 solo uno ha scelto 92. Anziché conservare i dati non elaborati, potresti generalizzare questi valori in gruppi ed eliminare i gruppi con un numero troppo basso di partecipanti. 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 raggruppamento. Per questo esempio, raggruppiamo tutti i valori in base a quanto segue:
- Da 0 a 25: "Basso"
- 26-75: "Medio"
- 76-100: "Alto"
Il raggruppamento in bucket in Sensitive Data Protection è una delle tante trasformazioni primitive disponibili per l'anonimizzazione. La seguente configurazione JSON
illustra come implementare questo scenario di suddivisione in bucket nell'API DLPLP. Questo JSON può essere incluso in una richiesta al metodo
content.deidentify
:
C#
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, vedi Librerie client di Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, vedi Librerie client di Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, vedi Librerie client di Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, vedi Librerie client di Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, vedi Librerie client di Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Sensitive Data Protection, vedi Librerie client di Sensitive Data Protection.
Per eseguire l'autenticazione in Sensitive Data Protection, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi 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 raggruppamento può essere utilizzato anche per stringhe o valori enumerati. Supponiamo che tu voglia condividere i dati sugli stipendi e includere i titoli professionali. Tuttavia, alcune cariche, come CEO o ingegnere di spicco, possono essere collegate a una persona o a un piccolo gruppo di persone. Queste posizioni vengono facilmente associate ai dipendenti che le ricoprono.
Anche il bucketing può essere utile. Invece di includere titoli di lavoro 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 raggruppamento di titoli di lavoro specifici in famiglie di titoli di lavoro.
Altri scenari
In questi esempi, abbiamo applicato la trasformazione ai dati strutturati. Il raggruppamento può essere utilizzato anche su esempi non strutturati, a condizione che il valore possa essere classificato con uinfoTypeni predefinito o personalizzato. Di seguito sono riportati alcuni scenari di esempio:
- Classificare le date e raggrupparle in intervalli di anni
- Classifica i nomi e raggruppali in base alla prima lettera (A-M, N-Z)
Risorse
Per saperne di più su generalizzazione e raggruppamento, consulta Anonimizzazione dei dati sensibili nel contenuto testuale.
Per la documentazione dell'API, consulta:
- Metodo
projects.content.deidentify
BucketingConfig
trasformazione: raggruppa i valori in bucket in base a intervalli personalizzati.FixedSizeBucketingConfig
trasformazione: raggruppa i valori in base a intervalli di dimensioni fisse.