O K-map é muito semelhante ao k-anonimato, exceto que assume que o atacante provavelmente não sabe quem está no conjunto de dados. Use o mapa k se o seu conjunto de dados for relativamente pequeno ou se o nível de esforço envolvido na generalização dos atributos for demasiado elevado.
Tal como a anonimização k, o k-map requer que determine que colunas da sua base de dados são quase identificadores. Ao fazê-lo, está a indicar que dados um atacante vai usar com maior probabilidade para reidentificar os indivíduos. Além disso, o cálculo de um valor de mapa de k requer um conjunto de dados de reidentificação: uma tabela maior com a qual comparar linhas no conjunto de dados original.
Este tópico demonstra como calcular os valores de k-map para um conjunto de dados através da proteção de dados confidenciais. Para mais informações sobre o mapa de k ou a análise de risco em geral, consulte o tópico do conceito de análise de risco antes de continuar.
Antes de começar
Antes de continuar, certifique-se de que fez o seguinte:
- Inicie sessão na sua Conta Google.
- Na Google Cloud consola, na página do seletor de projetos, selecione ou crie um Google Cloud projeto. Aceda ao seletor de projetos
- Certifique-se de que a faturação está ativada para o seu Google Cloud projeto. Saiba como confirmar se a faturação está ativada para o seu projeto.
- Ative a proteção de dados confidenciais. Ative a proteção de dados confidenciais
- Selecione um conjunto de dados do BigQuery para analisar. A proteção de dados confidenciais estima a métrica de k-map ao analisar uma tabela do BigQuery.
- Determine os tipos de conjuntos de dados que quer usar para modelar o conjunto de dados de ataques. Para mais informações, consulte a página de referência do objeto
KMapEstimationConfig
, bem como os termos e as técnicas de análise de risco.
Calcule as estimativas de k-map
Pode estimar os valores do mapa k através da proteção de dados confidenciais, que usa um modelo estatístico para estimar um conjunto de dados de reidentificação. Isto contrasta com os outros métodos de análise de risco, nos quais o conjunto de dados de ataque é explicitamente conhecido. Consoante o tipo de dados, a Proteção de dados confidenciais usa conjuntos de dados disponíveis publicamente (por exemplo, do US Census) ou um modelo estatístico personalizado (por exemplo, uma ou mais tabelas do BigQuery que especifica) ou extrapola a partir da distribuição de valores no seu 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 através da Proteção de dados confidenciais, primeiro configure a tarefa de risco. Crie um pedido para o recurso
projects.dlpJobs
, em que PROJECT_ID indica o identificador do seu projeto:
https://dlp.googleapis.com/v2/projects/PROJECT_ID/dlpJobs
O pedido contém um objeto
RiskAnalysisJobConfig
composto pelo seguinte:
Um
PrivacyMetric
objeto. É aqui que especifica que quer calcular o mapa k, especificando um objetoKMapEstimationConfig
que contenha o seguinte:quasiIds[]
: obrigatório. Campos (TaggedField
objetos) considerados quase identificadores para procurar e usar para calcular k-map. Nenhuma coluna pode ter a mesma etiqueta. Estas podem ser qualquer uma das seguintes opções:- Um infoType: Isto faz com que a proteção de dados confidenciais use o conjunto de dados público relevante como um modelo estatístico da população, incluindo códigos postais, códigos de regiões, idades e géneros dos EUA.
- Um infoType personalizado: uma etiqueta personalizada na qual indica uma tabela auxiliar (um objeto
AuxiliaryTable
) que contém informações estatísticas sobre os possíveis valores desta coluna. - A etiqueta
inferred
: se não for indicada nenhuma etiqueta semântica, especifiqueinferred
. A proteção de dados confidenciais infere o modelo estatístico a partir da distribuição de valores nos dados de entrada.
regionCode
: Um código da região ISO 3166-1 alfa-2 para a proteção de dados confidenciais usar na modelagem estatística. Este valor é obrigatório se nenhuma coluna estiver etiquetada com um infoType específico da região (por exemplo, um código postal dos EUA) ou um código da região.auxiliaryTables[]
: tabelas auxiliares (AuxiliaryTable
objetos) a usar na análise. Cada etiqueta personalizada usada para etiquetar uma coluna de quase identificador (dequasiIds[]
) tem de aparecer exatamente numa coluna de uma tabela auxiliar.
Um objeto
BigQueryTable
. Especifique a tabela do BigQuery a analisar incluindo todos os seguintes elementos: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 executar, na ordem indicada, após a conclusão da tarefa. Cada objetoAction
pode conter uma das seguintes ações:SaveFindings
object: guarda os resultados da análise de risco numa tabela do BigQuery.PublishToPubSub
object: Publica uma notificação num tópico do Pub/Sub.
PublishSummaryToCscc
object: guarda um resumo dos resultados no Security Command Center.PublishFindingsToCloudDataCatalog
object: guarda os resultados no Data Catalog.JobNotificationEmails
object: envia-lhe um email com os resultados.PublishToStackdriver
object: guarda os resultados no Google Cloud Observability.
Exemplos de código
Segue-se um exemplo de código em vários idiomas que demonstra como usar a proteção de dados confidenciais para calcular um valor de k-map.
Go
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Java
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
PHP
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
C#
Para saber como instalar e usar a biblioteca cliente para a Proteção de dados confidenciais, consulte o artigo Bibliotecas cliente da Proteção de dados confidenciais.
Para se autenticar na Proteção de dados confidenciais, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
A ver resultados de empregos no mapa de k
Para obter os resultados da tarefa de análise de risco de mapas k através da API REST, envie o seguinte pedido GET para o recurso projects.dlpJobs
. Substitua PROJECT_ID pelo ID do projeto e JOB_ID pelo identificador da tarefa para a qual quer obter resultados.
O ID da tarefa foi devolvido quando iniciou a tarefa e também pode ser obtido através da
listagem de todas as tarefas.
GET https://dlp.googleapis.com/v2/projects/PROJECT_ID/dlpJobs/JOB_ID
O pedido devolve um objeto JSON que contém uma instância da tarefa. Os resultados
da análise encontram-se na chave "riskDetails"
, num
objeto AnalyzeDataSourceRiskDetails
. Para mais informações, consulte a referência da API para o recurso
DlpJob
.
O que se segue?
- 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.
- Saiba como calcular o valor de δ-presença para um conjunto de dados.