O k-mapa é muito semelhante ao k-anonimato, exceto pelo fato de que o invasor provavelmente não sabe quem está no conjunto de dados. Use k-mapa se seu conjunto de dados for relativamente pequeno ou se o nível de esforço envolvido na generalização de atributos for muito alto.
Assim como k-anonimato, o k-mapa requer que você determine quais colunas de seu banco de dados são quase identificadores. Ao fazer isso, você está informando os dados que um invasor provavelmente usará para reidentificar os assuntos. Além disso, calcular um valor k-mapa requer um conjunto de dados de reidentificação: uma tabela maior que será comparada às linhas no conjunto de dados original.
Neste tópico, demonstramos como calcular valores de mapa k para um conjunto de dados usando a Proteção de Dados Sensíveis. Para mais informações sobre k-mapa ou análise de risco em geral, consulte o tópico sobre o conceito de análise de risco antes de continuar.
Antes de começar
Antes de continuar, verifique se você fez o seguinte:
- Faça login na sua Conta do Google.
- No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud. Acessar o seletor de projetos
- Verifique se a cobrança está ativada para o seu projeto do Google Cloud. Saiba como confirmar se a cobrança está ativada para seu projeto.
- Ative a proteção de dados sensíveis. Ativar a proteção de dados sensíveis
- Selecione um conjunto de dados do BigQuery para a análise. A Proteção de dados confidenciais estima a métrica k-mapa verificando uma tabela do BigQuery.
- Determine os tipos de conjuntos de dados que você quer usar para modelar o conjunto de dados de
ataque. Para mais informações, consulte a página de referência do objeto
KMapEstimationConfig
, bem como os termos e técnicas de análise de risco.
Calcular estimativas do k-mapa
É possível estimar valores de k-mapa com a Proteção de dados sensíveis, que usa
um modelo estatístico para estimar um conjunto de dados de reidentificação. Isso é diferente em relação a outros métodos de análise de risco, em que o conjunto de dados de ataque é explicitamente conhecido. Dependendo do tipo de dados, a Proteção de dados sensíveis usa conjuntos de dados disponíveis publicamente (por exemplo, do Censo dos EUA) ou um modelo estatístico personalizado (por exemplo, uma ou mais tabelas do BigQuery especificadas) ou extrapola a distribuição de valores no conjunto de dados de entrada. Para mais
informações, consulte a página de referência do
objeto
KMapEstimationConfig
.
Para calcular uma estimativa de k-mapa usando a Proteção de dados sensíveis, primeiro configure o
job de risco. Escreva uma solicitação para o
recurso projects.dlpJobs
,
em que PROJECT_ID indica o
identificador do projeto:
https://dlp.googleapis.com/v2/projects/PROJECT_ID/dlpJobs
A solicitação contém um objeto RiskAnalysisJobConfig
, composto de:
Um objeto
PrivacyMetric
É onde você especifica que quer calcular k-mapa ao especificar um objetoKMapEstimationConfig
contendo o seguinte:quasiIds[]
: obrigatório. Campos (objetosTaggedField
) considerados semi- identificadores para serem verificados e usados para calcular k-mapa. Não existem duas colunas com a mesma tag. Eles podem ser:- Um infoType: faz com que a Proteção de dados sensíveis use o conjunto de dados público relevante como modelo estatístico de população, incluindo CEPs dos EUA, códigos regionais, idades e sexos.
- Um InfoType personalizado: uma tag personalizada em que você indica uma tabela auxiliar (um objeto
AuxiliaryTable
) que contém informações estatísticas sobre os valores possíveis dessa coluna. - A tag
inferred
: se nenhuma tag semântica estiver indicada, especifiqueinferred
. A Proteção de Dados Sensíveis infere o modelo estatístico da distribuição de valores nos dados de entrada.
regionCode
: um código regional ISO 3166-1 alfa-2 para a Proteção de dados sensíveis usar na modelagem estatística. Esse valor será necessário se nenhuma coluna estiver marcada com um infoType específico da região (por exemplo, um CEP dos EUA) ou um código regional.auxiliaryTables[]
: tabelas auxiliares (objetosAuxiliaryTable
) a serem usadas na análise. Cada tag personalizada usada para marcar uma coluna de semi-identificador (dequasiIds[]
) precisa aparecer em exatamente uma coluna de uma tabela auxiliar.
Um objeto
BigQueryTable
. Inclua todos os itens a seguir para especificar a tabela do BigQuery que será verificada:projectId
: o ID do projeto que contém a tabela.datasetId
: o ID do conjunto de dados da tabela.tableId
: o nome da tabela.
Um conjunto de um ou mais objetos
Action
, que representam ações a serem executadas, na ordem indicada, na conclusão do job. Cada objetoAction
pode conter uma das seguintes ações:- Objeto
SaveFindings
: salva os resultados da verificação de análise de risco em uma tabela do BigQuery. - Objeto
PublishToPubSub
: publica uma notificação em um tópico do Pub/Sub.
- Objeto
PublishSummaryToCscc
: salva um resumo de resultados no Security Command Center. - Objeto
PublishFindingsToCloudDataCatalog
: salva os resultados no Data Catalog. - Objeto
JobNotificationEmails
: envia um e-mail com os resultados. - Objeto
PublishToStackdriver
: salva os resultados na Observabilidade do Google Cloud.
- Objeto
Exemplos de código
A amostra de código a seguir demonstra em várias linguagens como usar a Proteção de dados sensíveis para calcular um valor de mapa k.
Go
Para saber como instalar e usar a biblioteca de cliente para a Proteção de dados sensíveis, consulte Bibliotecas de cliente para a Proteção de dados sensíveis.
Para autenticar na Proteção de dados sensíveis, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Para saber como instalar e usar a biblioteca de cliente para a Proteção de dados sensíveis, consulte Bibliotecas de cliente para a Proteção de dados sensíveis.
Para autenticar na Proteção de dados sensíveis, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca de cliente para a Proteção de dados sensíveis, consulte Bibliotecas de cliente para a Proteção de dados sensíveis.
Para autenticar na Proteção de dados sensíveis, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
PHP
Para saber como instalar e usar a biblioteca de cliente para a Proteção de dados sensíveis, consulte Bibliotecas de cliente para a Proteção de dados sensíveis.
Para autenticar na Proteção de dados sensíveis, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca de cliente para a Proteção de dados sensíveis, consulte Bibliotecas de cliente para a Proteção de dados sensíveis.
Para autenticar na Proteção de dados sensíveis, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
C#
Para saber como instalar e usar a biblioteca de cliente para a Proteção de dados sensíveis, consulte Bibliotecas de cliente para a Proteção de dados sensíveis.
Para autenticar na Proteção de dados sensíveis, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Como visualizar os resultados do job k-mapa
Para recuperar os resultados dok-mapa usando o API
REST, envie a seguinte solicitação GET
para o
projects.dlpJobs
. Substitua PROJECT_ID pelo ID do projeto e
JOB_ID pelo identificador do job em que você quer receber os resultados.
O código da tarefa foi retornado quando você iniciou o job e também pode ser recuperado ao listar todos os jobs.
GET https://dlp.googleapis.com/v2/projects/PROJECT_ID/dlpJobs/JOB_ID
A solicitação retorna um objeto JSON que contém uma instância do job. Os resultados
da análise estão dentro da chave "riskDetails"
, em um
objeto
AnalyzeDataSourceRiskDetails
. Para mais informações, consulte a referência da API do
recurso
DlpJob
.
A seguir
- Saiba como calcular o valor de k-anonimato para um conjunto de dados.
- Saiba como calcular o valor de l-diversidade para um conjunto de dados.
- Aprenda a calcular o valor de δ-presença para um conjunto de dados.