O gerenciamento adequado dos dados confidenciais armazenados em um repositório de armazenamento começa com a classificação de armazenamento. Isso significa identificar a localização dos dados confidenciais no repositório, o tipo dos dados confidenciais e como eles estão sendo usados. Esse conhecimento pode ajudar você a definir adequadamente o controle de acesso e as permissões de compartilhamento, além de fazer parte de um plano de monitoramento contínuo.
A proteção de dados confidenciais pode detectar e classificar dados confidenciais armazenados em um local do Cloud Storage, um tipo do Datastore ou uma tabela do BigQuery. Ao verificar arquivos em locais do Cloud Storage, a proteção de dados sensíveis aceita a verificação de arquivos binários, de texto, de imagem, do Microsoft Word, do Microsoft Excel, do Microsoft Powerpoint, do PDF e do Apache Avro. Os arquivos de tipos que não são reconhecidos são verificados como arquivos binários. Para mais informações sobre os tipos de arquivos compatíveis, consulte Tipos de arquivos compatíveis.
Para inspecionar dados sensíveis de armazenamento e bancos de dados, especifique o local e o tipo de dados sensíveis que a proteção de dados sensíveis precisa procurar. A proteção de dados sensíveis inicia um job que inspeciona os dados no local especificado e, em seguida, disponibiliza detalhes sobre os infoTypes encontrados no conteúdo, os valores de probabilidade e muito mais.
É possível configurar a inspeção de armazenamento e bancos de dados usando a proteção de dados sensíveis no console do Google Cloud, pela API RESTful DLP ou de maneira programática usando uma biblioteca de cliente de proteção de dados sensíveis em uma das várias linguagens.
Este tópico inclui:
- Práticas recomendadas para configurar verificações de repositórios de armazenamento e bancos de dados do Google Cloud.
- Instruções para configurar uma verificação de inspeção usando a proteção de dados sensíveis no console do Google Cloud e, opcionalmente, programar verificações periódicas de inspeção.
- Amostras de código e JSON para cada tipo de repositório do Google Cloud Storage: Cloud Storage, Firestore no modo Datastore (Datastore) e BigQuery.
- Uma visão geral detalhada das opções de configuração dos jobs de verificação.
- Instruções sobre como recuperar os resultados da verificação e como gerenciar os jobs de verificação criados com base em cada solicitação bem-sucedida.
Práticas recomendadas
Como identificar e priorizar a verificação
É importante avaliar primeiro os recursos e especificar quais deles têm a maior prioridade de verificação. Ao começar, é possível ter um grande acúmulo de dados que precisam de classificação e será impossível verificá-los imediatamente. Escolha inicialmente os dados que representam o maior risco potencial, por exemplo, dados que são acessados com frequência, amplamente acessíveis ou desconhecidos.
Garanta que a proteção de dados sensíveis possa acessar seus dados
A proteção de dados sensíveis precisa acessar os dados a serem verificados. Verifique se a conta de serviço da proteção de dados sensíveis tem permissão para ler seus recursos.
Limite o escopo nas primeiras verificações
Para ter melhores resultados, limite o escopo dos seus primeiros jobs em vez de verificar todos os dados. Comece com uma tabela, um bucket ou alguns arquivos e use uma amostragem. Ao limitar o escopo das primeiras verificações, é possível determinar melhor quais detectores serão ativados e quais regras de exclusão podem ser necessárias para reduzir falsos positivos e tornar suas descobertas mais significativas. Evite ativar todos os infoTypes se você não precisar de todos eles, pois os falsos positivos ou as descobertas inúteis podem dificultar a avaliação do seu risco. Embora sejam úteis em determinados cenários, alguns infoTypes, como DATE
, TIME
, DOMAIN_NAME
e URL
, correspondem a uma ampla variedade de descobertas e podem não ser úteis para grandes verificações de dados.
Ao fazer a amostragem de um arquivo estruturado, como um arquivo CSV, TSV ou Avro, verifique se o tamanho da amostra é grande o suficiente para cobrir o cabeçalho completo do arquivo e uma linha de dados. Para mais informações, consulte Como verificar arquivos estruturados no modo de análise estruturada.
Programar as verificações
Use os acionadores de jobs da proteção de dados sensíveis para executar verificações automaticamente e gerar descobertas diárias, semanais ou trimestrais. Essas verificações também podem ser configuradas para inspecionar apenas os dados que foram alterados desde a última verificação, o que pode economizar tempo e reduzir custos. Executar verificações regularmente pode ajudar você a identificar tendências ou anomalias nos resultados da verificação.
Latência do job
Não há objetivos de nível de serviço (SLO) garantidos para jobs e acionadores de jobs. A latência é afetada por vários fatores, incluindo a quantidade de dados a serem verificados, o repositório de armazenamento que está sendo verificado, o tipo e o número de infoTypes que você está verificando, a região onde o job é processado e os recursos de computação disponíveis nessa região. Portanto, a latência dos jobs de inspeção não pode ser determinada com antecedência.
Para ajudar a reduzir a latência do job, tente o seguinte:
- Ative a amostragem se estiver disponível para o job ou o acionador de jobs.
Evite ativar os infoTypes que não são necessários. Embora as opções a seguir sejam úteis em certos cenários, esses infoTypes podem fazer solicitações a serem executadas muito mais lentamente do que as solicitações que não os incluem:
PERSON_NAME
FEMALE_NAME
MALE_NAME
FIRST_NAME
LAST_NAME
DATE_OF_BIRTH
LOCATION
STREET_ADDRESS
ORGANIZATION_NAME
Sempre especifique explicitamente os infoTypes. Não use uma lista de infoTypes vazias.
Se possível, use uma região de processamento diferente.
Se você ainda tiver problemas de latência com jobs depois de tentar essas técnicas,
considere usar solicitações
content.inspect
ou
content.deidentify
em vez de jobs. Esses métodos são cobertos pelo contrato de nível de serviço. Para mais informações, consulte o Contrato de nível de serviço de proteção de dados
sensíveis.
Antes de começar
As instruções fornecidas neste tópico pressupõem o seguinte:
Você ativou o faturamento.
Você ativou a proteção de dados sensíveis.
A classificação de armazenamento requer o seguinte escopo OAuth: https://www.googleapis.com/auth/cloud-platform
. Para mais informações, consulte Como autenticar na API DLP.
Inspecionar um local do Cloud Storage
É possível configurar uma inspeção de proteção de dados sensíveis de um local do Cloud Storage usando o console do Google Cloud, a API DLP com solicitações REST ou RPC ou de maneira programática em várias linguagens usando uma biblioteca de cliente. Para mais informações sobre os parâmetros incluídos nos exemplos JSON e de código a seguir, consulte "Configurar inspeção de armazenamento", mais adiante neste tópico.
A proteção de dados sensíveis depende de extensões de arquivo e tipos de mídia (MIME) para identificar os tipos
de arquivos que vão ser verificados e os modos de verificação que serão
aplicados. Por exemplo, a proteção de dados sensíveis verifica um arquivo .txt
no
modo de texto simples, mesmo que ele esteja estruturado como um arquivo CSV, que normalmente é
verificado no modo de análise estruturada.
Para configurar um job de verificação de um bucket do Cloud Storage usando a proteção de dados confidenciais, faça o seguinte:
Console
Nesta seção, descrevemos como inspecionar um bucket ou uma pasta do Cloud Storage. Se você também quiser que a proteção de dados sensíveis crie uma cópia desidentificada dos dados, consulte Desidentificar dados confidenciais armazenados no Cloud Storage usando o console do Google Cloud.
Na seção "Proteção de dados sensíveis" do Console do Google Cloud, acesse a página Criar job ou gatilho de jobs.
Insira as informações do job de proteção de dados sensíveis e clique em Continuar para concluir cada etapa:
Na Etapa 1: escolher dados de entrada, nomeie o job digitando um valor no campo Nome. Em Local, escolha o Cloud Storage no menu Tipo de armazenamento e insira o local dos dados a serem verificados. A seção Amostragem é pré-configurada para executar uma verificação de amostra com base nos seus dados. Você pode ajustar o campo Porcentagem de objetos verificados dentro do bucket para salvar recursos se você tiver uma grande quantidade de dados. Para mais detalhes, consulte Escolher dados de entrada.
(Opcional) Na Etapa 2: configurar a detecção, é possível configurar os tipos de dados a serem procurados, chamados "infoTypes". Selecione na lista de infoTypes predefinidos ou selecione um modelo, se houver. Para mais detalhes, consulte Configurar a detecção.
(Opcional) Na Etapa 3: adicionar ações, certifique-se de que a opção Notificar por e-mail esteja ativada.
Ative Salvar no BigQuery para publicar suas descobertas de proteção de dados sensíveis em uma tabela do BigQuery. Preencha o seguinte:
- Em ID do projeto, digite o ID do projeto em que seus resultados são armazenados.
- Em ID do conjunto de dados, digite o nome do conjunto de dados que armazena os resultados.
- (Opcional) Em ID da tabela, digite o nome da tabela que armazena seus resultados. Se nenhum ID de tabela for especificado, um nome padrão será atribuído a uma nova tabela semelhante ao seguinte:
dlp_googleapis_[DATE]_1234567890
, em que[DATE]
representa a data em que a verificação é executada. Se você especificar uma tabela existente, as descobertas serão anexadas a ela. - (Opcional) Ative Incluir citação para incluir as strings que correspondem a um detector de infoType. As citações podem ser confidenciais. Portanto, por padrão, a proteção de dados sensíveis não as inclui nas descobertas.
Quando os dados são gravados em uma tabela do BigQuery, o faturamento e o uso de cota são aplicados ao projeto que contém a tabela de destino.
Se quiser criar uma cópia desidentificada dos seus dados, ative a opção Fazer uma cópia desidentificada. Para mais informações, consulte Desidentificar dados confidenciais armazenados no Cloud Storage usando o console do Google Cloud.
Também é possível salvar os resultados no Pub/Sub, no Security Command Center, no Data Catalog e no Cloud Monitoring. Para mais detalhes, consulte Adicionar ações.
(Opcional) Na Etapa 4: programar, para executar a verificação apenas uma vez, deixe o menu definido como Nenhum. Para programar a execução periódica das verificações, clique em Criar um gatilho para executar o job periodicamente. Para mais detalhes, consulte Programar.
Clique em Criar.
Depois que o job de proteção de dados sensíveis for concluído, você será redirecionado para a página de detalhes do job e notificado por e-mail. É possível ver os resultados da inspeção na página de detalhes do job.
(Opcional) Se você optou por publicar descobertas de proteção de dados confidenciais no BigQuery, na página Detalhes do job, clique em Visualizar descobertas no BigQuery para abrir a tabela na UI da Web do BigQuery. Em seguida, é possível consultar a tabela e analisar suas descobertas. Para mais informações sobre como consultar seus resultados no BigQuery, confira Como consultar descobertas de proteção de dados confidenciais no BigQuery.
Protocolo
Veja a seguir o JSON de exemplo que pode ser enviado em uma solicitação POST para o endpoint REST de proteção de dados sensíveis especificado. Este exemplo demonstra como usar a API DLP para inspecionar os buckets do Cloud Storage. Para mais informações sobre os parâmetros incluídos na solicitação, consulte "Configurar inspeção de armazenamento", mais adiante neste tópico.
É possível testar isso rapidamente na APIs Explorer na página de referência para content.inspect
:
Lembre-se de que uma solicitação bem-sucedida, mesmo nas APIs Explorer, criará um novo job de verificação. Para informações sobre como controlar jobs de verificação, consulte "Recuperar os resultados da inspeção", mais adiante neste tópico. Para informações gerais sobre como usar o JSON para enviar solicitações à API DLP, consulte o guia de início rápido do JSON.
Entrada JSON:
POST https://dlp.googleapis.com/v2/projects/[PROJECT-ID]/dlpJobs?key={YOUR_API_KEY}
{
"inspectJob":{
"storageConfig":{
"cloudStorageOptions":{
"fileSet":{
"url":"gs://[BUCKET-NAME]/*"
},
"bytesLimitPerFile":"1073741824"
},
"timespanConfig":{
"startTime":"2017-11-13T12:34:29.965633345Z",
"endTime":"2018-01-05T04:45:04.240912125Z"
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"PHONE_NUMBER"
}
],
"excludeInfoTypes":false,
"includeQuote":true,
"minLikelihood":"LIKELY"
},
"actions":[
{
"saveFindings":{
"outputConfig":{
"table":{
"projectId":"[PROJECT-ID]",
"datasetId":"[DATASET-ID]"
}
}
}
}
]
}
}
Saída JSON:
{
"name":"projects/[PROJECT-ID]/dlpJobs/[JOB-ID]",
"type":"INSPECT_JOB",
"state":"PENDING",
"inspectDetails":{
"requestedOptions":{
"snapshotInspectTemplate":{
},
"jobConfig":{
"storageConfig":{
"cloudStorageOptions":{
"fileSet":{
"url":"gs://[BUCKET-NAME]/*"
},
"bytesLimitPerFile":"1073741824"
},
"timespanConfig":{
"startTime":"2017-11-13T12:34:29.965633345Z",
"endTime":"2018-01-05T04:45:04.240912125Z"
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"PHONE_NUMBER"
}
],
"minLikelihood":"LIKELY",
"limits":{
},
"includeQuote":true
},
"actions":[
{
"saveFindings":{
"outputConfig":{
"table":{
"projectId":"[PROJECT-ID]",
"datasetId":"[DATASET-ID]",
"tableId":"[NEW-TABLE-ID]"
}
}
}
}
]
}
}
},
"createTime":"2018-11-07T18:01:14.225Z"
}
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.
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.
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.
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.
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.
Inspecionar um tipo do Datastore
É possível configurar a inspeção de um tipo do Datastore usando o Console do Google Cloud, a API DLP com solicitações REST ou RPC ou de maneira programática em várias linguagens com uma biblioteca de cliente.
Para configurar um job de verificação de um tipo do Datastore usando a proteção de dados confidenciais, faça o seguinte:
Console
Para configurar um job de verificação de um tipo do Datastore usando a proteção de dados confidenciais, faça o seguinte:
Na seção "Proteção de dados sensíveis" do console do Google Cloud, acesse a página Criar job ou gatilho de jobs.
Insira as informações do job de proteção de dados sensíveis e clique em Continuar para concluir cada etapa:
Na Etapa 1: escolher dados de entrada, insira os identificadores do projeto, o namespace (opcional) e o tipo que você quer verificar. Para mais detalhes, consulte Escolher dados de entrada.
(Opcional) Na Etapa 2: configurar a detecção, é possível configurar os tipos de dados a serem procurados, chamados "infoTypes". Selecione na lista de infoTypes predefinidos ou selecione um modelo, se houver. Para mais detalhes, consulte Configurar a detecção.
(Opcional) Na Etapa 3: adicionar ações, certifique-se de que a opção Notificar por e-mail esteja ativada.
Ative Salvar no BigQuery para publicar suas descobertas de proteção de dados sensíveis em uma tabela do BigQuery. Preencha o seguinte:
- Em ID do projeto, digite o ID do projeto em que seus resultados são armazenados.
- Em ID do conjunto de dados, digite o nome do conjunto de dados que armazena os resultados.
- (Opcional) Em ID da tabela, digite o nome da tabela que armazena seus resultados. Se nenhum ID de tabela for especificado, um nome padrão será atribuído a uma nova tabela semelhante ao seguinte:
dlp_googleapis_[DATE]_1234567890
. Se você especificar uma tabela atual, as descobertas serão anexadas a ela.
Quando os dados são gravados em uma tabela do BigQuery, o faturamento e o uso de cota são aplicados ao projeto que contém a tabela de destino.
Para mais informações sobre as outras ações listadas, consulte Adicionar ações.
(Opcional) Na Etapa 4: programar, configure um período de tempo ou uma programação, selecionando Especificar período de tempo ou Criar um gatilho para executar o job em uma programação periódica. Para mais informações, consulte Programar.
Clique em Criar.
Depois que o job de proteção de dados sensíveis for concluído, você será redirecionado para a página de detalhes do job e notificado por e-mail. É possível ver os resultados da inspeção na página de detalhes do job.
(Opcional) Se você optou por publicar descobertas de proteção de dados confidenciais no BigQuery, na página Detalhes do job, clique em Visualizar descobertas no BigQuery para abrir a tabela na UI da Web do BigQuery. Lá, é possível consultar a tabela e analisar suas descobertas. Para mais informações sobre como consultar seus resultados no BigQuery, confira Como consultar descobertas de proteção de dados confidenciais no BigQuery.
Protocolo
Veja a seguir o JSON de exemplo que pode ser enviado em uma solicitação POST para o ponto de extremidade REST especificado da API DLP. Este JSON de exemplo demonstra como usar a API DLP para inspecionar tipos do Datastore. Para mais informações sobre os parâmetros incluídos na solicitação, consulte "Configurar inspeção de armazenamento", mais adiante neste tópico.
É possível testar isso rapidamente na APIs Explorer na página de referência para dlpJobs.create
:
Lembre-se de que uma solicitação bem-sucedida, mesmo nas APIs Explorer, criará um novo job de verificação. Para informações sobre como controlar jobs de verificação, consulte Recuperar resultados de inspeção, mais adiante neste tópico. Para informações gerais sobre como usar o JSON para enviar solicitações à API DLP, consulte o guia de início rápido do JSON.
Entrada JSON:
POST https://dlp.googleapis.com/v2/projects/[PROJECT-ID]/dlpJobs?key={YOUR_API_KEY}
{
"inspectJob":{
"storageConfig":{
"datastoreOptions":{
"kind":{
"name":"Example-Kind"
},
"partitionId":{
"namespaceId":"[NAMESPACE-ID]",
"projectId":"[PROJECT-ID]"
}
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"PHONE_NUMBER"
}
],
"excludeInfoTypes":false,
"includeQuote":true,
"minLikelihood":"LIKELY"
},
"actions":[
{
"saveFindings":{
"outputConfig":{
"table":{
"projectId":"[PROJECT-ID]",
"datasetId":"[BIGQUERY-DATASET-NAME]",
"tableId":"[BIGQUERY-TABLE-NAME]"
}
}
}
}
]
}
}
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.
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.
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.
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.
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.
Inspecionar uma tabela do BigQuery
É possível configurar a inspeção de uma tabela do BigQuery usando a proteção de dados sensíveis com solicitações REST ou de maneira programática em várias linguagens usando uma biblioteca de cliente.
Para configurar um job de verificação de uma tabela do BigQuery usando a proteção de dados confidenciais, faça o seguinte:
Console
Para configurar um job de verificação de uma tabela do BigQuery usando a proteção de dados confidenciais, faça o seguinte:
Na seção "Proteção de dados sensíveis" do console do Google Cloud, acesse a página Criar job ou gatilho de jobs.
Insira as informações do job de proteção de dados sensíveis e clique em Continuar para concluir cada etapa:
Na Etapa 1: escolher dados de entrada, nomeie o job digitando um valor no campo Nome. Em Local, escolha o BigQuery no menu Tipo de armazenamento e insira as informações da tabela a ser verificada.
A seção Amostragem é pré-configurada para executar uma verificação de amostra nos seus dados. Ajuste os campos Limitar linhas por e Número máximo de linhas para economizar recursos se você tiver uma grande quantidade de dados. Para mais detalhes, consulte Escolher dados de entrada.
(Opcional) Se você quiser vincular cada descoberta à linha que a contém, defina o campo Campos de identificação.
Insira os nomes das colunas que identificam exclusivamente cada linha na tabela. Se necessário, use a notação de ponto para especificar campos aninhados. Você pode adicionar quantos campos quiser.
Também é necessário ativar a ação Salvar no BigQuery para exportar as descobertas para o BigQuery. Quando as descobertas são exportadas para o BigQuery, cada uma delas contém os respectivos valores dos campos de identificação. Para mais informações, consulte
identifyingFields
.(Opcional) Na Etapa 2: configurar a detecção, é possível configurar os tipos de dados a serem procurados, chamados "infoTypes". Selecione na lista de infoTypes predefinidos ou selecione um modelo, se houver. Para mais detalhes, consulte Configurar a detecção.
(Opcional) Na Etapa 3: adicionar ações, certifique-se de que a opção Notificar por e-mail esteja ativada.
Ative Salvar no BigQuery para publicar suas descobertas de proteção de dados sensíveis em uma tabela do BigQuery. Preencha o seguinte:
- Em ID do projeto, digite o ID do projeto em que seus resultados são armazenados.
- Em ID do conjunto de dados, digite o nome do conjunto de dados que armazena os resultados.
- (Opcional) Em ID da tabela, digite o nome da tabela que armazena seus resultados. Se nenhum ID de tabela for especificado, um nome padrão será atribuído a uma nova tabela semelhante ao seguinte:
dlp_googleapis_[DATE]_1234567890
. Se você especificar uma tabela atual, as descobertas serão anexadas a ela.
Quando os dados são gravados em uma tabela do BigQuery, o faturamento e o uso de cota são aplicados ao projeto que contém a tabela de destino.
Também é possível salvar os resultados no Pub/Sub, Security Command Center e Data Catalog. Para mais detalhes, consulte Adicionar ações.
(Opcional) Na Etapa 4: programar, para executar a verificação apenas uma vez, deixe o menu definido como Nenhum. Para programar a execução periódica das verificações, clique em Criar um gatilho para executar o job periodicamente. Para mais detalhes, consulte Programar.
Clique em Criar.
Depois que o job de proteção de dados sensíveis for concluído, você será redirecionado para a página de detalhes do job e notificado por e-mail. É possível ver os resultados da inspeção na página de detalhes do job.
(Opcional) Se você optou por publicar descobertas de proteção de dados confidenciais no BigQuery, na página Detalhes do job, clique em Visualizar descobertas no BigQuery para abrir a tabela na UI da Web do BigQuery. Lá, é possível consultar a tabela e analisar suas descobertas. Para mais informações sobre como consultar seus resultados no BigQuery, confira Como consultar descobertas de proteção de dados confidenciais no BigQuery.
Protocolo
Veja a seguir o JSON de exemplo que pode ser enviado em uma solicitação POST para o ponto de extremidade REST especificado da API DLP. Este JSON de exemplo demonstra como usar a API DLP para inspecionar tabelas do BigQuery. Para mais informações sobre os parâmetros incluídos na solicitação, consulte "Configurar inspeção de armazenamento", mais adiante neste tópico.É possível testar isso rapidamente na APIs Explorer na página de referência para dlpJobs.create
:
Lembre-se de que uma solicitação bem-sucedida, mesmo nas APIs Explorer, criará um novo job de verificação. Para informações sobre como controlar jobs de verificação, consulte "Recuperar os resultados da inspeção", mais adiante neste tópico. Para informações gerais sobre como usar o JSON para enviar solicitações à API DLP, consulte o guia de início rápido do JSON.
Entrada JSON:
POST https://dlp.googleapis.com/v2/projects/[PROJECT-ID]/dlpJobs?key={YOUR_API_KEY}
{
"inspectJob":{
"storageConfig":{
"bigQueryOptions":{
"tableReference":{
"projectId":"[PROJECT-ID]",
"datasetId":"[BIGQUERY-DATASET-NAME]",
"tableId":"[BIGQUERY-TABLE-NAME]"
},
"identifyingFields":[
{
"name":"id"
}
]
},
"timespanConfig":{
"startTime":"2017-11-13T12:34:29.965633345Z ",
"endTime":"2018-01-05T04:45:04.240912125Z "
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"PHONE_NUMBER"
}
],
"excludeInfoTypes":false,
"includeQuote":true,
"minLikelihood":"LIKELY"
},
"actions":[
{
"saveFindings":{
"outputConfig":{
"table":{
"projectId":"[PROJECT-ID]",
"datasetId":"[BIGQUERY-DATASET-NAME]",
"tableId":"[BIGQUERY-TABLE-NAME]"
},
"outputSchema": "BASIC_COLUMNS"
}
}
}
]
}
}
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.
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.
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.
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.
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.
Configurar a inspeção de armazenamento
Para inspecionar um local do Cloud Storage, um tipo do Datastore ou uma tabela do BigQuery, envie uma solicitação ao método projects.dlpJobs.create
da API DLP que contenha pelo menos o local dos dados a serem verificados e o que verificar. Além desses parâmetros obrigatórios, também é possível especificar em que local gravar os resultados da verificação, os limites de tamanho e de probabilidade, entre outros. Uma solicitação bem-sucedida resulta na criação de uma instância do objeto DlpJob
, que discutiremos em "Recuperar os resultados da inspeção".
Veja as opções de configuração disponíveis resumidas abaixo:
Objeto
InspectJobConfig
: contém as informações de configuração do job de inspeção. Observe que o objetoInspectJobConfig
também é usado pelo objetoJobTriggers
para programar a criação deDlpJob
. Esse objeto inclui:Objeto
StorageConfig
: obrigatório. Contém detalhes sobre o repositório de armazenamento a ser verificado:Um dos itens a seguir precisa ser incluído no objeto
StorageConfig
, dependendo do tipo de repositório de armazenamento que está sendo verificado:Objeto
CloudStorageOptions
: contém informações sobre o bucket do Cloud Storage a ser verificado.Objeto
DatastoreOptions
: contém informações sobre o conjunto de dados do Datastore a ser verificado.Objeto
BigQueryOptions
: contém informações sobre a tabela do BigQuery a ser verificada e, se você quiser, os campos de identificação. Esse objeto também ativa a amostragem dos resultados. Para mais informações, consulte Como ativar a amostragem de resultados abaixo.Objeto
TimespanConfig
: opcional. Especifica o período dos itens a serem incluídos na verificação.
Objeto
InspectConfig
: obrigatório. Especifica o que verificar, como valores infoTypes e probabilidade .- Objetos
InfoType
: obrigatórios. Um ou mais valores de infoType a serem verificados. - Enumeração
Likelihood
: opcional. Quando definida, a proteção de dados sensíveis retorna apenas descobertas iguais ou acima desse limite de probabilidade. Se for omitida, o valor padrão seráPOSSIBLE
. - Objeto
FindingLimits
: opcional. Quando definido, esse objeto permite especificar um limite para o número de descobertas retornadas. - Parâmetro
includeQuote
: opcional. O padrão éfalse
. Quando definido comotrue
, cada descoberta inclui uma citação contextual dos dados que a acionaram. - Parâmetro
excludeInfoTypes
: opcional. O padrão éfalse
. Quando definido comotrue
, os resultados da verificação excluem as informações de tipo das descobertas. - Objetos
CustomInfoType
: um ou mais infoTypes personalizados criados pelo usuário. Para mais informações sobre a criação de infoTypes personalizados, consulte Como criar detectores de infoType personalizados.
- Objetos
String
inspectTemplateName
: opcional. Especifica um modelo a ser usado para preencher valores padrão no objetoInspectConfig
. Se você já tiver especificadoInspectConfig
, os valores do modelo serão mesclados.Objetos
Action
: opcionais. Uma ou mais ações a serem executadas na conclusão do job. Cada ação é executada na ordem em que está listada. É aqui que você especifica em que local gravar os resultados ou se quer publicar uma notificação em um tópico do Pub/Sub.
jobId
: opcional. Um identificador para o job retornado pela proteção de dados sensíveis. SejobId
for omitido ou estiver vazio, o sistema criará um ID para o job. Se especificado, o job receberá esse valor de ID. O ID do job precisa ser exclusivo e pode conter letras maiúsculas e minúsculas, números e hifens. Isto é, ele precisa corresponder à seguinte expressão regular:[a-zA-Z\\d-]+
.
Limitar a quantidade de conteúdo inspecionado
Se você estiver verificando tabelas ou buckets do Cloud Storage do BigQuery, a proteção de dados sensíveis inclui uma maneira de verificar um subconjunto do conjunto de dados. Esse procedimento pode fornecer uma amostra dos resultados da verificação sem incorrer nos custos potenciais da verificação de um conjunto de dados inteiro.
As seções a seguir contêm informações sobre como limitar o tamanho das verificações do Cloud Storage e do BigQuery.
Limitar verificações do Cloud Storage
Para ativar a amostragem no Cloud Storage, limite a quantidade de dados verificados. Você pode instruir a API DLP a verificar apenas os arquivos com um determinado tamanho, apenas determinados tipos de arquivos e apenas uma determinada porcentagem do número total de arquivos no conjunto de arquivos de entrada. Para fazer isso, especifique os campos opcionais a seguir em CloudStorageOptions
:
bytesLimitPerFile
: define o número máximo de bytes a serem verificados em um arquivo. Se o tamanho de um arquivo verificado for maior que esse valor, o restante dos bytes será omitido. Definir esse campo não afeta determinados tipos de arquivo. Para mais informações, consulte Limites de bytes verificados por arquivo.fileTypes[]
: lista oFileTypes
a ser incluído na verificação. Pode ser definido como um ou mais dos tipos enumerados a seguir:filesLimitPercent
: limita o número de arquivos para verificação à porcentagem especificada na entradaFileSet
. A especificação de0
ou100
aqui significa que não há limite.sampleMethod
: como criar bytes de amostra se nem todos forem verificados. A especificação desse valor só é relevante quando usada em conjunto combytesLimitPerFile
. Se não for especificado, a verificação começará de cima para baixo. Esse campo pode ser definido como um destes dois valores:TOP
: a verificação começa de cima para baixo.RANDOM_START
: para cada arquivo maior que o tamanho especificado embytesLimitPerFile
, escolha aleatoriamente o deslocamento para iniciar a verificação. Os bytes verificados são contíguos.
Os exemplos a seguir mostram o uso da API DLP para verificar um subconjunto de 90% de um bucket do Cloud Storage com nomes de pessoas. A verificação começa em um local aleatório no conjunto de dados e inclui apenas arquivos de texto com menos de 200 bytes.
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
Entrada JSON:
POST https://dlp.googleapis.com/v2/projects/[PROJECT-ID]/dlpJobs?key={YOUR_API_KEY}
{
"inspectJob":{
"storageConfig":{
"cloudStorageOptions":{
"fileSet":{
"url":"gs://[BUCKET-NAME]/*"
},
"bytesLimitPerFile":"200",
"fileTypes":[
"TEXT_FILE"
],
"filesLimitPercent":90,
"sampleMethod":"RANDOM_START"
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"PERSON_NAME"
}
],
"excludeInfoTypes":true,
"includeQuote":true,
"minLikelihood":"POSSIBLE"
},
"actions":[
{
"saveFindings":{
"outputConfig":{
"table":{
"projectId":"[PROJECT-ID]",
"datasetId":"testingdlp"
},
"outputSchema":"BASIC_COLUMNS"
}
}
}
]
}
}
Depois de enviar a entrada JSON em uma solicitação POST para o endpoint especificado, um job de proteção de dados sensíveis é criado e a API envia a resposta a seguir.
Saída JSON:
{
"name":"projects/[PROJECT-ID]/dlpJobs/[JOB-ID]",
"type":"INSPECT_JOB",
"state":"PENDING",
"inspectDetails":{
"requestedOptions":{
"snapshotInspectTemplate":{
},
"jobConfig":{
"storageConfig":{
"cloudStorageOptions":{
"fileSet":{
"url":"gs://[BUCKET_NAME]/*"
},
"bytesLimitPerFile":"200",
"fileTypes":[
"TEXT_FILE"
],
"sampleMethod":"TOP",
"filesLimitPercent":90
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"PERSON_NAME"
}
],
"minLikelihood":"POSSIBLE",
"limits":{
},
"includeQuote":true,
"excludeInfoTypes":true
},
"actions":[
{
"saveFindings":{
"outputConfig":{
"table":{
"projectId":"[PROJECT-ID]",
"datasetId":"[DATASET-ID]",
"tableId":"[TABLE-ID]"
},
"outputSchema":"BASIC_COLUMNS"
}
}
}
]
}
}
},
"createTime":"2018-05-30T22:22:08.279Z"
}
Limitar as verificações do BigQuery
Para ativar a amostragem no BigQuery, limite a quantidade de dados verificados e especifique os campos opcionais a seguir em BigQueryOptions
:
rowsLimit
: o número máximo de linhas a serem verificadas. Se a tabela tiver mais linhas do que esse valor, o restante delas será omitido. Se não for definido ou se for definido como 0, todas as linhas serão verificadas.rowsLimitPercent
: a porcentagem máxima de linhas a serem verificadas (entre 0 e 100). As linhas restantes são omitidas. Definir esse valor como 0 ou 100 significa que não há limite. O padrão é 0. SomenterowsLimit
ourowsLimitPercent
pode ser especificado.sampleMethod
: como criar linhas de amostra se nem todas forem verificadas. Se não for especificado, a verificação começará de cima para baixo. Esse campo pode ser definido como um destes dois valores:TOP
: a verificação começa de cima para baixo.RANDOM_START
: a verificação começa a partir de uma linha selecionada aleatoriamente.
excludedFields
: campos de tabela que identificam de forma exclusiva as colunas que serão excluídas da leitura. Isso pode ajudar a reduzir a quantidade de dados verificados e reduzir o custo geral de um job de inspeção.includedFields
: campos que identificam exclusivamente linhas específicas na tabela a ser verificada.
Outro recurso útil para limitar os dados verificados, especialmente ao verificar tabelas particionadas, é TimespanConfig
.
TimespanConfig
permite filtrar as linhas da tabela do BigQuery fornecendo valores relativos ao horário de início e término para definir um período. A proteção de dados sensíveis
só verifica as linhas que contêm um carimbo de data/hora nesse período.
Nos exemplos a seguir, mostramos o uso da API DLP para verificar um subconjunto de mil linhas de uma tabela do BigQuery. A verificação começa a partir de uma linha aleatória.
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.
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.
REST
Entrada JSON:
POST https://dlp.googleapis.com/v2/projects/[PROJECT-ID]/dlpJobs?key={YOUR_API_KEY}
{
"inspectJob":{
"storageConfig":{
"bigQueryOptions":{
"tableReference":{
"projectId":"bigquery-public-data",
"datasetId":"usa_names",
"tableId":"usa_1910_current"
},
"rowsLimit":"1000",
"sampleMethod":"RANDOM_START",
"includedFields":[
{
"name":"name"
}
]
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"FIRST_NAME"
}
],
"includeQuote":true
},
"actions":[
{
"saveFindings":{
"outputConfig":{
"table":{
"projectId":"[PROJECT-ID]",
"datasetId":"testingdlp",
"tableId":"bqsample3"
},
"outputSchema":"BASIC_COLUMNS"
}
}
}
]
}
}
Depois de enviar a entrada JSON em uma solicitação POST para o endpoint especificado, um job de proteção de dados sensíveis é criado e a API envia a resposta a seguir.
Saída JSON:
{
"name": "projects/[PROJECT-ID]/dlpJobs/[JOB-ID]",
"type": "INSPECT_JOB",
"state": "PENDING",
"inspectDetails": {
"requestedOptions": {
"snapshotInspectTemplate": {},
"jobConfig": {
"storageConfig": {
"bigQueryOptions": {
"tableReference": {
"projectId": "bigquery-public-data",
"datasetId": "usa_names",
"tableId": "usa_1910_current"
},
"rowsLimit": "1000",
"sampleMethod": "RANDOM_START",
"includedFields": [
{
"name": "name"
}
]
}
},
"inspectConfig": {
"infoTypes": [
{
"name": "FIRST_NAME"
}
],
"limits": {},
"includeQuote": true
},
"actions": [
{
"saveFindings": {
"outputConfig": {
"table": {
"projectId": "[PROJECT-ID]",
"datasetId": "[DATASET-ID]",
"tableId": "bqsample"
},
"outputSchema": "BASIC_COLUMNS"
}
}
}
]
}
},
"result": {}
},
"createTime": "2022-11-04T18:53:48.350Z"
}
Quando a execução do job de inspeção termina e os resultados são processados pelo BigQuery, eles ficam disponíveis na tabela de saída especificada do BigQuery. Para mais informações sobre como recuperar os resultados da inspeção, consulte a próxima seção.
Recuperar os resultados da inspeção
É possível recuperar um resumo de DlpJob
usando o método projects.dlpJobs.get
. O DlpJob
retornado inclui um objeto InspectDataSourceDetails
, que contém um resumo da configuração do job (RequestedOptions
) e um resumo do resultado do job (Result
). O resumo dos resultados inclui:
processedBytes
: o tamanho total em bytes que foram processados.totalEstimatedBytes
: estimativa do número de bytes restantes a processar.- Objeto
InfoTypeStatistics
: as estatísticas de quantas instâncias referentes a cada infoType foram encontradas durante o job de inspeção.
Há várias opções para resultados completos do job de inspeção. Dependendo da Action
que você escolheu, os jobs de inspeção são:
- Salvos no BigQuery (o objeto
SaveFindings
) na tabela especificada. Antes de ver ou analisar os resultados, use o métodoprojects.dlpJobs.get
descrito abaixo para conferir se o job foi concluído. É possível especificar um esquema para armazenar descobertas usando o objetoOutputSchema
. - Publicado em um tópico do Pub/Sub (o objeto
PublishToPubSub
). O tópico precisa ter concedido direitos de acesso de publicação à conta de serviço da proteção de dados sensíveis que executa oDlpJob
que envia as notificações. - Publicado no Security Command Center.
- Publicado no Data Catalog.
- Publicado no Cloud Monitoring.
Para ajudar a filtrar grandes quantidades de dados gerados pela proteção de dados sensíveis, use as ferramentas integradas do BigQuery para executar análises avançadas de SQL ou ferramentas como o Looker Studio para gerar relatórios. Para mais informações, consulte Como analisar e gerar relatórios sobre descobertas de proteção de dados sensíveis. Para algumas consultas de amostra, veja Como consultar descobertas no BigQuery.
O envio de uma solicitação de inspeção do repositório de armazenamento para a proteção de dados sensíveis
cria e executa uma instância do objeto
DlpJob
em resposta. Esses jobs podem levar segundos, minutos ou horas para serem executados, dependendo do tamanho dos dados e da configuração que você especificou. Caso você opte por publicar em um tópico do Pub/Sub, (especificando PublishToPubSub
em Action
), as notificações serão enviadas automaticamente para o tópico com o nome especificado quando o status do job for alterado. O nome do tópico do Pub/Sub é especificado no formato projects/[PROJECT-ID]/topics/[PUBSUB-TOPIC-NAME]
.
Você tem controle total sobre os jobs criados, incluindo os métodos de gerenciamento a seguir:
- Método
projects.dlpJobs.cancel
: interrompe um job que está em execução. O servidor faz várias tentativas de cancelar o job, mas o sucesso não é garantido. O job e a configuração dele existirão até que você os exclua com o método a seguir. - Método
projects.dlpJobs.delete
: exclui um job e a respectiva configuração. - Método
projects.dlpJobs.get
: recupera um único job e retorna o status, a respectiva configuração e, se o job tiver sido concluído, o resumo dos resultados. - Método
projects.dlpJobs.list
: recupera uma lista de todos os jobs e inclui a capacidade de filtrar os resultados.
Próximas etapas
- Saiba mais sobre a criação de jobs de inspeção de armazenamento. Consulte Como criar e programar jobs de inspeção de proteção de dados sensíveis.
- Saiba mais sobre como criar uma cópia desidentificada dos dados no armazenamento.
- Para saber mais sobre os tipos de arquivos compatíveis ao inspecionar os buckets do Cloud Storage, consulte Tipos de arquivos compatíveis.