La technique k-table est semblable à la propriété k-anonymat, sauf qu'elle suppose que le pirate informatique ne sait probablement pas qui figure dans l'ensemble de données. Utilisez la technique k-table si votre ensemble de données est relativement petit ou si les tâches de généralisation des attributs seraient trop longues.
Tout comme la propriété k-anonymat, la technique k-table nécessite que vous déterminiez les colonnes de votre base de données correspondant à des quasi-identifiants. De ce fait, vous indiquez les données qu'un pirate informatique est le plus susceptible d'utiliser pour restaurer l'identification des sujets. En outre, le calcul d'une valeur k-table nécessite un ensemble de données de restauration de l'identification : un tableau plus grand avec lequel comparer les lignes de l'ensemble de données d'origine.
Cet article explique comment calculer des valeurs k-table pour un ensemble de données à l'aide de Sensitive Data Protection. Pour en savoir plus sur la technique k-table ou l'analyse des risques en général, consultez la section sur les concepts d'analyse des risques avant de continuer.
Avant de commencer
Avant de continuer, assurez-vous d'avoir effectué les actions suivantes :
- Connectez-vous à votre compte Google.
- Dans la console Google Cloud, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud. Accéder au sélecteur de projet
- Vérifiez que la facturation est activée pour votre projet Google Cloud. Découvrez comment vérifier que la facturation est activée pour votre projet.
- Activez la protection des données sensibles. Activer la protection des données sensibles
- Sélectionnez un ensemble de données BigQuery à analyser. Sensitive Data Protection estime la métrique k-table en analysant une table BigQuery.
- Déterminez les types d'ensembles de données que vous souhaitez utiliser pour modéliser l'ensemble de données d'attaque. Pour en savoir plus, consultez la page de référence sur l'objet
KMapEstimationConfig
, ainsi que les Termes et techniques d'analyse des risques.
Calculer des estimations de k-table
Vous pouvez estimer les valeurs de k-table à l'aide de la protection des données sensibles, qui utilise un modèle statistique permettant d'évaluer un ensemble de données de restauration de l'identification. Cette démarche diffère des autres méthodes d'analyse des risques, dans lesquelles l'ensemble de données d'attaque est explicitement connu. Selon le type de données, la protection des données sensibles utilise des ensembles de données publiquement disponibles (comme ceux du recensement américain) ou un modèle statistique personnalisé (comprenant par exemple une ou plusieurs tables BigQuery que vous définissez). La protection des données sensibles peut également effectuer une extrapolation à partir de la distribution des valeurs dans votre ensemble de données d'entrée. Pour en savoir plus, consultez la page de référence sur l'objet KMapEstimationConfig
.
Pour calculer une estimation de k-table à l'aide de la protection des données sensibles, commencez par configurer la tâche d'analyse des risques. Saisissez une requête sur la ressource projects.dlpJobs
, où PROJECT_ID indique votre identifiant de projet :
https://dlp.googleapis.com/v2/projects/PROJECT_ID/dlpJobs
La requête contient un objet RiskAnalysisJobConfig
composé des éléments suivants :
Un objet
PrivacyMetric
. C'est ici que vous indiquez que vous voulez calculer k-table, en spécifiant un objetKMapEstimationConfig
contenant les éléments suivants :quasiIds[]
: valeur obligatoire. Champs (objetsTaggedField
) considérés comme des quasi-identifiants à analyser et à utiliser pour calculer k-table. Deux colonnes ne peuvent pas partager le même tag, et chaque tag peut correspondre à l'un des éléments suivants :- infoType : la protection des données sensibles utilise l'ensemble de données public pertinent comme modèle statistique de population, y compris les codes postaux américains, les codes des régions, l'âge et le sexe.
- InfoType personnalisé : tag personnalisé dans lequel vous indiquez une table auxiliaire (un objet
AuxiliaryTable
) contenant des informations statistiques sur les valeurs possibles de cette colonne. - Tag
inferred
: si aucun tag sémantique n'est indiqué, renseignezinferred
. La protection des données sensibles déduit le modèle statistique à partir de la distribution des valeurs dans les données d'entrée.
regionCode
: code de région ISO 3166-1 alpha-2 permettant à la protection des données sensibles de modéliser les statistiques. Cette valeur est obligatoire si aucune colonne ne contient de tag d'infoType spécifique à une région (un code postal américain, par exemple) ou à un code de région.auxiliaryTables[]
: Tables auxiliaires (objetsAuxiliaryTable
) à utiliser dans l'analyse. Chaque tag personnalisé servant à marquer une colonne de quasi-identifiants (depuisquasiIds[]
) ne doit apparaître que dans une colonne d'une table auxiliaire.
Un objet
BigQueryTable
. Spécifiez la table BigQuery à analyser en incluant tous les éléments suivants :projectId
: ID du projet contenant la table.datasetId
: ID de l'ensemble de données de la table.tableId
: nom de la table.
Un ensemble d'un ou de plusieurs objets
Action
représentant les actions à exécuter, dans l'ordre indiqué, à la fin de la tâche. Chaque objetAction
peut contenir l'une des actions suivantes :- Objet
SaveFindings
: enregistre les résultats de l'analyse des risques dans une table BigQuery. - Objet
PublishToPubSub
: publie une notification dans un sujet Pub/Sub.
- Objet
PublishSummaryToCscc
: enregistre un résumé des résultats dans Security Command Center. - Objet
PublishFindingsToCloudDataCatalog
: enregistre les résultats dans Data Catalog. - Objet
JobNotificationEmails
: vous envoie un e-mail contenant les résultats. - Objet
PublishToStackdriver
: enregistre les résultats dans Google Cloud Observability.
- Objet
Exemples de code
Voici un exemple de code dans plusieurs langages qui montre comment utiliser la protection des données sensibles pour calculer une valeur k-table.
Go
Pour savoir comment installer et utiliser la bibliothèque cliente pour la protection des données sensibles, consultez la page Bibliothèques clientes de la protection des données sensibles.
Pour vous authentifier auprès de la protection des données sensibles, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour la protection des données sensibles, consultez la page Bibliothèques clientes de la protection des données sensibles.
Pour vous authentifier auprès de la protection des données sensibles, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour savoir comment installer et utiliser la bibliothèque cliente pour la protection des données sensibles, consultez la page Bibliothèques clientes de la protection des données sensibles.
Pour vous authentifier auprès de la protection des données sensibles, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Pour savoir comment installer et utiliser la bibliothèque cliente pour la protection des données sensibles, consultez la page Bibliothèques clientes de la protection des données sensibles.
Pour vous authentifier auprès de la protection des données sensibles, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour la protection des données sensibles, consultez la page Bibliothèques clientes de la protection des données sensibles.
Pour vous authentifier auprès de la protection des données sensibles, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
C#
Pour savoir comment installer et utiliser la bibliothèque cliente pour la protection des données sensibles, consultez la page Bibliothèques clientes de la protection des données sensibles.
Pour vous authentifier auprès de la protection des données sensibles, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Afficher les résultats d'une tâche k-table
Pour récupérer les résultats de la tâche d'analyse des risques k-table à l'aide de l'API REST, envoyez la requête GET suivante à la ressource projects.dlpJobs
. Remplacez PROJECT_ID par votre ID de projet et JOB_ID par l'identifiant de la tâche pour laquelle vous souhaitez obtenir des résultats.
L'ID de tâche a été renvoyé au démarrage de la tâche et peut être récupéré en répertoriant toutes les tâches.
GET https://dlp.googleapis.com/v2/projects/PROJECT_ID/dlpJobs/JOB_ID
La requête renvoie un objet JSON contenant une instance de la tâche. Les résultats de l'analyse se trouvent dans la clé "riskDetails"
, dans un objet AnalyzeDataSourceRiskDetails
. Pour en savoir plus, consultez la documentation de référence de l'API pour la ressource DlpJob
.
Étape suivante
- Découvrez comment calculer la valeur k-anonymat pour un ensemble de données.
- Découvrez comment calculer la valeur l-diversité pour un ensemble de données.
- Découvrez comment calculer la valeur δ-présence pour un ensemble de données.