La gestione corretta dei dati sensibili archiviati in un repository di archiviazione inizia con la classificazione dello spazio di archiviazione: l'identificazione della posizione dei dati sensibili nel repository, del tipo di dati sensibili e del modo in cui vengono utilizzati. Queste informazioni possono aiutarti a impostare correttamente le autorizzazioni di controllo dell'accesso e condivisione e possono far parte di un piano di monitoraggio continuo.
Sensitive Data Protection può rilevare e classificare i dati sensibili archiviati in una posizione di Cloud Storage, un tipo di Datastore o una tabella BigQuery. Durante la scansione dei file nelle posizioni di Cloud Storage, Sensitive Data Protection supporta la scansione di file binari, di testo, di immagini, di Microsoft Word, Microsoft Excel, Microsoft PowerPoint, PDF e Apache Avro. I file di tipi non riconosciuti vengono scansionati come file binari. Per saperne di più sui tipi di file supportati, consulta Tipi di file supportati.
Per ispezionare lo spazio di archiviazione e i database alla ricerca di dati sensibili, devi specificare la posizione dei dati e il tipo di dati sensibili che Sensitive Data Protection deve cercare. Sensitive Data Protection avvia un job che ispeziona i dati nella posizione specificata, quindi rende disponibili i dettagli sugli infoTypes trovati nei contenuti, i valori di probabilità e altro ancora.
Puoi configurare l'ispezione di archiviazione e database utilizzando Sensitive Data Protection nella console Google Cloud , tramite l'API DLP RESTful o in modo programmatico utilizzando una libreria client di Sensitive Data Protection in uno dei diversi linguaggi.
Questo argomento include:
- Best practice per la configurazione delle scansioni dei repository di archiviazione e dei database Google Cloud .
- Istruzioni per configurare una scansione per l'ispezione utilizzando Sensitive Data Protection nella console Google Cloud e (facoltativamente) per pianificare scansioni per l'ispezione periodiche ripetute.
- Esempi di codice e JSON per ogni Google Cloud tipo di repository di archiviazione: (Cloud Storage, Firestore in modalità Datastore (Datastore) e BigQuery).
- Una panoramica dettagliata delle opzioni di configurazione per i job di scansione.
- Istruzioni su come recuperare i risultati della scansione e su come gestire i job di scansione creati da ogni richiesta riuscita.
Best practice
Identifica e assegna la priorità alla scansione
È importante valutare prima gli asset e specificare quelli con la priorità più alta per la scansione. Quando inizi, potresti avere un grande backlog di dati che devono essere classificati e sarà impossibile scansionarli tutti immediatamente. Scegli inizialmente i dati che presentano il rischio potenziale più elevato, ad esempio i dati a cui si accede di frequente, ampiamente accessibili o sconosciuti.
Assicurati che Sensitive Data Protection possa accedere ai tuoi dati
Sensitive Data Protection deve essere in grado di accedere ai dati da scansionare. Assicurati che il service account di Sensitive Data Protection sia autorizzato a leggere le tue risorse.
Limita l'ambito delle prime scansioni
Per ottenere risultati ottimali, limita l'ambito dei primi job anziché scansionare tutti i dati. Inizia con una tabella, un bucket o alcuni file e utilizza il campionamento. Limitando l'ambito delle prime scansioni, puoi determinare meglio quali rilevatori attivare e quali regole di esclusione potrebbero essere necessarie per ridurre i falsi positivi, in modo che i risultati siano più significativi. Evita di attivare tutti gli infoType se non ne hai bisogno, poiché i falsi positivi o i risultati inutilizzabili potrebbero rendere più difficile la valutazione del rischio. Sebbene siano utili in determinati scenari, gli infoType come DATE, TIME, DOMAIN_NAME e URL corrispondono a un'ampia gamma di risultati e potrebbero non essere utili per le scansioni di dati di grandi dimensioni.
Quando campioni un file strutturato, ad esempio un file CSV, TSV o Avro, assicurati che le dimensioni del campione siano sufficienti per coprire l'intestazione completa del file e una riga di dati. Per saperne di più, consulta Scansione di file strutturati in modalità di analisi strutturata.
Pianifica le scansioni
Utilizza i trigger di job di Sensitive Data Protection per eseguire automaticamente le scansioni e generare i risultati ogni giorno, ogni settimana o ogni trimestre. Queste scansioni possono anche essere configurate per ispezionare solo i dati che sono cambiati dall'ultima scansione, il che può far risparmiare tempo e ridurre i costi. Eseguire scansioni regolarmente può aiutarti a identificare tendenze o anomalie nei risultati delle scansioni.
Latenza del job
Non sono previsti obiettivi del livello di servizio (SLO) garantiti per i job e i trigger dei job. La latenza è influenzata da diversi fattori, tra cui la quantità di dati da scansionare, il repository di archiviazione sottoposto a scansione, il tipo e il numero di infoType che stai scansionando, la regione in cui viene elaborato il job e le risorse di computing disponibili in quella regione. Pertanto, la latenza dei job di ispezione non può essere determinata in anticipo.
Per ridurre la latenza dei job, puoi provare a:
- Se il campionamento è disponibile per il job o il trigger di job, attivalo.
Evita di attivare infoType non necessari. Sebbene i seguenti infoType siano utili in determinati scenari, possono rendere l'esecuzione delle richieste molto più lenta rispetto alle richieste che non li includono:
PERSON_NAMEFEMALE_NAMEMALE_NAMEFIRST_NAMELAST_NAMEDATE_OF_BIRTHLOCATIONSTREET_ADDRESSORGANIZATION_NAME
Specifica sempre gli infoType in modo esplicito. Non utilizzare un elenco di infoType vuoto.
Se possibile, utilizza una regione di elaborazione diversa.
Se i problemi di latenza con i job persistono dopo aver provato queste tecniche,
valuta la possibilità di utilizzare
richieste
content.inspect o
content.deidentify
anziché i job. Questi metodi sono coperti dall'accordo sul livello del servizio. Per ulteriori informazioni, consulta l'Accordo sul livello del servizio di Sensitive Data Protection.
Prima di iniziare
Le istruzioni fornite in questo argomento presuppongono quanto segue:
Hai abilitato la fatturazione.
Hai attivato Sensitive Data Protection.
La classificazione dello spazio di archiviazione richiede il seguente ambito OAuth:
https://www.googleapis.com/auth/cloud-platform. Per saperne di più, consulta Autenticazione nell'API DLP.
Ispeziona una località di Cloud Storage
Puoi configurare un'ispezione di Sensitive Data Protection di una posizione di Cloud Storage utilizzando la console Google Cloud , l'API DLP tramite richieste REST o RPC oppure in modo programmatico in diversi linguaggi utilizzando una libreria client. Per informazioni sui parametri inclusi negli esempi di codice e JSON riportati di seguito, consulta "Configura l'ispezione dello spazio di archiviazione" più avanti in questo argomento.
Sensitive Data Protection si basa sulle estensioni dei file e sui tipi MIME per identificare i tipi di file da scansionare e le modalità di scansione da applicare. Ad esempio, Sensitive Data Protection scansiona un file .txt in modalità testo normale, anche se il file è strutturato come un file CSV, che normalmente viene scansionato in modalità di analisi strutturata.
Per configurare un job di scansione di un bucket Cloud Storage utilizzando Sensitive Data Protection:
Console
Questa sezione descrive come ispezionare un bucket Cloud Storage o una cartella. Se vuoi anche che Sensitive Data Protection crei una copia anonimizzata dei tuoi dati, consulta Anonimizza i dati sensibili archiviati in Cloud Storage utilizzando la console Google Cloud .
Nella sezione Sensitive Data Protection della console Google Cloud , vai alla pagina Crea job o trigger di job.
Inserisci le informazioni sul job di Sensitive Data Protection e fai clic su Continua per completare ogni passaggio:
In Scegli i dati di input, assegna un nome al job inserendo un valore nel campo Nome. In Località, scegli Cloud Storage dal menu Tipo di archiviazione, quindi inserisci la località dei dati da scansionare. La sezione Campionamento è preconfigurata per eseguire una scansione di esempio sui tuoi dati. Puoi modificare il campo Percentuale di oggetti scansionati all'interno del bucket per risparmiare risorse se hai una grande quantità di dati. Per saperne di più, consulta Scegli i dati di input.
(Facoltativo) In Configura rilevamento, puoi configurare i tipi di dati da cercare, chiamati "infoTypes". Puoi scegliere dall'elenco di infoType predefiniti o selezionare un modello, se esistente. Per maggiori dettagli, consulta Configura il rilevamento.
In Aggiungi azioni, seleziona una o più azioni che Sensitive Data Protection deve eseguire al termine del job. Per saperne di più, consulta Abilita le azioni di ispezione o analisi dei rischi.
Dopo aver selezionato le azioni, fai clic su Continua.
(Facoltativo) Per Pianificazione, per eseguire l'analisi una sola volta, lascia il menu impostato su Nessuna. Per pianificare l'esecuzione periodica delle scansioni, fai clic su Crea un trigger per eseguire il job su base periodica. Per maggiori dettagli, consulta Pianificazione.
Fai clic su Crea.
Al termine del job di Sensitive Data Protection, viene visualizzata la pagina dei dettagli del job e ricevi una notifica via email. Puoi visualizzare i risultati dell'ispezione nella pagina dei dettagli del job.
(Facoltativo) Se hai scelto di pubblicare i risultati di Sensitive Data Protection in BigQuery, nella pagina Dettagli job, fai clic su Visualizza risultati in BigQuery per aprire la tabella nell'interfaccia utente web di BigQuery. Puoi quindi eseguire query sulla tabella e analizzare i risultati. Per saperne di più sull'esecuzione di query sui risultati in BigQuery, consulta Esecuzione di query sui risultati di Sensitive Data Protection in BigQuery.
Protocollo
Di seguito è riportato un esempio di JSON che può essere inviato in una richiesta POST all'endpoint REST di Sensitive Data Protection specificato. Questo esempio JSON mostra come utilizzare l'API DLP per ispezionare i bucket Cloud Storage. Per informazioni sui parametri inclusi nella richiesta, consulta "Configura l'ispezione dello spazio di archiviazione" più avanti in questo argomento.
Puoi provarlo rapidamente in Explorer API nella pagina di riferimento per
content.inspect:
Tieni presente che una richiesta riuscita, anche in Explorer API, creerà un nuovo job di scansione. Per informazioni su come controllare i job di scansione, consulta "Recupera i risultati dell'ispezione" più avanti in questo argomento. Per informazioni generali sull'utilizzo di JSON per inviare richieste all'API DLP, consulta la guida rapida di JSON.
Input JSON:
POST https://dlp.googleapis.com/v2/projects/[PROJECT-ID]/dlpJobs?key={YOUR_API_KEY}
{
"inspectJob":{
"storageConfig":{
"cloudStorageOptions":{
"fileSet":{
"url":"gs://[BUCKET-NAME]/*"
},
"bytesLimitPerFile":"1073741824"
},
"timespanConfig":{
"startTime":"2017-11-13T12:34:29.965633345Z",
"endTime":"2018-01-05T04:45:04.240912125Z"
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"PHONE_NUMBER"
}
],
"excludeInfoTypes":false,
"includeQuote":true,
"minLikelihood":"LIKELY"
},
"actions":[
{
"saveFindings":{
"outputConfig":{
"table":{
"projectId":"[PROJECT-ID]",
"datasetId":"[DATASET-ID]"
}
}
}
}
]
}
}
Output JSON:
{
"name":"projects/[PROJECT-ID]/dlpJobs/[JOB-ID]",
"type":"INSPECT_JOB",
"state":"PENDING",
"inspectDetails":{
"requestedOptions":{
"snapshotInspectTemplate":{
},
"jobConfig":{
"storageConfig":{
"cloudStorageOptions":{
"fileSet":{
"url":"gs://[BUCKET-NAME]/*"
},
"bytesLimitPerFile":"1073741824"
},
"timespanConfig":{
"startTime":"2017-11-13T12:34:29.965633345Z",
"endTime":"2018-01-05T04:45:04.240912125Z"
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"PHONE_NUMBER"
}
],
"minLikelihood":"LIKELY",
"limits":{
},
"includeQuote":true
},
"actions":[
{
"saveFindings":{
"outputConfig":{
"table":{
"projectId":"[PROJECT-ID]",
"datasetId":"[DATASET-ID]",
"tableId":"[NEW-TABLE-ID]"
}
}
}
}
]
}
}
},
"createTime":"2018-11-07T18:01:14.225Z"
}
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.
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.
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.
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.
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.
Ispeziona un tipo di Datastore
Puoi configurare un'ispezione di un tipo di Datastore utilizzando la consoleGoogle Cloud , l'API DLP tramite richieste REST o RPC oppure in modo programmatico in diversi linguaggi utilizzando una libreria client.
Per configurare un job di scansione di un tipo di Datastore utilizzando Sensitive Data Protection:
Console
Per configurare un job di scansione di un tipo di Datastore utilizzando Sensitive Data Protection:
Nella sezione Sensitive Data Protection della console Google Cloud , vai alla pagina Crea job o trigger di job.
Inserisci le informazioni sul job di Sensitive Data Protection e fai clic su Continua per completare ogni passaggio:
In Scegli i dati di input, inserisci gli identificatori del progetto, dello spazio dei nomi (facoltativo) e del tipo di cui vuoi eseguire la scansione. Per maggiori dettagli, consulta Scegli i dati di input.
(Facoltativo) In Configura rilevamento, puoi configurare i tipi di dati da cercare, chiamati "infoTypes". Puoi scegliere dall'elenco di infoType predefiniti o selezionare un modello, se esistente. Per maggiori dettagli, consulta Configura il rilevamento.
In Aggiungi azioni, seleziona una o più azioni che Sensitive Data Protection deve eseguire al termine del job. Per saperne di più, consulta Abilita le azioni di ispezione o analisi dei rischi.
Dopo aver selezionato le azioni, fai clic su Continua.
(Facoltativo) Per Pianificazione, configura un intervallo di tempo o una pianificazione selezionando Specifica intervallo di tempo o Crea un trigger per eseguire il job su base periodica. Per saperne di più, consulta Pianificazione.
Fai clic su Crea.
Al termine del job di Sensitive Data Protection, viene visualizzata la pagina dei dettagli del job e ricevi una notifica via email. Puoi visualizzare i risultati dell'ispezione nella pagina dei dettagli del job.
(Facoltativo) Se hai scelto di pubblicare i risultati di Sensitive Data Protection in BigQuery, nella pagina Dettagli job, fai clic su Visualizza risultati in BigQuery per aprire la tabella nell'interfaccia utente web di BigQuery. Puoi quindi eseguire query sulla tabella e analizzare i risultati. Per saperne di più sull'esecuzione di query sui risultati in BigQuery, consulta Esecuzione di query sui risultati di Sensitive Data Protection in BigQuery.
Protocollo
Di seguito è riportato un esempio di JSON che può essere inviato in una richiesta POST all'endpoint REST dell'API DLP specificato. Questo esempio JSON mostra come utilizzare l'API DLP per ispezionare i tipi di Datastore. Per informazioni sui parametri inclusi nella richiesta, consulta "Configura l'ispezione dello spazio di archiviazione" più avanti in questo argomento.
Puoi provarlo rapidamente in Explorer API nella pagina di riferimento per
dlpJobs.create:
Tieni presente che una richiesta riuscita, anche in Explorer API, creerà un nuovo job di scansione. Per informazioni su come controllare i job di scansione, consulta Recupera i risultati dell'ispezione più avanti in questo argomento. Per informazioni generali sull'utilizzo di JSON per inviare richieste all'API DLP, consulta la guida rapida di JSON.
Input JSON:
POST https://dlp.googleapis.com/v2/projects/[PROJECT-ID]/dlpJobs?key={YOUR_API_KEY}
{
"inspectJob":{
"storageConfig":{
"datastoreOptions":{
"kind":{
"name":"Example-Kind"
},
"partitionId":{
"namespaceId":"[NAMESPACE-ID]",
"projectId":"[PROJECT-ID]"
}
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"PHONE_NUMBER"
}
],
"excludeInfoTypes":false,
"includeQuote":true,
"minLikelihood":"LIKELY"
},
"actions":[
{
"saveFindings":{
"outputConfig":{
"table":{
"projectId":"[PROJECT-ID]",
"datasetId":"[BIGQUERY-DATASET-NAME]",
"tableId":"[BIGQUERY-TABLE-NAME]"
}
}
}
}
]
}
}
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.
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.
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.
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.
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.
Ispeziona una tabella BigQuery
Puoi configurare un'ispezione di una tabella BigQuery utilizzando Sensitive Data Protection tramite richieste REST o in modo programmatico in diversi linguaggi utilizzando una libreria client.
Per configurare un job di scansione di una tabella BigQuery utilizzando Sensitive Data Protection:
Console
Per configurare un job di scansione di una tabella BigQuery utilizzando Sensitive Data Protection:
Nella sezione Sensitive Data Protection della console Google Cloud , vai alla pagina Crea job o trigger di job.
Inserisci le informazioni sul job di Sensitive Data Protection e fai clic su Continua per completare ogni passaggio:
In Scegli i dati di input, assegna un nome al job inserendo un valore nel campo Nome. In Località, scegli BigQuery dal menu Tipo di archiviazione, quindi inserisci le informazioni per la tabella da analizzare.
La sezione Campionamento è preconfigurata per eseguire una scansione di esempio sui tuoi dati. Puoi modificare i campi Limita righe per e Numero massimo di righe per risparmiare risorse se hai una grande quantità di dati. Per maggiori dettagli, consulta Scegli i dati di input.
(Facoltativo) Se vuoi collegare ogni risultato alla riga che lo contiene, imposta il campo Campi di identificazione.
Inserisci i nomi delle colonne che identificano in modo univoco ogni riga della tabella. Se necessario, utilizza la notazione con punto per specificare i campi nidificati. Puoi aggiungere tutti i campi che vuoi.
Devi anche attivare l'azione Salva in BigQuery per esportare i risultati in BigQuery. Quando i risultati vengono esportati in BigQuery, ogni risultato contiene i valori corrispondenti dei campi identificativi. Per saperne di più, vedi
identifyingFields.(Facoltativo) In Configura rilevamento, puoi configurare i tipi di dati da cercare, chiamati "infoTypes". Puoi scegliere dall'elenco di infoType predefiniti o selezionare un modello, se esistente. Per maggiori dettagli, consulta Configura il rilevamento.
In Aggiungi azioni, seleziona una o più azioni che Sensitive Data Protection deve eseguire al termine del job. Per saperne di più, consulta Abilita le azioni di ispezione o analisi dei rischi.
Dopo aver selezionato le azioni, fai clic su Continua.
(Facoltativo) Per Pianificazione, per eseguire l'analisi una sola volta, lascia il menu impostato su Nessuna. Per pianificare l'esecuzione periodica delle scansioni, fai clic su Crea un trigger per eseguire il job su base periodica. Per maggiori dettagli, consulta Pianificazione.
Fai clic su Crea.
Al termine del job di Sensitive Data Protection, viene visualizzata la pagina dei dettagli del job e ricevi una notifica via email. Puoi visualizzare i risultati dell'ispezione nella pagina dei dettagli del job.
(Facoltativo) Se hai scelto di pubblicare i risultati di Sensitive Data Protection in BigQuery, nella pagina Dettagli job, fai clic su Visualizza risultati in BigQuery per aprire la tabella nell'interfaccia utente web di BigQuery. Puoi quindi eseguire query sulla tabella e analizzare i risultati. Per saperne di più sull'esecuzione di query sui risultati in BigQuery, consulta Esecuzione di query sui risultati di Sensitive Data Protection in BigQuery.
Protocollo
Di seguito è riportato un esempio di JSON che può essere inviato in una richiesta POST all'endpoint REST dell'API DLP specificato. Questo esempio JSON mostra come utilizzare l'API DLP per ispezionare le tabelle BigQuery. Per informazioni sui parametri inclusi nella richiesta, consulta "Configura l'ispezione dello spazio di archiviazione" più avanti in questo argomento.Puoi provarlo rapidamente in Explorer API nella pagina di riferimento per
dlpJobs.create:
Tieni presente che una richiesta riuscita, anche in Explorer API, creerà un nuovo job di scansione. Per informazioni su come controllare i job di scansione, consulta "Recupera i risultati dell'ispezione" più avanti in questo argomento. Per informazioni generali sull'utilizzo di JSON per inviare richieste all'API DLP, consulta la guida rapida di JSON.
Input JSON:
POST https://dlp.googleapis.com/v2/projects/[PROJECT-ID]/dlpJobs?key={YOUR_API_KEY}
{
"inspectJob":{
"storageConfig":{
"bigQueryOptions":{
"tableReference":{
"projectId":"[PROJECT-ID]",
"datasetId":"[BIGQUERY-DATASET-NAME]",
"tableId":"[BIGQUERY-TABLE-NAME]"
},
"identifyingFields":[
{
"name":"id"
}
]
},
"timespanConfig":{
"startTime":"2017-11-13T12:34:29.965633345Z ",
"endTime":"2018-01-05T04:45:04.240912125Z "
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"PHONE_NUMBER"
}
],
"excludeInfoTypes":false,
"includeQuote":true,
"minLikelihood":"LIKELY"
},
"actions":[
{
"saveFindings":{
"outputConfig":{
"table":{
"projectId":"[PROJECT-ID]",
"datasetId":"[BIGQUERY-DATASET-NAME]",
"tableId":"[BIGQUERY-TABLE-NAME]"
},
"outputSchema": "BASIC_COLUMNS"
}
}
}
]
}
}
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.
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.
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.
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.
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.
Configura l'ispezione dello spazio di archiviazione
Per ispezionare una località Cloud Storage, un tipo di Datastore o una tabella BigQuery, invia una richiesta al metodo projects.dlpJobs.create dell'API DLP contenente almeno la località dei dati da scansionare e gli elementi da cercare. Oltre a questi parametri obbligatori, puoi anche specificare dove scrivere i risultati della scansione, le soglie di dimensione e probabilità e altro ancora. Una richiesta riuscita comporta la creazione di un'istanza dell'oggetto DlpJob, descritta in "Recupera i risultati dell'ispezione".
Le opzioni di configurazione disponibili sono riepilogate di seguito:
InspectJobConfigoggetto: contiene le informazioni di configurazione per il job di ispezione. Tieni presente che l'oggettoInspectJobConfigviene utilizzato anche dall'oggettoJobTriggersper pianificare la creazione diDlpJob. Questo oggetto include:StorageConfigobject: obbligatorio. Contiene i dettagli del repository di archiviazione da scansionare:Nell'oggetto
StorageConfigdeve essere incluso uno dei seguenti elementi, a seconda del tipo di repository di archiviazione sottoposto a scansione:CloudStorageOptionsoggetto: contiene informazioni sul bucket Cloud Storage da scansionare.DatastoreOptionsoggetto: contiene informazioni sul set di dati Datastore da scansionare.BigQueryOptionsoggetto: contiene informazioni sulla tabella BigQuery (e, facoltativamente, sui campi di identificazione) da analizzare. Questo oggetto consente anche il campionamento dei risultati. Per saperne di più, consulta Attiva il campionamento dei risultati di seguito.TimespanConfigobject: facoltativo. Specifica il periodo di tempo degli elementi da includere nell'analisi.
InspectConfigobject: obbligatorio. Specifica cosa cercare, ad esempio i valori di infoTypes e probabilità.- Oggetti
InfoType: obbligatori. Uno o più valori infoType da cercare. Likelihoodenumeration: facoltativo. Se impostata, Sensitive Data Protection restituirà solo i risultati uguali o superiori a questa soglia di probabilità. Se questo enum viene omesso, il valore predefinito èPOSSIBLE.FindingLimitsobject: facoltativo. Se impostato, questo oggetto consente di specificare un limite per il numero di risultati restituiti.- Parametro
includeQuote: facoltativo. Il valore predefinito èfalse. Se impostato sutrue, ogni risultato includerà una citazione contestuale dei dati che lo hanno attivato. - Parametro
excludeInfoTypes: facoltativo. Il valore predefinito èfalse. Se impostato sutrue, i risultati della scansione escluderanno le informazioni sul tipo per i risultati. CustomInfoTypeoggetti: uno o più infoType personalizzati creati dall'utente. Per saperne di più sulla creazione di infoType personalizzati, consulta Creazione di rilevatori di infoType personalizzati.
- Oggetti
inspectTemplateNamestring: facoltativo. Specifica un modello da utilizzare per compilare i valori predefiniti nell'oggettoInspectConfig. Se hai già specificatoInspectConfig, i valori del template verranno uniti.Actionobjects: facoltativo. Una o più azioni da eseguire al completamento del job. Ogni azione viene eseguita nell'ordine in cui è elencata. Qui puoi specificare dove scrivere i risultati o se pubblicare una notifica in un argomento Pub/Sub.
jobId: (Facoltativo) Un identificatore del job restituito da Sensitive Data Protection. SejobIdviene omesso o è vuoto, il sistema crea un ID per il job. Se specificato, al job viene assegnato questo valore ID. L'ID job deve essere univoco e può contenere lettere maiuscole e minuscole, numeri e trattini, ovvero deve corrispondere alla seguente espressione regolare:[a-zA-Z\\d-]+.
Limita la quantità di contenuti ispezionati
Se esegui la scansione di tabelle BigQuery o bucket Cloud Storage, Sensitive Data Protection include un modo per eseguire la scansione di un sottoinsieme del set di dati. In questo modo, viene fornito un campione dei risultati della scansione senza incorrere nei potenziali costi di scansione di un intero set di dati.
Le sezioni seguenti contengono informazioni su come limitare le dimensioni delle scansioni di Cloud Storage e delle scansioni di BigQuery.
Limita le scansioni di Cloud Storage
Puoi attivare il campionamento in Cloud Storage limitando la quantità di dati scansionati. Puoi indicare all'API DLP di scansionare solo i file di dimensioni inferiori a un determinato valore, solo determinati tipi di file e solo una determinata percentuale del numero totale di file nel set di file di input. Per farlo, specifica i seguenti campi facoltativi all'interno di CloudStorageOptions:
bytesLimitPerFile: imposta il numero massimo di byte da scansionare da un file. Se le dimensioni di un file scansionato sono superiori a questo valore, i byte rimanenti vengono omessi. L'impostazione di questo campo non ha alcun effetto su determinati tipi di file. Per saperne di più, consulta Limiti per i byte scansionati per file.fileTypes[]: elenca iFileTypesda includere nell'analisi. Questo valore può essere impostato su uno o più dei seguenti tipi enumerati.filesLimitPercent: limita il numero di file da scansionare alla percentuale specificata dell'inputFileSet. Se specifichi0o100qui, significa che non esiste un limite.sampleMethod: come campionare i byte se non vengono scansionati tutti i byte. La specifica di questo valore è significativa solo se utilizzata in combinazione conbytesLimitPerFile. Se non specificato, la scansione inizia dall'alto. Questo campo può essere impostato su uno dei due valori:TOP: la scansione inizia dall'alto.RANDOM_START: per ogni file di dimensioni superiori a quelle specificate inbytesLimitPerFile, scegli in modo casuale l'offset per avviare la scansione. I byte scansionati sono contigui.
Gli esempi seguenti mostrano come utilizzare l'API DLP per scansionare un sottoinsieme del 90% di un bucket Cloud Storage alla ricerca di nomi di persone. La scansione inizia da una posizione casuale nel set di dati e include solo file di testo di dimensioni inferiori a 200 byte.
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
Input JSON:
POST https://dlp.googleapis.com/v2/projects/[PROJECT-ID]/dlpJobs?key={YOUR_API_KEY}
{
"inspectJob":{
"storageConfig":{
"cloudStorageOptions":{
"fileSet":{
"url":"gs://[BUCKET-NAME]/*"
},
"bytesLimitPerFile":"200",
"fileTypes":[
"TEXT_FILE"
],
"filesLimitPercent":90,
"sampleMethod":"RANDOM_START"
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"PERSON_NAME"
}
],
"excludeInfoTypes":true,
"includeQuote":true,
"minLikelihood":"POSSIBLE"
},
"actions":[
{
"saveFindings":{
"outputConfig":{
"table":{
"projectId":"[PROJECT-ID]",
"datasetId":"testingdlp"
},
"outputSchema":"BASIC_COLUMNS"
}
}
}
]
}
}
Dopo aver inviato l'input JSON in una richiesta POST all'endpoint specificato, viene creato un job di Sensitive Data Protection e l'API invia la seguente risposta.
Output JSON:
{
"name":"projects/[PROJECT-ID]/dlpJobs/[JOB-ID]",
"type":"INSPECT_JOB",
"state":"PENDING",
"inspectDetails":{
"requestedOptions":{
"snapshotInspectTemplate":{
},
"jobConfig":{
"storageConfig":{
"cloudStorageOptions":{
"fileSet":{
"url":"gs://[BUCKET_NAME]/*"
},
"bytesLimitPerFile":"200",
"fileTypes":[
"TEXT_FILE"
],
"sampleMethod":"TOP",
"filesLimitPercent":90
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"PERSON_NAME"
}
],
"minLikelihood":"POSSIBLE",
"limits":{
},
"includeQuote":true,
"excludeInfoTypes":true
},
"actions":[
{
"saveFindings":{
"outputConfig":{
"table":{
"projectId":"[PROJECT-ID]",
"datasetId":"[DATASET-ID]",
"tableId":"[TABLE-ID]"
},
"outputSchema":"BASIC_COLUMNS"
}
}
}
]
}
}
},
"createTime":"2018-05-30T22:22:08.279Z"
}
Limita le scansioni di BigQuery
Per abilitare il campionamento in BigQuery limitando la quantità di dati scansionati, specifica i seguenti campi facoltativi all'interno di BigQueryOptions:
rowsLimit: il numero massimo di righe da analizzare. Se la tabella contiene più righe di questo valore, le righe rimanenti vengono omesse. Se non viene impostato o se viene impostato su 0, verranno analizzate tutte le righe.rowsLimitPercent: la percentuale massima di righe da analizzare (tra 0 e 100). Le righe rimanenti vengono omesse. Se imposti questo valore su 0 o 100, non viene applicato alcun limite. Il valore predefinito è 0. È possibile specificare solo uno dei due elementi:rowsLimitorowsLimitPercent.sampleMethod: come campionare le righe se non vengono analizzate tutte. Se non viene specificato, la scansione inizia dall'alto. Questo campo può essere impostato su uno dei seguenti valori:TOP: la scansione inizia dall'alto.RANDOM_START: la scansione inizia da una riga selezionata in modo casuale.
excludedFields: campi della tabella che identificano in modo univoco le colonne da escludere dalla lettura. In questo modo, puoi ridurre la quantità di dati scansionati e il costo complessivo di un job di ispezione.includedFields: campi della tabella che identificano in modo univoco righe specifiche all'interno della tabella da scansionare.
Un'altra funzionalità utile per limitare i dati analizzati, in particolare durante l'analisi di tabelle partizionate, è TimespanConfig.
TimespanConfig consente di filtrare le righe della tabella BigQuery fornendo valori di ora di inizio e di fine per definire un periodo di tempo. Sensitive Data Protection
esegue quindi la scansione solo delle righe che contengono un timestamp compreso in quel periodo di tempo.
I seguenti esempi mostrano l'utilizzo dell'API DLP per scansionare un sottoinsieme di 1000 righe di una tabella BigQuery. La scansione inizia da una riga casuale.
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.
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.
REST
Input JSON:
POST https://dlp.googleapis.com/v2/projects/[PROJECT-ID]/dlpJobs?key={YOUR_API_KEY}
{
"inspectJob":{
"storageConfig":{
"bigQueryOptions":{
"tableReference":{
"projectId":"bigquery-public-data",
"datasetId":"usa_names",
"tableId":"usa_1910_current"
},
"rowsLimit":"1000",
"sampleMethod":"RANDOM_START",
"includedFields":[
{
"name":"name"
}
]
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"FIRST_NAME"
}
],
"includeQuote":true
},
"actions":[
{
"saveFindings":{
"outputConfig":{
"table":{
"projectId":"[PROJECT-ID]",
"datasetId":"testingdlp",
"tableId":"bqsample3"
},
"outputSchema":"BASIC_COLUMNS"
}
}
}
]
}
}
Dopo aver inviato l'input JSON in una richiesta POST all'endpoint specificato, viene creato un job di Sensitive Data Protection e l'API invia la seguente risposta.
Output JSON:
{
"name": "projects/[PROJECT-ID]/dlpJobs/[JOB-ID]",
"type": "INSPECT_JOB",
"state": "PENDING",
"inspectDetails": {
"requestedOptions": {
"snapshotInspectTemplate": {},
"jobConfig": {
"storageConfig": {
"bigQueryOptions": {
"tableReference": {
"projectId": "bigquery-public-data",
"datasetId": "usa_names",
"tableId": "usa_1910_current"
},
"rowsLimit": "1000",
"sampleMethod": "RANDOM_START",
"includedFields": [
{
"name": "name"
}
]
}
},
"inspectConfig": {
"infoTypes": [
{
"name": "FIRST_NAME"
}
],
"limits": {},
"includeQuote": true
},
"actions": [
{
"saveFindings": {
"outputConfig": {
"table": {
"projectId": "[PROJECT-ID]",
"datasetId": "[DATASET-ID]",
"tableId": "bqsample"
},
"outputSchema": "BASIC_COLUMNS"
}
}
}
]
}
},
"result": {}
},
"createTime": "2022-11-04T18:53:48.350Z"
}
Al termine dell'esecuzione del job di ispezione e dopo che i risultati sono stati elaborati da BigQuery, i risultati della scansione sono disponibili nella tabella di output BigQuery specificata. Per saperne di più sul recupero dei risultati dell'ispezione, consulta la sezione successiva.
Recupera i risultati dell'ispezione
Puoi recuperare un riepilogo di un
DlpJob utilizzando il metodo
projects.dlpJobs.get. L'oggetto DlpJob restituito include l'oggetto InspectDataSourceDetails, che contiene sia un riepilogo della configurazione del job (RequestedOptions) sia un riepilogo del risultato del job (Result). Il riepilogo del risultato include:
processedBytes: la dimensione totale in byte che è stata elaborata.totalEstimatedBytes: stima del numero di byte rimanenti da elaborare.InfoTypeStatisticsoggetto: statistiche sul numero di istanze di ciascun infoType trovate durante il job di ispezione.
Per i risultati completi del job di ispezione, hai diverse opzioni. A seconda del
Action
che hai scelto, i job di ispezione sono:
- Salvati in BigQuery (l'oggetto
SaveFindings) nella tabella specificata. Prima di visualizzare o analizzare i risultati, assicurati che il job sia stato completato utilizzando il metodoprojects.dlpJobs.get, descritto di seguito. Tieni presente che puoi specificare uno schema per l'archiviazione dei risultati utilizzando l'oggettoOutputSchema. - Pubblicato in un argomento Pub/Sub (l'oggetto
PublishToPubSub). L'argomento deve aver concesso i diritti di accesso per la pubblicazione al account di servizio di Sensitive Data Protection che esegueDlpJobche invia le notifiche. - Pubblicato su Security Command Center.
- Pubblicate su Cloud Monitoring.
Per aiutarti a esaminare grandi quantità di dati generati da Sensitive Data Protection, puoi utilizzare gli strumenti BigQuery integrati per eseguire analisi SQL avanzate o strumenti come Data Studio per generare report. Per saperne di più, consulta Analisi e generazione di report sui risultati di Sensitive Data Protection. Per alcune query di esempio, consulta Esecuzione di query sui risultati in BigQuery.
L'invio di una richiesta di ispezione del repository di archiviazione a Sensitive Data Protection crea ed esegue un'istanza dell'oggetto DlpJob in risposta. L'esecuzione di questi job può richiedere secondi, minuti o ore, a seconda delle dimensioni dei dati e della configurazione specificata. Se scegli di pubblicare in un argomento Pub/Sub (specificando PublishToPubSub in Action), le notifiche vengono inviate automaticamente all'argomento con il nome specificato quando lo stato del job cambia. Il nome dell'argomento Pub/Sub è specificato nel formato projects/[PROJECT-ID]/topics/[PUBSUB-TOPIC-NAME].
Hai il pieno controllo dei job che crei, inclusi i seguenti metodi di gestione:
- Metodo
projects.dlpJobs.cancel: interrompe un job attualmente in corso. Il server fa il possibile per annullare il job, ma la riuscita non è garantita. Il job e la sua configurazione rimarranno fino a quando non li elimini (con . - Metodo
projects.dlpJobs.delete: elimina un job e la relativa configurazione. - Metodo
projects.dlpJobs.get: recupera un singolo job e ne restituisce lo stato, la configurazione e, se il job è completato, i risultati di riepilogo. - Metodo
projects.dlpJobs.list: recupera un elenco di tutti i job e include la possibilità di filtrare i risultati.
Passaggi successivi
- Scopri di più sulla creazione di job di ispezione dello spazio di archiviazione, consulta Creazione e pianificazione di job di ispezione di Sensitive Data Protection.
- Scopri di più sulla creazione di una copia anonimizzata dei dati nello spazio di archiviazione.
- Scopri di più sui tipi di file supportati durante l'ispezione dei bucket Cloud Storage, consulta Tipi di file supportati.