Analizza i profili di dati

Se hai configurato il servizio di rilevamento dei dati sensibili per inviare tutti i profili di dati generati correttamente a BigQuery, puoi eseguire query su questi profili per ottenere informazioni sui tuoi dati. Puoi anche utilizzare strumenti di visualizzazione come Looker Studio per creare report personalizzati in base alle esigenze della tua attività. In alternativa, puoi utilizzare un report predefinito fornito da Sensitive Data Protection, modificarlo e condividerlo in base alle esigenze.

Questa pagina fornisce esempi di query SQL che puoi utilizzare per scoprire di più sui tuoi profili di dati. Inoltre, ti mostra come visualizzare i profili dei dati in in Looker Studio.

Per ulteriori informazioni sui profili dati, consulta Profili dati.

Prima di iniziare

Questa pagina presuppone che tu abbia configurato il profiling a livello di organizzazione, cartella o progetto. Nella configurazione della scansione di scoperta, assicurati di attivare l'esportazione dei profili di dati facendo clic sul pulsante di attivazione/disattivazione Salva le copie dei profili di dati in BigQuery. Per ulteriori informazioni su come creare una configurazione di scansione di scoperta, consulta Creare una configurazione di scansione.

In questo documento, la tabella contenente i profili di dati esportati è chiamata tabella di output.

Assicurati di avere a disposizione l'ID progetto, l'ID set di dati e l'ID tabella della tabella di output. Ti occorrono per eseguire le procedure descritte in questa pagina.

La visualizzazione latest

Quando Sensitive Data Protection esporta i profili dati nella tabella di output, crea anche la visualizzazione latest. Questa vista è una tabella virtuale prefiltrata che include solo gli snapshot più recenti dei tuoi profili di dati. La vista latest ha lo stesso schema della tabella di output, quindi puoi usarle indistintamente nelle query SQL e nei report di Looker Studio. I risultati possono essere diversi perché la tabella di output contiene snapshot meno recenti dei profili dei dati.

La visualizzazione latest viene archiviata nella stessa posizione della tabella di output. Il nome ha il seguente formato:

OUTPUT_TABLE_latest_VERSION

Sostituisci quanto segue:

  • OUTPUT_TABLE: l'ID della tabella contenente i profili di dati esportati.
  • VERSION: il numero di versione della visualizzazione.

Ad esempio, se la tabella di output si chiama table-profile, la vista latest ha un nome come table-profile_latest_v1.

Visualizzazione più recente

Quando utilizzi la vista latest nelle query SQL, utilizza il nome completo della vista, che include l'ID progetto, l'ID set di dati, l'ID tabella e il suffisso, ad esempio myproject.mydataset.table-profile_latest_v1.

PROJECT_ID.DATASET_ID.OUTPUT_TABLE_latest_VERSION

Scegli tra la tabella di output e la visualizzazione latest

La vista latest include solo gli snapshot più recenti del profilo dei dati, mentre la tabella di output contiene tutti gli snapshot del profilo dei dati, inclusi quelli obsoleti. Ad esempio, una query sulla tabella di output può restituire più profili dei dati delle colonne per la stessa colonna, uno per ogni volta che è stato creato il profilo della colonna.

Quando scegli tra l'utilizzo della tabella di output e della vista latest nelle query SQL o nei report di Looker Studio, tieni conto di quanto segue:

  • La visualizzazione latest è utile se hai asset di dati di cui è stato eseguito il nuovo profilo e vuoi visualizzare solo i profili più recenti, non le versioni precedenti. In altre parole, vuoi vedere lo stato attuale dei dati profilati.

  • La tabella di output è utile se vuoi ottenere una visualizzazione storica dei dati profilati. Ad esempio, stai tentando di determinare se la tua organizzazione ha mai archiviato un determinato infoType o vuoi visualizzare le modifiche apportate a un determinato profilo dati.

Esempi di query SQL

Questa sezione fornisce query di esempio che puoi utilizzare per analizzare i profili dei dati. Per eseguire queste query, consulta Eseguire query interattive.

Nei seguenti esempi, sostituisci TABLE_OR_VIEW con uno dei seguenti valori:

  • Il nome della tabella di output, ovvero la tabella contenente i profili di dati esportati, ad esempio myproject.mydataset.table-profile.
  • Il nome della visualizzazione latest della tabella di output, ad esempio myproject.mydataset.table-profile_latest_v1.

