Por predefinição, Google Cloud encripta automaticamente os dados quando estão em repouso através de chaves de encriptação geridas pela Google.
Se tiver requisitos regulamentares ou de conformidade específicos relacionados com as chaves que protegem os seus dados, pode usar chaves de encriptação geridas pelo cliente (CMEK) para a IA Documentos. Em vez de a Google gerir as chaves de encriptação que protegem os seus dados, o processador do Document AI é protegido através de uma chave que controla e gere no Cloud Key Management Service (KMS).
Este guia descreve as CMEK para a Document AI. Para mais informações sobre a CMEK em geral, incluindo quando e por que motivo a ativar, consulte a documentação do Cloud Key Management Service.
Pré-requisito
O agente de serviço do Document AI tem de ter a função de encriptador/desencriptador de CryptoKey do Cloud KMS na chave que usa.
O exemplo seguinte concede uma função que fornece acesso a uma chave do Cloud KMS:
gcloud
gcloud kms keys add-iam-policy-binding key \ --keyring key-ring \ --location location \ --project key_project_id \ --member serviceAccount:service-project_number@gcp-sa-prod-dai-core.iam.gserviceaccount.com \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter
Substitua key pelo nome da chave. Substitua key-ring pelo nome do conjunto de chaves onde a chave está localizada. Substitua location pela localização da IA Documentos para o porta-chaves. Substitua key_project_id pelo projeto do porta-chaves. Substitua project_number pelo número do seu projeto.
C#
Para mais informações, consulte a documentação de referência da API C# Document AI.
Para se autenticar no Document AI, 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 mais informações, consulte a documentação de referência da API Go Document AI.
Para se autenticar no Document AI, 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 mais informações, consulte a documentação de referência da API Java Document AI.
Para se autenticar no Document AI, 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 mais informações, consulte a documentação de referência da API Node.js Document AI.
Para se autenticar no Document AI, 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 mais informações, consulte a documentação de referência da API PHP Document AI.
Para se autenticar no Document AI, 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 mais informações, consulte a documentação de referência da API Python Document AI.
Para se autenticar no Document AI, 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.
Ruby
Para mais informações, consulte a documentação de referência da API Ruby Document AI.
Para se autenticar no Document AI, 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.
Usar CMEK
As definições de encriptação estão disponíveis quando cria um processador. Para usar as CMEK, selecione a opção CMEK e selecione uma chave.
A chave CMEK é usada para todos os dados associados ao processador e aos respetivos recursos subordinados. Todos os dados relacionados com clientes que são enviados para o processador são encriptados automaticamente com a chave fornecida antes de serem escritos no disco.
Depois de criar um processador, não pode alterar as respetivas definições de encriptação. Para usar uma chave diferente, tem de criar um novo processador.
Chaves externas
Pode usar o Cloud External Key Manager (EKM) para criar e gerir chaves externas para encriptar dados no Google Cloud.
Quando usa uma chave do Cloud EKM, a Google não tem controlo sobre a disponibilidade da sua chave gerida externamente. Se pedir acesso a um recurso encriptado com uma chave gerida externamente e a chave não estiver disponível, o Document AI rejeita o pedido. Pode haver um atraso de até 10 minutos antes de poder aceder ao recurso depois de a chave ficar disponível.
Para mais considerações ao usar chaves externas, consulte as considerações do EKM.
Recursos suportados pela CMEK
Quando armazena qualquer recurso no disco, se forem armazenados dados de clientes como parte do recurso, o Document AI encripta primeiro o conteúdo através da chave CMEK.
Recurso | Material encriptado |
---|---|
Processor |
N/A – Sem dados do utilizador. No entanto, se especificar uma chave CMEK durante a criação do processador, esta tem de ser válida. |
ProcessorVersion |
Tudo |
Evaluation |
Tudo |
APIs suportadas pela CMEK
As APIs que usam a chave CMEK para encriptação incluem o seguinte:
Método | Encriptação |
---|---|
processDocument |
N/A: não foram guardados dados no disco. |
batchProcessDocuments |
Os dados são armazenados temporariamente no disco e encriptados através de uma chave efémera (consulte a conformidade com a CMEK). |
trainProcessorVersion |
Os documentos usados para a preparação são encriptados através da chave KMS/CMEK fornecida. |
evaluateProcessorVersion |
As avaliações são encriptadas através da chave KMS/CMEK fornecida. |
Os pedidos de API que acedem a recursos encriptados falham se a chave estiver desativada ou inacessível. Os exemplos incluem o seguinte:
Método | Desencriptação |
---|---|
getProcessorVersion |
As versões do processador preparadas com dados de clientes são encriptadas. O acesso requer desencriptação. |
processDocument |
O processamento de documentos através de uma versão do processador encriptada requer a desencriptação. |
Import Documents |
A importação de documentos com a opção auto-labeling ativada através de uma versão do processador encriptada requer a desencriptação. |
CMEK e Cloud Storage
As APIs, como a batchProcess
, podem ler e escrever em contentores do Cloud Storage.
Todos os dados escritos no Cloud Storage pelo Document AI são encriptados através da chave de encriptação configurada do contentor, que pode ser diferente da chave CMEK do seu processador.
Para mais informações, consulte a documentação da CMEK para o Cloud Storage.