K-anonymity è una proprietà di un set di dati che indica la reidentificabilità dei suoi record. Un set di dati è k - anonimo se i quasi-identificatori per ogni persona nel set di dati sono identici ad almeno k - 1 altre persone anche nel set di dati.
Puoi calcolare il valore k-anonymity in base a uno o più colonne o campi di un set di dati. Questo argomento illustra come calcolare i valori k-anonymity per un set di dati utilizzando Sensitive Data Protection. Per ulteriori informazioni sul k-anonymity o sull'analisi del rischio in generale, consulta l'argomento del concetto di analisi del rischio prima di continuare.
Prima di iniziare
Prima di continuare, assicurati di aver eseguito le seguenti operazioni:
- Accedi al tuo Account Google.
- Nella pagina del selettore progetti della console Google Cloud, seleziona o crea un progetto Google Cloud. Vai al selettore dei progetti
- Verifica che la fatturazione sia attivata per il tuo progetto Google Cloud. Scopri come verificare che la fatturazione sia abilitata per il tuo progetto.
- Attiva Sensitive Data Protection. Abilita Sensitive Data Protection
- Seleziona un set di dati BigQuery da analizzare. Sensitive Data Protection calcola la metrica k-anonimato mediante l'analisi di una tabella BigQuery.
- Determina un identificatore (se applicabile) e almeno un quasi-identificatore nel set di dati. Per ulteriori informazioni, consulta la pagina Termini e tecniche di analisi del rischio.
Compute k-anonymity
Sensitive Data Protection esegue l'analisi del rischio ogni volta che viene eseguito un job di analisi del rischio. Devi prima creare il job utilizzando la console Google Cloud, inviando una richiesta API DLP o utilizzando una libreria client di Sensitive Data Protection.
Console
Nella console Google Cloud, vai alla pagina Crea analisi del rischio.
Nella sezione Scegli i dati di input, specifica la tabella BigQuery da analizzare inserendo l'ID del progetto che contiene la tabella, l'ID del set di dati della tabella e il nome della tabella.
Nella sezione Metrica sulla privacy da calcolare, seleziona k-anonymity.
Nella sezione ID job, puoi scegliere di assegnare al job un identificatore personalizzato e selezionare una località delle risorse in cui Sensitive Data Protection elaborerà i dati. Al termine, fai clic su Continua.
Nella sezione Definisci i campi, specifichi identificatori e quasi-identificatori per il job di rischio k-anonymity. Sensitive Data Protection accede ai metadati della tabella BigQuery specificata nel passaggio precedente e tenta di compilare l'elenco dei campi.
- Seleziona la casella di controllo appropriata per specificare un campo come identificatore (ID) o quasi-identificatore (QI). Devi selezionare 0 o 1 identificatori e almeno 1 quasi-identificatore.
- Se Sensitive Data Protection non è in grado di compilare i campi, fai clic su Inserisci il nome di un campo per inserire manualmente uno o più campi e impostare ciascuno come identificatore o quasi-identificatore. Al termine, fai clic su Continua.
Nella sezione Aggiungi azioni, puoi aggiungere azioni facoltative da eseguire quando il job relativo ai rischi viene completato. Le opzioni disponibili sono:
- Salva in BigQuery: salva i risultati dell'analisi dell'analisi del rischio in una tabella BigQuery.
Pubblica in Pub/Sub: pubblica una notifica in un argomento Pub/Sub.
Notifica via email. Ti invia un'email con i risultati. Al termine, fai clic su Crea.
Il job di analisi del rischio k-anonymity viene avviato immediatamente.
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 Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare 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 Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare 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 Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare 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 Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare 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 Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare 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 Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
REST
Per eseguire un nuovo job di analisi del rischio per calcolare k-anonymity, invia una richiesta alla risorsa projects.dlpJobs
, dove PROJECT_ID indica l'identificatore di progetto:
https://dlp.googleapis.com/v2/projects/PROJECT_ID/dlpJobs
La richiesta contiene un oggetto RiskAnalysisJobConfig
, composto da quanto segue:
Un oggetto
PrivacyMetric
. Qui è dove specifichi che vuoi calcolare k-anonymity includendo un oggettoKAnonymityConfig
.Un oggetto
BigQueryTable
. Specifica la tabella BigQuery da analizzare includendo tutti i seguenti elementi:projectId
: l'ID del progetto contenente la tabella.datasetId
: l'ID del set di dati della tabella.tableId
: il nome della tabella.
Un insieme di uno o più oggetti
Action
, che rappresentano le azioni da eseguire, nell'ordine indicato, al completamento del job. Ogni oggettoAction
può contenere una delle seguenti azioni:- Oggetto
SaveFindings
: salva i risultati dell'analisi dell'analisi del rischio in una tabella BigQuery. PublishToPubSub
object: pubblica una notifica in un argomento Pub/Sub.Oggetto
JobNotificationEmails
: ti invia un'email con i risultati.
All'interno dell'oggetto
KAnonymityConfig
, specifichi quanto segue:quasiIds[]
: uno o più quasi-identificatori (oggettiFieldId
) da scansionare e usare per calcolare il k-anonymity. Quando specifichi più quasi-identificatori, vengono considerati un'unica chiave composita. Gli struct e i tipi di dati ripetuti non sono supportati, ma i campi nidificati sono supportati purché non siano struct e non siano nidificati all'interno di un campo ripetuto.entityId
: valore dell'identificatore facoltativo che, se impostato, indica che tutte le righe corrispondenti a ognientityId
distinto devono essere raggruppate insieme per il calcolo di k-anonymity. In genere,entityId
è una colonna che rappresenta un utente unico, come un ID cliente o un ID utente. Quando unentityId
appare su più righe con diversi valori di quasi-identificatore, queste righe vengono unite per formare un multiset che verrà utilizzato come quasi-identificatori per quell'entità. Per ulteriori informazioni sugli ID entità, consulta ID entità e calcolo k-anonymity nell'argomento concettuale Analisi dei rischi.
- Oggetto
Non appena invii una richiesta all'API DLP, viene avviato il job di analisi del rischio.
Elenca job di analisi del rischio completati
Puoi visualizzare un elenco dei job di analisi del rischio eseguiti nel progetto attuale.
Console
Per elencare i job di analisi del rischio in esecuzione e in precedenza nella console Google Cloud:
Nella console Google Cloud, apri Sensitive Data Protection.
Fai clic sulla scheda Job e trigger di job nella parte superiore della pagina.
Fai clic sulla scheda Job di rischio.
Viene visualizzato l'elenco delle offerte di lavoro per i rischi.
Protocollo
Per elencare i job di analisi del rischio in esecuzione e in precedenza, invia una richiesta GET alla risorsa projects.dlpJobs
. L'aggiunta di un filtro per il tipo di job (?type=RISK_ANALYSIS_JOB
) restringe la risposta solo ai job di analisi del rischio.
https://dlp.googleapis.com/v2/projects/PROJECT_ID/dlpJobs?type=RISK_ANALYSIS_JOB
La risposta che ricevi contiene una rappresentazione JSON di tutti i job di analisi del rischio attuali e precedenti.
Visualizza i risultati dei job k-anonymity
Sensitive Data Protection nella console Google Cloud offre visualizzazioni integrate per i job k-anonymity completati. Dopo aver seguito le istruzioni riportate nella sezione precedente, seleziona il job di cui vuoi visualizzare i risultati dall'elenco dei job di analisi del rischio. Supponendo che il job sia stato eseguito correttamente, la parte superiore della pagina Dettagli dell'analisi del rischio sarà simile alla seguente:
Nella parte superiore della pagina sono riportate le informazioni sul job di rischio k-anonymity, inclusi il relativo ID job e, in Container, la località delle risorse.
Per visualizzare i risultati del calcolo del k-anonymity, fai clic sulla scheda K-anonymity. Per visualizzare la configurazione del job di analisi del rischio, fai clic sulla scheda Configurazione.
La scheda K-anonymity elenca innanzitutto l'ID entità (se presente) e i quasi-identificatori utilizzati per calcolare k-anonymity.
Grafico del rischio
Il grafico Rischio di reidentificazione traccia, sull'asse y, la percentuale potenziale di perdita di dati per le righe univoche e le combinazioni di quasi-identificatori uniche per ottenere, sull'asse x, un valore k-anonymity. Il colore del grafico indica anche il potenziale di rischio. Le tonalità di blu più scure indicano un rischio maggiore, mentre le tonalità più chiare indicano un rischio minore.
Valori k più elevati indicano un minore rischio di reidentificazione. Tuttavia, per ottenere valori di k-anonymity più elevati, devi rimuovere percentuali più elevate delle righe totali e combinazioni di quasi-identificatori unici più elevate, il che potrebbe diminuire l'utilità dei dati. Per visualizzare un valore specifico di perdita percentuale per un determinato valore k-anonymity, passa il mouse sopra il grafico. Come mostrato nello screenshot, nel grafico viene visualizzata una descrizione comando.
Per visualizzare ulteriori dettagli su un valore k-anonymity specifico, fai clic sul punto dati corrispondente. Una spiegazione dettagliata viene mostrata sotto il grafico, mentre una tabella di dati di esempio appare più in basso nella pagina.
Tabella dati di esempio sul rischio
Il secondo componente della pagina dei risultati del job di rischio è la tabella dei dati di esempio. Visualizza le combinazioni di quasi-identificatori per un determinato valore target k-anonymity.
Nella prima colonna della tabella sono elencati i valori k-anonymity. Fai clic su un valore k-anonymity per visualizzare i dati di esempio corrispondenti che dovrebbero essere eliminati per raggiungere questo valore.
La seconda colonna mostra la rispettiva potenziale perdita di dati di combinazioni di righe e quasi-identificatori univoche, nonché il numero di gruppi con almeno k record e il numero totale di record.
L'ultima colonna mostra un campione di gruppi che condividono una combinazione di quasi-identificatori, insieme al numero di record esistenti per quella combinazione.
Recupera i dettagli del job utilizzando REST
Per recuperare i risultati del job di analisi del rischio k-anonymity utilizzando l'API REST, invia la seguente richiesta GET alla risorsa projects.dlpJobs
. Sostituisci PROJECT_ID con l'ID progetto e JOB_ID con l'identificatore del job per cui vuoi ottenere risultati.
L'ID job è stato restituito quando hai avviato il job e può anche essere recuperato elencando tutti i job.
GET https://dlp.googleapis.com/v2/projects/PROJECT_ID/dlpJobs/JOB_ID
La richiesta restituisce un oggetto JSON contenente un'istanza del job. I risultati dell'analisi si trovano all'interno della chiave "riskDetails"
, in un oggetto AnalyzeDataSourceRiskDetails
. Per ulteriori informazioni, consulta il riferimento API per la risorsa DlpJob
.
Esempio di codice: calcolo per k-anonymity con un ID entità
Questo esempio crea un job di analisi del rischio che calcola k-anonymity con un ID entità.
Per ulteriori informazioni sugli ID entità, consulta ID entità e calcolo di k-anonymity.
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 Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare 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 Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare 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 Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare 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 Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare 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 Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare 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 Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Passaggi successivi
- Scopri come calcolare il valore l-diversity per un set di dati.
- Scopri come calcolare il valore k-map per un set di dati.
- Scopri come calcolare il valore della presenza di Δ per un set di dati.