In entrambi i casi, devi includere l'ID progetto e l'ID set di dati.

Per ulteriori informazioni, consulta Scegliere tra la tabella di output e la visualizzazione latest in questa pagina.

Per risolvere eventuali errori riscontrati, consulta Messaggi di errore.

Elenca tutte le colonne con un punteggio di testo libero elevato e prove di corrispondenze di altri infoType

SELECT
  column_profile.table_full_resource,
  column_profile.COLUMN,
  other_matches.info_type.name,
  column_profile.profile_last_generated
FROM
   `TABLE_OR_VIEW`
  LEFT JOIN UNNEST(column_profile.other_matches) AS other_matches
WHERE
  column_profile.free_text_score = 1
  AND ( column_profile.column_info_type.info_type.name>""
    OR ARRAY_LENGTH(column_profile.other_matches)>0 )

Per informazioni su come correggere questi problemi, consulta le strategie consigliate per mitigare il rischio legato ai dati.

Per ulteriori informazioni sui punteggi di testo libero e sulle metriche Altri infoType, consulta Profili dei dati delle colonne.

Elenca tutte le tabelle che contengono una colonna di numeri di carte di credito

SELECT
  column_profile.table_full_resource,
  column_profile.profile_last_generated
FROM
  `TABLE_OR_VIEW`
WHERE
  column_profile.column_info_type.info_type.name="CREDIT_CARD_NUMBER"

CREDIT_CARD_NUMBER è un infoType integrato che rappresenta un numero di carta di credito.

Per informazioni su come correggere questi problemi, consulta le strategie consigliate per mitigare il rischio legato ai dati.

Elenca i profili delle tabelle che contengono colonne di numeri di carte di credito, numeri di previdenza sociale statunitensi e nomi di persone

SELECT
  table_full_resource,
  COUNT(*) AS count_findings
FROM (
  SELECT
    DISTINCT column_profile.table_full_resource,
    column_profile.column_info_type.info_type.name
  FROM
    `TABLE_OR_VIEW`
  WHERE
    column_profile.column_info_type.info_type.name IN ('PERSON_NAME',
      'CREDIT_CARD_NUMBER',
      'US_SOCIAL_SECURITY_NUMBER')
  ORDER BY
    column_profile.table_full_resource ) ot1
GROUP BY
  table_full_resource
  #increase this number to match the total distinct infoTypes that must be present
HAVING
  count_findings>=3

Questa query utilizza i seguenti infoType integrati:

  • CREDIT_CARD_NUMBER: rappresenta un numero di carta di credito
  • PERSON_NAME: rappresenta il nome completo di una persona
  • US_SOCIAL_SECURITY_NUMBER indica un numero di previdenza sociale statunitense

Per informazioni su come correggere questi problemi, consulta le strategie consigliate per mitigare il rischio legato ai dati.

Elenca i bucket in cui il punteggio di sensibilità è SENSITIVITY_HIGH

SELECT file_store_profile.file_store_path, file_store_profile.resource_visibility, file_store_profile.sensitivity_score
FROM `TABLE_OR_VIEW`
WHERE file_store_profile.sensitivity_score.score ='SENSITIVITY_HIGH'
;

Per ulteriori informazioni, consulta Profili dei dati del repository.

Elenca tutti i percorsi dei bucket, i cluster e le estensioni dei file analizzati in cui il punteggio di sensibilità è SENSITIVITY_HIGH

SELECT file_store_profile.file_store_path, summaries.file_cluster_type.cluster, STRING_AGG(scanned_file_extensions.file_extension) AS scanned_extensions, file_store_profile.profile_last_generated.timestamp
FROM `TABLE_OR_VIEW`
LEFT JOIN UNNEST(file_store_profile.file_cluster_summaries) as summaries
LEFT JOIN UNNEST(summaries.file_store_info_type_summaries) as info_types
LEFT JOIN UNNEST(summaries.file_extensions_scanned) as scanned_file_extensions
WHERE file_store_profile.data_source_type.data_source = 'google/storage/bucket'
AND summaries.sensitivity_score.score ='SENSITIVITY_HIGH'
GROUP BY 1, 2, 4
;

Per ulteriori informazioni, consulta Profili dei dati del repository.

Elenca tutti i percorsi dei bucket, i cluster e le estensioni dei file analizzati in cui sono stati rilevati numeri di carte di credito

