Um detector de infoType personalizado de expressão regular (regex) permite que você crie seus próprios detectores para que a Proteção de dados sensíveis detecte correspondências com base em um padrão de expressão regular. Por exemplo, se você tiver números de registros médicos no formato ###-#-#####
. será possível definir um padrão de regex como este:
[0-9]{3}-[0-9]{1}-[0-9]{5}
A Proteção de Dados Sensíveis corresponderia a itens como os seguintes:
012-4-56789
Anatomia de detectores de infoType personalizados de regex
Conforme resumido em Visão geral da API, para criar um detector de infoType regex personalizado, você define um objeto CustomInfoType
que contém o seguinte:
- O nome que você quer dar ao detector de infoType personalizado, em um objeto
InfoType
. - Um valor
Likelihood
opcional. Se você omitir esse campo, as correspondências de regex retornarão uma probabilidade padrão deVERY_LIKELY
. Se você observar um detector de infoType regex personalizado exibindo muitos falsos positivos, tente reduzir a probabilidade básica e use regras de detecção para aumentar a probabilidade usando informações contextuais. Para saber mais, consulte Como personalizar a probabilidade de descoberta. DetectionRule
ou regras de hotword opcionais. Essas regras ajustam a probabilidade de descobertas de acordo com determinada proximidade de hotwords especificadas. Saiba mais sobre regras de hotword em Como personalizar a probabilidade de descoberta.Um valor
SensitivityScore
opcional. Se você omitir esse campo, as correspondências com a expressão regular vão retornar um nível de sensibilidade padrão deHIGH
.As pontuações de sensibilidade são usadas em perfis de dados. Ao criar perfis dos seus dados, a Proteção de dados sensíveis usa as pontuações de sensibilidade dos infoTypes para calcular o nível de sensibilidade.
Um objeto
Regex
que consiste em um único padrão que define a expressão regular.
Como um objeto JSON, um detector de infoType personalizado de regex que inclui todos os componentes opcionais é semelhante ao seguinte:
{
"customInfoTypes":[
{
"infoType":{
"name":"CUSTOM_INFOTYPE_NAME"
},
"likelihood":"LIKELIHOOD_LEVEL",
"detectionRules":[
{
"hotwordRule":{
HOTWORD_RULE
}
},
"sensitivityScore":{
"score": "SENSITIVITY_SCORE"
},
],
"regex":{
"pattern":"REGULAR_EXPRESSION_PATTERN"
}
}
],
...
}
Exemplo de regex: correspondência com números de registros médicos
O snippet e o código JSON a seguir em várias linguagens mostram um detector de infoType personalizado de expressão regular que instrui a Proteção de dados sensíveis a associar um número de registro médico (MRN) no texto de entrada "MRN do paciente 444-5-22222" e atribuir uma probabilidade a cada correspondência de POSSIBLE
.
C#
Para saber como instalar e usar a biblioteca de cliente da Proteção de dados sensíveis, consulte Bibliotecas de cliente da 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.
Go
Para saber como instalar e usar a biblioteca de cliente da Proteção de dados sensíveis, consulte Bibliotecas de cliente da 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 da Proteção de dados sensíveis, consulte Bibliotecas de cliente da 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 da Proteção de dados sensíveis, consulte Bibliotecas de cliente da 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 da Proteção de dados sensíveis, consulte Bibliotecas de cliente da 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 da Proteção de dados sensíveis, consulte Bibliotecas de cliente da 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.
REST
Consulte o Início rápido do JSON para ver mais informações sobre o uso da API DLP com o JSON.
Entrada JSON:
POST https://dlp.googleapis.com/v2/projects/[PROJECT_ID]/content:inspect?key={YOUR_API_KEY}
{
"item":{
"value":"Patients MRN 444-5-22222"
},
"inspectConfig":{
"customInfoTypes":[
{
"infoType":{
"name":"C_MRN"
},
"regex":{
"pattern":"[1-9]{3}-[1-9]{1}-[1-9]{5}"
},
"likelihood":"POSSIBLE"
}
]
}
}
Saída JSON:
{
"result":{
"findings":[
{
"infoType":{
"name":"C_MRN"
},
"likelihood":"POSSIBLE",
"location":{
"byteRange":{
"start":"13",
"end":"24"
},
"codepointRange":{
"start":"13",
"end":"24"
}
},
"createTime":"2018-11-30T01:29:37.799Z"
}
]
}
}
Usando o detector de infoType personalizado com o nome C_MRN
e seu regex personalizado, a Proteção de dados sensíveis identificou corretamente o número do registro médico e atribuiu a ele uma certeza POSSIBLE
, conforme especificado.
Como personalizar a probabilidade de correspondência baseia-se neste exemplo para incluir palavras de contexto.