Claves de encriptación administradas por el cliente (CMEK)

De forma predeterminada, todos los datos en reposo en Firestore se encriptan Encriptación predeterminada de Google. Firestore controla y administra esta encriptación sin que debas realizar ninguna acción adicional.

Si tienes requisitos normativos o de cumplimiento específicos relacionados con las claves que protegen los datos, puedes usar claves de encriptación administradas por el cliente (CMEK) para Firestore. En lugar de que Google administre las claves de encriptación que protegen tus datos, tu base de datos de Firestore se protege con una clave que tú controlas y administras en Cloud Key Management Service (Cloud KMS).

En esta página, se describen CMEK para Firestore. Para obtener más información sobre las CMEK en general, incluso cuándo y por qué habilitarlas, consulta la documentación de Cloud KMS. Para obtener instrucciones sobre cómo realizar Para ver las tareas relacionadas con CMEK con Firestore, consulta Usa CMEK.

Funciones

  • Control de datos: CMEK te permite administrar el acceso a la clave de KMS. Puedes rotar, inhabilitar y destruir la clave que se usa para encriptar los datos en reposo en tu base de datos de Firestore.
  • Rendimiento: las CMEK no afectan el ANS de Firestore.
  • Auditabilidad: Si habilitas el registro de auditoría para Cloud KMS, todas las operaciones en la clave se registran y se pueden ver en Cloud Logging.
  • Restricciones de las políticas de la organización: Restricciones de la política de la organización de CMEK para especificar requisitos de cumplimiento de encriptación para bases de datos de Firestore en tu organización.

Precios

Cloud KMS cobra por el costo de la clave y por todas las operaciones criptográficas realizadas con ella. Consulta Consulta los precios de Cloud KMS para obtener más información.

Se te factura por los costos de operaciones cuando Firestore solicita a la clave de Cloud KMS realizar una operación de encriptación o desencriptación. La encriptación o desencriptación no está sincronizada con tu solicitud. Se realiza cada 5 minutos mediante sondeos a Cloud KMS. Los costos suelen ser bajos, dada la cantidad esperada de operaciones criptográficas que genera Firestore. Costos de Registros de auditoría de Cloud son un gasto adicional, pero también se espera suele ser baja, dada la cantidad esperada de operaciones criptográficas.

No se aplican costos adicionales de Firestore por usar una base de datos protegida con CMEK y se seguirán aplicando los precios de Firestore.

Si revocas tu clave de una base de datos, se te cobrará el costo de almacenamiento según el tamaño del último día en que la clave estuvo disponible. Seguirás incurriendo de almacenamiento en ese tamaño de base de datos hasta que esta se borra o vuelve a estar disponible.

Qué se protege con CMEK

Cuando creas una base de datos protegida con CMEK de Firestore, se usa tu clave de Cloud KMS para proteger los datos en reposo. Esto incluye los datos que se almacenan en el disco o en la memoria flash. Se aplican algunas excepciones. Los siguientes tipos de datos se encriptan con la encriptación predeterminada de Google y no con la clave de CMEK:

  • Datos en tránsito o en memoria
  • Metadatos de la base de datos

Cómo se controla un estado de clave no disponible

Las operaciones de encriptación y desencriptación no se emiten en cada solicitud de datos. En cambio, el sistema de Firestore sondea Cloud Key Management Service cada 5 minutos para verificar si siga estando disponible y, luego, realice operaciones de encriptación y desencriptación si está disponible. Si el sistema detecta que la clave no está disponible, se ejecutará en un minutos, las llamadas posteriores a la base de datos de Firestore, incluidas las lecturas, las escrituras y las consultas, mostrará un error FAILED_PRECONDITION con el mensaje The customer-managed encryption key required by the requested resource is not accessible. Si la base de datos tiene políticas de tiempo de actividad (TTL) y, si hay fechas de vencimiento, se supere cuando la clave no esté disponible, eliminación de datos por TTL se retrasará hasta que se restablezca la clave. Si la base de datos tiene datos de las operaciones en curso, se verán afectadas de la siguiente manera:

Las claves se consideran no disponibles en cualquier situación que impida de forma intencional que Firestore acceda a ellas. Esto incluye lo siguiente:

Si se restablece la clave, la operación de sondeo detecta que está nuevamente disponible. El acceso se vuelve a habilitar, por lo general, en unos minutos, pero puede demorar hasta unas horas, en casos excepcionales. Ten en cuenta que algunas operaciones en las claves de Cloud KMS, como inhabilitar o destruir una clave, pueden tardar hasta 3 horas en propagarse. Firestore no detectar cualquier cambio hasta que entre en vigencia en Cloud KMS.

El restablecimiento de una clave implica lo siguiente, según la situación:

  • Volver a habilitar una versión de clave inhabilitada
  • Restablecer una versión de clave destruida. Antes de que se destruya permanentemente, se programa una versión de clave para destrucción. Solo puedes restablecer una clave durante el período en el que se encuentra está programada para su destrucción. No puedes restablecer una clave que ya se destruyó permanentemente.
  • Volver a otorgar los permisos Permiso de agente de servicio de Firestore para acceder a la clave.

Consideraciones de claves externas

Cuando usas una clave de Cloud EKM, Google no tiene control sobre la disponibilidad de tu clave administrada de forma externa en el sistema de socios de administración de claves externas.

Si una clave administrada de forma externa no está disponible, Firestore continúa con admitir operaciones completas de bases de datos usando una versión almacenada en caché de la clave, por un máximo de una hora.

Después de una hora, si Firestore aún no puede conectarse con Cloud KMS, comenzará a desconectar la base de datos como medida de protección. Las llamadas a la base de datos fallarán con FAILED_PRECONDITION. con detalles adicionales.

Consulta la documentación de Cloud External Key Manager para obtener más información. importantes cuando se usan claves externas.

Limitaciones

  • No se admite cambiar una clave de una base de datos protegida por CMEK. Se admiten la rotación de claves, la habilitación y la inhabilitación.
  • Las operaciones de restablecimiento y las programaciones de copias de seguridad no son compatibles con las bases de datos protegidas con CMEK. Puedes usar la recuperación de un momento determinado (PITR). para la recuperación ante desastres.
  • Las bases de datos protegidas por CMEK admiten el Visualizador de claves solo para los datos de entidades y documentos, no para los datos de índices.
  • No puedes habilitar las CMEK en bases de datos existentes. Puedes habilitar CMEK solo en bases de datos nuevas y debes hacerlo cuando las creas. Para migrar datos de una base de datos existente que no es CMEK a una base de datos protegida con CMEK exportarás tus datos y los importarás a una nueva base de datos protegida con CMEK.
  • El seguimiento de claves no es compatible con las bases de datos protegidas por CMEK.
  • Durante la versión preliminar, Firestore admitirá una cantidad limitada de bases de datos protegidas por CMEK.

¿Qué sigue?