De forma predeterminada, Google Cloud cifra automáticamente los datos en reposo con claves de cifrado gestionadas por Google.
Si tienes requisitos de cumplimiento o normativas específicos relacionados con las claves que protegen tus datos, puedes usar claves de cifrado gestionadas por el cliente (CMEK) en Document AI. En lugar de que Google gestione las claves de cifrado que protegen tus datos, tu procesador de Document AI se protege con una clave que controlas y gestionas en Cloud Key Management Service (KMS).
En esta guía se describe la CMEK para Document AI. Para obtener más información sobre la CMEK en general, incluido cuándo y por qué habilitarla, consulta la documentación de Cloud Key Management Service.
Requisitos previos
El agente de servicio de Document AI debe tener el rol Encargado del encriptado y desencriptado de la clave criptográfica Cloud KMS en la clave que uses.
En el siguiente ejemplo se concede un rol que proporciona acceso a una clave de 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
Sustituye key por el nombre de la clave. Sustituye key-ring por el nombre del conjunto de claves en el que se encuentra la clave. Sustituye location por la ubicación de Document AI del conjunto de claves. Sustituye key_project_id por el proyecto del llavero de claves. Sustituye project_number por el número de tu proyecto.
C#
Para obtener más información, consulta la documentación de referencia de la API C# de Document AI.
Para autenticarte en Document AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Go
Para obtener más información, consulta la documentación de referencia de la API Go de Document AI.
Para autenticarte en Document AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Java
Para obtener más información, consulta la documentación de referencia de la API Java de Document AI.
Para autenticarte en Document AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Node.js
Para obtener más información, consulta la documentación de referencia de la API Node.js de Document AI.
Para autenticarte en Document AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
PHP
Para obtener más información, consulta la documentación de referencia de la API PHP de Document AI.
Para autenticarte en Document AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Python
Para obtener más información, consulta la documentación de referencia de la API Python de Document AI.
Para autenticarte en Document AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Ruby
Para obtener más información, consulta la documentación de referencia de la API Ruby de Document AI.
Para autenticarte en Document AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Usar CMEK
Los ajustes de cifrado están disponibles cuando crea un procesador. Para usar CMEK, selecciona la opción CMEK y elige una clave.
La clave de CMEK se usa para todos los datos asociados al procesador y a sus recursos secundarios. Todos los datos relacionados con los clientes que se envían al encargado del tratamiento se cifran automáticamente con la clave proporcionada antes de escribirse en el disco.
Una vez que se ha creado un procesador, no se pueden cambiar sus ajustes de cifrado. Para usar otra clave, debes crear un nuevo procesador.
Claves externas
Puedes usar Cloud External Key Manager (EKM) para crear y gestionar claves externas con las que cifrar datos en Google Cloud.
Cuando usas una clave de Cloud EKM, Google no tiene control sobre la disponibilidad de tu clave gestionada de forma externa. Si solicitas acceso a un recurso cifrado con una clave gestionada externamente y la clave no está disponible, Document AI rechazará la solicitud. Puede haber un retraso de hasta 10 minutos antes de que puedas acceder al recurso después de que la clave esté disponible.
Para obtener más información sobre las consideraciones al usar claves externas, consulta las consideraciones de EKM.
Recursos compatibles con CMEK
Cuando se almacena un recurso en el disco, si se almacena algún dato de cliente como parte del recurso, Document AI cifra primero el contenido con la clave CMEK.
Recurso | Material cifrado |
---|---|
Processor |
N/A: no hay datos de usuario. Sin embargo, si especifica una clave CMEK durante la creación del procesador, esta debe ser válida. |
ProcessorVersion |
Todo |
Evaluation |
Todo |
APIs compatibles con CMEK
Las APIs que usan la clave CMEK para el cifrado son las siguientes:
Método | Cifrado |
---|---|
processDocument |
N/A: no se guardan datos en el disco. |
batchProcessDocuments |
Los datos se almacenan temporalmente en el disco y se cifran con una clave efímera (consulta la sección sobre el cumplimiento de CMEK). |
trainProcessorVersion |
Los documentos utilizados para el entrenamiento se cifran con la clave KMS o CMEK proporcionada. |
evaluateProcessorVersion |
Las evaluaciones se encriptan con la clave de KMS o CMEK proporcionada. |
Las solicitudes de API que acceden a recursos cifrados fallan si la clave está inhabilitada o no se puede acceder a ella. Estos son algunos ejemplos:
Método | Desencriptado |
---|---|
getProcessorVersion |
Las versiones del procesador entrenadas con datos de clientes están cifradas. Para acceder, es necesario descifrar. |
processDocument |
Para procesar documentos con una versión cifrada del procesador, es necesario descifrarlos. |
Import Documents |
Para importar documentos con la opción auto-labeling habilitada mediante una versión de procesador cifrada, es necesario descifrarlos. |
CMEK y Cloud Storage
Las APIs, como batchProcess
, pueden leer y escribir en segmentos de Cloud Storage.
Los datos que Document AI escribe en Cloud Storage se cifran con la clave de cifrado configurada del contenedor, que puede ser diferente de la clave CMEK de tu procesador.
Para obtener más información, consulta la documentación de CMEK para Cloud Storage.