A generalização é o processo de usar um valor distintivo e abstraí-lo num valor mais geral e menos distintivo. A generalização tenta preservar a utilidade dos dados e, ao mesmo tempo, reduzir a identificabilidade dos dados.
Pode haver muitos níveis de generalização, consoante o tipo de dados. A quantidade de generalização necessária é algo que pode medir num conjunto de dados ou numa população do mundo real através de técnicas como as incluídas na análise de risco da proteção de dados confidenciais.
Uma técnica de generalização comum suportada pela proteção de dados confidenciais é a divisão em grupos. Com o agrupamento, agrupa os registos em grupos mais pequenos numa tentativa de minimizar o risco de um atacante associar informações confidenciais a informações de identificação. Ao fazê-lo, pode manter o significado e a utilidade, mas também oculta os valores individuais que têm muito poucos participantes.
Cenário de agrupamento 1
Considere este cenário de agrupamento numérico: uma base de dados armazena as pontuações de satisfação dos utilizadores, que variam de 0 a 100. A base de dados tem um aspeto semelhante ao seguinte:
user_id | pontuação |
---|---|
1 | 100 |
2 | 100 |
3 | 92 |
… | … |
Ao analisar os dados, percebe que os utilizadores raramente usam alguns valores. Na verdade, existem algumas pontuações que correspondem apenas a um utilizador. Por exemplo, a maioria dos utilizadores escolhe 0, 25, 50, 75 ou 100. No entanto, cinco utilizadores escolheram 95 e apenas um utilizador escolheu 92. Em vez de manter os dados não processados, pode generalizar estes valores em grupos e eliminar grupos com poucos participantes. Consoante a forma como os dados são usados, a generalização dos dados desta forma pode ajudar a evitar a reidentificação.
Pode optar por remover estas linhas de dados atípicos ou tentar preservar a respetiva utilidade através da agrupagem. Para este exemplo, vamos agrupar todos os valores de acordo com o seguinte:
- 0 a 25: "Baixo"
- 26-75: "Médio"
- 76-100: "Elevado"
A colocação em contentores na proteção de dados confidenciais é uma das muitas transformações primitivas disponíveis para a desidentificação. A configuração JSON seguinte ilustra como implementar este cenário de agrupamento na API DLP. Este JSON pode ser incluído num pedido ao método
content.deidentify
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.
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.
REST
... { "primitiveTransformation": { "bucketingConfig": { "buckets": [ { "min": { "integerValue": "0" }, "max": { "integerValue": "25" }, "replacementValue": { "stringValue": "Low" } }, { "min": { "integerValue": "26" }, "max": { "integerValue": "75" }, "replacementValue": { "stringValue": "Medium" } }, { "min": { "integerValue": "76" }, "max": { "integerValue": "100" }, "replacementValue": { "stringValue": "High" } } ] } } } ...
Cenário de segmentação 2
A agrupagem também pode ser usada em strings ou valores enumerados. Suponhamos que quer partilhar dados de salários e incluir cargos. No entanto, alguns cargos, como CEO ou engenheiro distinto, podem estar associados a uma pessoa ou a um pequeno grupo de pessoas. Estes cargos são facilmente associados aos funcionários que os ocupam.
A segmentação em grupos também pode ajudar neste caso. Em vez de incluir cargos exatos, generalize e agrupe-os. Por exemplo, "Engenheiro sénior", "Engenheiro júnior" e "Engenheiro distinto" são generalizados e agrupados simplesmente em "Engenheiro". A tabela seguinte ilustra a categorização de cargos específicos em famílias de cargos.
Outros cenários
Nestes exemplos, aplicámos a transformação aos dados estruturados. A divisão em grupos também pode ser usada em exemplos não estruturados, desde que o valor possa ser classificado com um infoType predefinido ou personalizado. Seguem-se alguns cenários de exemplo:
- Classifique datas e agrupe-as em intervalos de anos
- Classificar nomes e agrupá-los com base na primeira letra (A-M, N-Z)
Recursos
Para saber mais sobre a generalização e a categorização, consulte o artigo Remover a identificação de dados confidenciais em conteúdo de texto.
Para consultar a documentação da API, aceda a:
- Método
projects.content.deidentify
BucketingConfig
transformação: agrupa valores com base em intervalos personalizados.FixedSizeBucketingConfig
transformation: Agrupa valores com base em intervalos de tamanho fixo.