Um detector de infoType personalizado de expressão regular (regex) permite que você crie seus próprios detectores, que ativam a proteção de dados sensíveis para detectar correspondências com base em um padrão regex. 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 na Visão geral da API, para criar um detector de infoType de 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 retornarão um nível de sensibilidade padrão deHIGH
.As pontuações de sensibilidade são usadas em perfis de dados. Ao criar o perfil dos 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ários idiomas abaixo mostram um detector de infoType personalizado de expressão regular que instrui a proteção de dados sensíveis a corresponder a um número de registro médico (MRN, na sigla em inglês) no texto de entrada "MRN do paciente 444-5-22222" e atribui a cada correspondência uma probabilidade POSSIBLE
.
C#
Para saber como instalar e usar a biblioteca de cliente para proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 para proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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 proteção de dados sensíveis, consulte Bibliotecas de cliente de proteção de dados sensíveis.
Para usar a 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"
}
]
}
}
A saída mostra que, ao usar o detector de infoType personalizado com o nome C_MRN
e o 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.