SELECT file_store_profile.file_store_path, summaries.file_cluster_type.cluster, STRING_AGG(scanned_file_extensions.file_extension) AS scanned_extensions
FROM `TABLE_OR_VIEW`
LEFT JOIN UNNEST(file_store_profile.file_cluster_summaries) as summaries
LEFT JOIN UNNEST(summaries.file_store_info_type_summaries) as info_types
LEFT JOIN UNNEST(summaries.file_extensions_scanned) as scanned_file_extensions
WHERE file_store_profile.data_source_type.data_source = 'google/storage/bucket'
AND info_types.info_type.name='CREDIT_CARD_NUMBER'
GROUP BY 1, 2
;

CREDIT_CARD_NUMBER è un infoType integrato che rappresenta un numero di carta di credito.

Per ulteriori informazioni, consulta Profili dei dati del repository.

Elenca tutti i percorsi dei bucket, i cluster e le estensioni dei file analizzati in cui è stato rilevato un numero di carta di credito, il nome di una persona o un numero di previdenza sociale statunitense

SELECT file_store_profile.file_store_path, summaries.file_cluster_type.cluster, STRING_AGG(scanned_file_extensions.file_extension) AS scanned_extensions
FROM `TABLE_OR_VIEW`
LEFT JOIN UNNEST(file_store_profile.file_cluster_summaries) as summaries
LEFT JOIN UNNEST(summaries.file_store_info_type_summaries) as info_types
LEFT JOIN UNNEST(summaries.file_extensions_scanned) as scanned_file_extensions
WHERE file_store_profile.data_source_type.data_source = 'google/storage/bucket'
AND info_types.info_type.name IN ('CREDIT_CARD_NUMBER', 'PERSON_NAME', 'US_SOCIAL_SECURITY_NUMBER')
GROUP BY 1, 2
;

Questa query utilizza i seguenti infoType integrati:

  • CREDIT_CARD_NUMBER: rappresenta un numero di carta di credito
  • PERSON_NAME: rappresenta il nome completo di una persona
  • US_SOCIAL_SECURITY_NUMBER indica un numero di previdenza sociale statunitense

Per ulteriori informazioni, consulta Profili dei dati del repository.

Utilizzare i profili dati in Looker Studio

Per visualizzare i profili di dati in Looker Studio, puoi utilizzare un report predefinito o crearne uno personalizzato.

Utilizzare un report predefinito

Sensitive Data Protection fornisce un report di Looker Studio predefinito che mette in evidenza le informazioni dettagliate dei profili di dati. La dashboard Protezione dei dati sensibili è un report di più pagine che offre una rapida panoramica dei profili dei dati, incluse le suddivisioni per rischio, infoType e località. Esplora le altre schede per visualizzare le visualizzazioni in base alla regione geografica e al rischio di impostazione o visualizza in dettaglio metriche specifiche. Puoi utilizzare questo report predefinito così com'è o personalizzarlo in base alle tue esigenze. Questa è la versione consigliata del report predefinito.

Per visualizzare il report predefinito con i tuoi dati, inserisci i valori richiesti nel seguente URL. Poi, copia l'URL risultante nel browser.

https://lookerstudio.google.com/c/u/0/reporting/create?c.reportId=c9826374-e016-4c96-a495-7281328375c6&ds.connector=BIG_QUERY&ds.projectId=PROJECT_ID&ds.datasetId=DATASET_ID&ds.tableId=TABLE_OR_VIEW&ds.type=TABLE&ds.useFreshSchema=false

Sostituisci quanto segue:

  • PROJECT_ID: il progetto che contiene la tabella di output.
  • DATASET_ID: il set di dati contenente la tabella di output.
  • TABLE_OR_VIEW: una delle seguenti:

    • Il nome della tabella di output, ovvero la tabella contenente i profili di dati esportati,ad esempiomyproject.mydataset.table-profile.
    • Il nome della visualizzazione latest della tabella di output, ad esempio myproject.mydataset.table-profile_latest_v1.

    Per ulteriori informazioni, consulta Scegliere tra la tabella di output e la visualizzazione latest in questa pagina.

Il caricamento del report con i tuoi dati in Looker Studio può richiedere alcuni minuti. Se si verificano errori o se il report non viene caricato, consulta Risolvere gli errori relativi al report predefinito in questa pagina.

Nell'esempio seguente, la dashboard mostra che i dati di bassa e alta sensibilità sono presenti in diversi paesi in tutto il mondo.

Report predefinito

Versione precedente del report predefinito

