A proteção de dados confidenciais ajuda a encontrar, compreender e gerir os dados confidenciais existentes na sua infraestrutura. Depois de analisar o seu conteúdo para encontrar dados confidenciais com a proteção de dados confidenciais, tem várias opções para o que fazer com essa inteligência de dados. Este tópico mostra como tirar partido do poder de outras Google Cloud funcionalidades, como o BigQuery, o Cloud SQL e o Looker Studio, para:
- Armazenar os resultados da análise da Proteção de dados confidenciais diretamente no BigQuery.
- Gere relatórios sobre a localização dos dados confidenciais na sua infraestrutura.
- Execute análises SQL avançadas para compreender onde os dados confidenciais são armazenados e que tipo de dados são.
- Automatize alertas ou ações a acionar com base num único conjunto ou numa combinação de resultados.
Este tópico também contém um exemplo completo de como usar a proteção de dados confidenciais juntamente com outras Google Cloud funcionalidades para realizar todas estas ações.
Analise um contentor de armazenamento
Primeiro, execute uma análise nos seus dados. Seguem-se informações básicas sobre como analisar repositórios de armazenamento com a proteção de dados confidenciais. Para obter instruções completas sobre como analisar repositórios de armazenamento, incluindo a utilização de bibliotecas cliente, consulte o artigo Inspeção de armazenamento e bases de dados para dados confidenciais.
Para executar uma operação de análise num Google Cloud repositório de armazenamento, crie um objeto JSON que inclua os seguintes objetos de configuração:
InspectJobConfig
: Configura a tarefa de análise da proteção de dados confidenciais e consiste no seguinte:StorageConfig
: O repositório de armazenamento a analisar.InspectConfig
: Como e o que analisar. Também pode usar um modelo de inspeção para definir a configuração da inspeção.Action
: Tarefas a executar após a conclusão do trabalho. Isto pode incluir guardar as conclusões numa tabela do BigQuery ou publicar uma notificação no Pub/Sub.
Neste exemplo, está a analisar um contentor do Cloud Storage à procura de nomes de pessoas,
números de telefone, números de identificação da segurança social dos EUA e endereços de email. Em seguida, envia as conclusões para uma tabela do BigQuery dedicada ao armazenamento da saída do Sensitive Data Protection. O JSON seguinte pode ser guardado num ficheiro ou
enviado diretamente para o método
create
do recurso
DlpJob
de proteção de dados sensíveis.
Entrada JSON:
POST https://dlp.googleapis.com/v2/projects/[PROJECT_ID]/dlpJobs
{
"inspectJob":{
"inspectConfig":{
"infoTypes":[
{
"name":"PERSON_NAME"
},
{
"name":"PHONE_NUMBER"
},
{
"name":"US_SOCIAL_SECURITY_NUMBER"
},
{
"name":"EMAIL_ADDRESS"
}
],
"includeQuote":true
},
"storageConfig":{
"cloudStorageOptions":{
"fileSet":{
"url":"gs://[BUCKET_NAME]/**"
}
}
},
"actions":[
{
"saveFindings":{
"outputConfig":{
"table":{
"projectId":"[PROJECT_ID]",
"datasetId":"[DATASET_ID]",
"tableId":"[TABLE_ID]"
}
}
}
}
]
}
}
Ao especificar dois asteriscos (**
) após o endereço do contentor do Cloud Storage (gs://[BUCKET_NAME]/**
), está a indicar à tarefa de análise que deve analisar recursivamente. A colocação de um único asterisco (*
) indica ao trabalho que deve analisar apenas o nível do diretório especificado e não mais profundamente.
A saída é guardada na tabela especificada no conjunto de dados e no projeto indicados. As tarefas subsequentes que especificam o ID da tabela fornecido anexam as conclusões à mesma tabela. Também pode omitir uma chave se quiser dar instruções à proteção de dados confidenciais para criar uma nova tabela sempre que a análise for executada."tableId"
Depois de enviar este JSON num pedido ao método
projects.dlpJobs.create
através do URL especificado, recebe a seguinte resposta:
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]/**"
}
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"PERSON_NAME"
},
{
"name":"PHONE_NUMBER"
},
{
"name":"US_SOCIAL_SECURITY_NUMBER"
},
{
"name":"EMAIL_ADDRESS"
}
],
"minLikelihood":"POSSIBLE",
"limits":{
},
"includeQuote":true
},
"actions":[
{
"saveFindings":{
"outputConfig":{
"table":{
"projectId":"[PROJECT_ID]",
"datasetId":"[DATASET_ID]",
"tableId":"[TABLE_ID]"
}
}
}
}
]
}
}
},
"createTime":"2018-11-19T21:09:07.926Z"
}
Quando a tarefa é concluída, guarda as respetivas conclusões na tabela do BigQuery especificada.
Para obter o estado da tarefa, chame o método projects.dlpJobs.get
ou envie um pedido GET para o seguinte URL, substituindo [PROJECT_ID]
pelo ID do projeto e [JOB_ID]
pelo identificador da tarefa fornecido na resposta da API Cloud Data Loss Prevention ao pedido de criação da tarefa (o identificador da tarefa é precedido por "i-"):
GET https://dlp.googleapis.com/v2/projects/[PROJECT_ID]/dlpJobs/[JOB_ID]
Para a tarefa que acabou de criar, este pedido devolve o seguinte JSON. Tenha em atenção que é devolvido um resumo dos resultados da análise após os detalhes da inspeção. Se a procura ainda não tivesse sido concluída, a respetiva chave "state"
especificaria "RUNNING"
.
Saída JSON:
{
"name":"projects/[PROJECT_ID]/dlpJobs/[JOB_ID]",
"type":"INSPECT_JOB",
"state":"DONE",
"inspectDetails":{
"requestedOptions":{
"snapshotInspectTemplate":{
},
"jobConfig":{
"storageConfig":{
"cloudStorageOptions":{
"fileSet":{
"url":"gs://[BUCKET_NAME]/**"
}
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"PERSON_NAME"
},
{
"name":"PHONE_NUMBER"
},
{
"name":"US_SOCIAL_SECURITY_NUMBER"
},
{
"name":"EMAIL_ADDRESS"
}
],
"minLikelihood":"POSSIBLE",
"limits":{
},
"includeQuote":true
},
"actions":[
{
"saveFindings":{
"outputConfig":{
"table":{
"projectId":"[PROJECT_ID]",
"datasetId":"[DATASET_ID]",
"tableId":"[TABLE_ID]"
}
}
}
}
]
}
},
"result":{
"processedBytes":"536734051",
"totalEstimatedBytes":"536734051",
"infoTypeStats":[
{
"infoType":{
"name":"PERSON_NAME"
},
"count":"269679"
},
{
"infoType":{
"name":"EMAIL_ADDRESS"
},
"count":"256"
},
{
"infoType":{
"name":"PHONE_NUMBER"
},
"count":"7"
}
]
}
},
"createTime":"2018-11-19T21:09:07.926Z",
"startTime":"2018-11-19T21:10:20.660Z",
"endTime":"2018-11-19T22:07:39.725Z"
}
Execute análises no BigQuery
Agora que criou uma nova tabela do BigQuery com os resultados da análise de dados confidenciais, o passo seguinte é executar a análise na tabela.
No lado esquerdo da Google Cloud consola, em Big Data, clique em BigQuery. Abra o projeto e o conjunto de dados e, de seguida, localize a nova tabela que foi criada.
Pode executar consultas SQL nesta tabela para saber mais sobre o que a proteção de dados confidenciais encontrou no seu contentor de dados. Por exemplo, execute o seguinte para contabilizar todos os resultados da análise por infoType, substituindo os marcadores de posição pelos valores reais adequados:
SELECT
info_type.name,
COUNT(*) AS iCount
FROM
`[PROJECT_ID].[DATASET_ID].[TABLE_ID]`
GROUP BY
info_type.name
Esta consulta resulta num resumo das conclusões para esse grupo que pode ter o seguinte aspeto:
Crie um relatório no Looker Studio
O Looker Studio permite-lhe criar relatórios personalizados que podem ser baseados em tabelas do BigQuery. Nesta secção, cria um relatório de tabela simples no Looker Studio com base nas conclusões da Proteção de dados confidenciais armazenadas no BigQuery.
- Abra o Looker Studio e inicie um novo relatório.
- Clique em Criar nova origem de dados.
- Na lista de conetores, clique em BigQuery. Se necessário, autorize o Looker Studio a aceder aos seus projetos do BigQuery clicando em Autorizar.
- Agora, escolha a tabela na qual quer pesquisar e, de seguida, clique em Os meus projetos ou Projetos partilhados, consoante a localização do seu projeto. Encontre o seu projeto, conjunto de dados e tabela nas listas na página.
- Clique em Associar para executar o relatório.
- Clique em Adicionar ao relatório.
Agora, vai criar uma tabela que apresenta a frequência de cada infoType. Selecione o campo info_type.name
como a
Dimensão. A tabela resultante tem um aspeto semelhante ao seguinte:
Passos seguintes
Isto é apenas o início do que pode visualizar com o Looker Studio e a saída da proteção de dados confidenciais. Pode adicionar outros elementos de gráficos e filtros de detalhe para criar painéis de controlo e relatórios. Para mais informações sobre o que está disponível no Looker Studio, consulte a vista geral do produto Looker Studio.