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.
Cette rubrique explique comment calculer les valeurs de k-carte 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
- Assurez-vous 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 Sensitive Data Protection. Activer la protection des données sensibles
- Sélectionnez un ensemble de données BigQuery à analyser. Sensitive Data Protection estime la métrique de k-carte 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-map à l'aide de Sensitive Data Protection, qui utilise un modèle statistique pour estimer un ensemble de données de désanonymisation. 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, Sensitive Data Protection utilise des ensembles de données accessibles au public (par exemple, du recensement américain) ou un modèle statistique personnalisé (par exemple, une ou plusieurs tables BigQuery que vous spécifiez), ou extrapole à 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 la carte k à l'aide de Sensitive Data Protection, configurez d'abord le job 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 objetKMapEstimationConfigcontenant 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 :- Un infoType : cela amène Sensitive Data Protection à utiliser l'ensemble de données public pertinent comme modèle statistique de population, y compris les codes postaux américains, les codes de région, les âges et les genres.
- 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. Sensitive Data Protection déduit le modèle statistique de la distribution des valeurs dans les données d'entrée.
regionCode: code de région ISO 3166-1 alpha-2 que Sensitive Data Protection doit utiliser pour la modélisation statistique. 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
Actionreprésentant les actions à exécuter, dans l'ordre indiqué, à la fin de la tâche. Chaque objetActionpeut 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
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 des exemples de code dans plusieurs langages qui montrent comment utiliser Sensitive Data Protection pour calculer une valeur de k-carte.
Go
Pour savoir comment installer et utiliser la bibliothèque cliente pour Sensitive Data Protection, consultez Bibliothèques clientes Sensitive Data Protection.
Pour vous authentifier auprès de Sensitive Data Protection, 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 Sensitive Data Protection, consultez Bibliothèques clientes Sensitive Data Protection.
Pour vous authentifier auprès de Sensitive Data Protection, 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 Sensitive Data Protection, consultez Bibliothèques clientes Sensitive Data Protection.
Pour vous authentifier auprès de Sensitive Data Protection, 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 Sensitive Data Protection, consultez Bibliothèques clientes Sensitive Data Protection.
Pour vous authentifier auprès de Sensitive Data Protection, 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 Sensitive Data Protection, consultez Bibliothèques clientes Sensitive Data Protection.
Pour vous authentifier auprès de Sensitive Data Protection, 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 Sensitive Data Protection, consultez Bibliothèques clientes Sensitive Data Protection.
Pour vous authentifier auprès de Sensitive Data Protection, 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 l'ID de votre projet et JOB_ID par l'identifiant du job pour lequel vous souhaitez obtenir des résultats.
L'ID de job a été renvoyé lorsque vous avez démarré le job. Vous pouvez également le récupérer en listant tous les jobs.
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.