La prima versione del report predefinito è ancora disponibile al seguente indirizzo:

https://lookerstudio.google.com/c/u/0/reporting/create?c.reportId=907a2b73-ffe4-40b2-b9a1-c2aa0bbd69fd&ds.connector=BIG_QUERY&ds.projectId=PROJECT_ID&ds.datasetId=DATASET_ID&ds.tableId=TABLE_OR_VIEW&ds.type=TABLE&ds.useFreshSchema=false

crea un report

Looker Studio ti consente di creare report interattivi. In questa sezione, crei un semplice report tabella in Looker Studio basato sui profili di dati esportati nella tabella di output in BigQuery.

Assicurati di avere a disposizione l'ID progetto, l'ID set di dati e l'ID tabella della tabella di output o della vista latest. Ti occorrono per eseguire questa procedura.

Questo esempio mostra come creare un report contenente una tabella che mostri ogni infoType registrato nei profili dei dati e la relativa frequenza.

In generale, quando accedi a BigQuery tramite Looker Studio, devi sostenere costi di utilizzo di BigQuery. Per ulteriori informazioni, consulta Visualizzare i dati di BigQuery utilizzando Looker Studio.

Per creare un report:

  1. Apri Looker Studio e accedi.
  2. Fai clic su Report vuoto.
  3. Nella scheda Connessione ai dati, fai clic sulla scheda BigQuery.
  4. Se richiesto, autorizza Looker Studio ad accedere ai tuoi progetti BigQuery.
  5. Connettiti ai tuoi dati BigQuery:

    1. In Progetto, seleziona il progetto contenente la tabella di output. Puoi cercare il progetto nelle schede Progetti recenti, I miei progetti e Progetti condivisi.
    2. Per Set di dati, seleziona il set di dati contenente la tabella di output.
    3. Per Tabella, seleziona la tabella di output o la visualizzazione latest della tabella di output.

      Per ulteriori informazioni, consulta Scegliere tra la tabella di output e la visualizzazione latest in questa pagina.

    4. Fai clic su Aggiungi.

    5. Nella finestra di dialogo visualizzata, fai clic su Aggiungi al report.

  6. Per aggiungere una tabella che mostri ogni infoType registrato e la relativa frequenza (conteggio record):

    1. Fai clic su Aggiungi un grafico.
    2. Seleziona uno stile di tabella.
    3. Fai clic sull'area in cui vuoi posizionare il grafico.

      Il grafico viene visualizzato in formato tabella.

    4. Ridimensiona la tabella in base alle esigenze.

      Finché la tabella è selezionata, le relative proprietà vengono visualizzate nel riquadro Grafico.

    5. Nel riquadro Grafico, nella scheda Configurazione, rimuovi le dimensioni e le metriche predeselezionate.

    6. Per Dimensione, aggiungi column_profile.column_info_type.info_type.name o file_store_profile.file_cluster_summaries.file_store_info_type_summaries.info_type.name.

      Questi esempi forniscono dati a livello di colonna e cluster di file. Puoi provare anche altre dimensioni. Ad esempio, puoi utilizzare le dimensioni a livello di tabella e a livello di bucket.

    7. In Metrica, aggiungi Conteggio record.

    La tabella risultante sarà simile alla seguente:

    Una tabella che mostra gli infoType rilevati e i relativi conteggi dei record

Scopri di più sulle tabelle in Looker Studio.

Risolvere gli errori relativi al report predefinito

Se durante il caricamento del report predefinito vengono visualizzati errori, controlli mancanti o grafici mancanti, assicurati che il report predefinito utilizzi i campi più recenti:

  • Se il report predefinito è collegato alla tabella di output, verifica che questa tabella sia collegata a una configurazione di ricerca di risorse attiva. Per visualizzare le impostazioni delle configurazioni di scansione, consulta Visualizzare una configurazione di scansione.

  • Se il report predefinito è collegato alla vista latest, verifica che questa vista sia ancora presente in BigQuery. Se è presente, prova a apportare una modifica alla visualizzazione. In alternativa, crea una copia della vista e collega il report predefinito a questa copia. Per ulteriori informazioni sulla visualizzazione latest, consulta la sezione Visualizzazione latest in questa pagina.

Se continui a visualizzare errori dopo aver provato questi passaggi, contatta l'assistenza clienti Google Cloud.

Passaggi successivi

Scopri le azioni che puoi intraprendere per correggere i risultati del profilo dei dati.