Acerca de la CMEK

Para controlar y administrar las claves de encriptación que protegen tus datos en reposo en los clústeres y las copias de seguridad de AlloyDB para PostgreSQL, puedes usar claves de encriptación administradas por el cliente (CMEK) en Cloud Key Management Service (Cloud KMS).

Para obtener más información sobre las CMEK en general, incluso cuándo y por qué habilitar esta función, consulta la documentación de Cloud KMS.

De forma predeterminada, AlloyDB para PostgreSQL encripta el contenido del cliente en reposo. AlloyDB controla la encriptación por ti sin que debas realizar ninguna acción adicional. Esta opción se denomina encriptación predeterminada de Google.

Si deseas controlar tus claves de encriptación, puedes usar las claves de encriptación administradas por el cliente (CMEK) en Cloud KMS con servicios integrados en CMEK, incluido AlloyDB. El uso de claves de Cloud KMS te permite controlar su nivel de protección, ubicación, programa de rotación, permisos de uso y acceso, y límites criptográficos. El uso de Cloud KMS también te permite ver los registros de auditoría y controlar los ciclos de vida de las claves. En lugar de que Google posea y administre las claves de encriptación de claves (KEK) simétricas que protegen tus datos, tú las controlas y administras en Cloud KMS.

Después de configurar tus recursos con CMEK, la experiencia de acceso a tus recursos de AlloyDB es similar a usar la encriptación predeterminada de Google. Para obtener más información sobre tus opciones de encriptación, consulta Claves de encriptación administradas por el cliente (CMEK).

Para aprender a usar las CMEK creadas de forma manual para proteger tus recursos de AlloyDB, consulta Usa CMEK.

CMEK con Autokey de Cloud KMS

Puedes crear CMEK de forma manual para proteger tus recursos de AlloyDB o usar la clave automática de Cloud KMS. Con Autokey, los llaveros de claves y las claves se generan a pedido para admitir la creación de recursos en AlloyDB. Los agentes de servicio que usan las claves para las operaciones de encriptación y desencriptación se crean si aún no existen y se les otorgan los roles de Identity and Access Management (IAM) necesarios. Para obtener más información, consulta Descripción general de Autokey.

Funciones

  • Control de acceso a los datos: Los administradores pueden rotar, administrar el acceso y, además, inhabilitar o destruir la clave que usaste para proteger los datos en reposo en AlloyDB.

    La administración de claves se controla con Cloud KMS. Los clústeres no se vuelven a encriptar automáticamente con la versión de clave más reciente después de la rotación. Los clústeres se encriptan con la versión principal de la CMEK en el momento de su creación. Para rotar la encriptación del clúster, crea una copia de seguridad y restablece el clúster con una versión de clave más reciente. Para obtener más información sobre las copias de seguridad y la recuperación, consulta Descripción general de la copia de seguridad y la recuperación de datos.

  • Auditabilidad: Si habilitas el registro de auditoría para la API de Cloud KMS en tu proyecto, todas las acciones en la clave, incluidas las que realiza AlloyDB, se registran y se pueden ver en Cloud Logging.

  • Rendimiento: El uso de CMEK no genera cambios en el rendimiento de AlloyDB.

Precios

AlloyDB factura un clúster habilitado para CMEK de la misma manera que cualquier otro clúster, sin cargo adicional de AlloyDB. Para obtener más información, consulta Precios de AlloyDB para PostgreSQL.

Cloud KMS te factura por el costo de la clave y por las operaciones de encriptación y desencriptación cuando AlloyDB usa la clave. Para obtener más información, consulta los precios de Cloud Key Management Service.

Qué se protege con CMEK

AlloyDB usa tu clave de Cloud KMS para proteger los datos en reposo de las siguientes maneras:

  • Si habilitas CMEK en un clúster, AlloyDB usa tu clave para encriptar todos los datos del clúster en el almacenamiento.
  • Si especificas una configuración de CMEK cuando creas una copia de seguridad on demand, AlloyDB usa tu clave para encriptar esa copia de seguridad.
  • Si habilitas CMEK con la configuración de copia de seguridad continua o automatizada de tu clúster, AlloyDB usará tu clave para encriptar las copias de seguridad en curso.

Ya sea que uses Google-owned and Google-managed encryption keys o CMEK, AlloyDB tiene tres capas de encriptación:

  1. AlloyDB divide los datos en reposo en fragmentos para el almacenamiento y encripta cada fragmento con una clave de encriptación individual. La clave que usa para encriptar los datos de un fragmento se denomina clave de encriptación de datos (DEK).

    Debido a la gran cantidad de claves que posee Google y a la necesidad de bajar la latencia y alta disponibilidad, AlloyDB almacena cada DEK cerca de los datos que encripta.

  2. AlloyDB encripta cada DEK con una clave de encriptación de claves (KEK) que conserva el clúster.

  3. Por último, AlloyDB encripta la KEK con la clave de encriptación basada en Cloud KMS de tu clúster, que es una clave de Google-owned and Google-managed encryption key o una CMEK.

También puedes ver las versiones de clave que se usan para proteger un clúster.

Habilita CMEK

Para permitir que un clúster de AlloyDB use CMEK, debes especificar la clave de Cloud KMS en el momento de la creación del clúster.

AlloyDB puede acceder a la clave en tu nombre después de que otorgues el rol de encriptador/desencriptador de CryptoKey de Cloud KMS (roles/cloudkms.cryptoKeyEncrypterDecrypter) al agente de servicio de AlloyDB.

Para obtener instrucciones detalladas, consulta Usa CMEK.

Administrar claves

Usa Cloud KMS para todas las operaciones de administración de claves. AlloyDB no puede detectar ni actuar en función de ningún cambio de clave hasta que Cloud KMS los propague. Algunas operaciones, como inhabilitar o destruir una clave, pueden tardar hasta tres horas en propagarse. Los cambios en los permisos suelen propagarse mucho más rápido.

Después de crear el clúster, AlloyDB llama a Cloud KMS cada cinco minutos para asegurarse de que la clave siga siendo válida.

Si AlloyDB detecta que tu clave de Cloud KMS se inhabilitó o destruyó, AlloyDB inicia una operación para que no se pueda acceder a los datos de tu clúster. Si las llamadas de AlloyDB a Cloud KMS detectan que se volvió a habilitar una clave que antes estaba inhabilitada, se restablece el acceso automáticamente.

Usa y administra claves externas

Como alternativa al uso de claves que residen en Cloud KMS, puedes usar claves que residen en un socio de administración de claves externo compatible. Para ello, usa Cloud External Key Manager (Cloud EKM) con el objetivo de crear y administrar claves externas, que son punteros a claves que residen fuera de Google Cloud. Para obtener más información, consulta Cloud External Key Manager.

Después de crear una clave externa con Cloud EKM, puedes aplicarla a un clúster de AlloyDB nuevo proporcionando el ID de esa clave cuando creas el clúster. Este procedimiento es el mismo que aplicar una clave de Cloud KMS a un clúster nuevo.

Puedes usar Key Access Justifications (KAJ) como parte de Cloud EKM. Key Access Justifications te permite ver el motivo de cada solicitud de Cloud EKM. Además, según la justificación proporcionada, puedes aprobar o rechazar una solicitud de forma automática. Para obtener más información, consulta Descripción general.

Google carece de control sobre la disponibilidad de las claves en un sistema externo de administración de claves.

No disponibilidad de la clave

Si inhabilitas la clave de Cloud KMS que se usa para encriptar un clúster de AlloyDB, las instancias de AlloyDB que pertenecen a ese clúster experimentarán un tiempo de inactividad en un plazo de 30 minutos. Si vuelves a habilitar la clave, se restablecerán las instancias.

En situaciones poco frecuentes, como durante los períodos en los que Cloud KMS no está disponible, es posible que AlloyDB no pueda recuperar el estado de tu clave de Cloud KMS. En esta situación, AlloyDB sigue admitiendo operaciones de clúster completas de la mejor manera posible durante un período de hasta 30 minutos para minimizar el impacto de cualquier interrupción temporal en tu carga de trabajo.

Después de 30 minutos, si AlloyDB aún no puede conectarse con Cloud KMS, AlloyDB comenzará a desconectar el clúster como medida de protección. Los datos en tu clúster de AlloyDB permanecerán inaccesibles hasta que el clúster pueda volver a conectarse con Cloud KMS y Cloud KMS responda que la clave está activa.

Copias de seguridad y restauración

AlloyDB también protege las copias de seguridad con CMEK o la encriptación predeterminada administrada por Google. Si la copia de seguridad está habilitada para CMEK, se encripta con la versión principal de la clave de Cloud KMS en el momento de su creación. Después de crear una copia de seguridad, su clave y versión de clave no se pueden modificar, incluso si se rota la clave de Cloud KMS. Para obtener más información sobre cómo encriptar copias de seguridad con CMEK, consulta Crea una copia de seguridad de un clúster.

Cuando restableces un clúster a partir de una copia de seguridad, el clúster restablecido usa la encriptación administrada por Google de forma predeterminada, pero puedes especificar una clave de CMEK para usar en su lugar. Para restablecer una copia de seguridad habilitada para CMEK, deben estar disponibles la clave y la versión de clave que se usaron para encriptar la copia de seguridad.

Replicación entre regiones

Debido a que las claves de Cloud KMS son recursos regionales, un clúster principal y un clúster secundario entre regiones deben usar claves de Cloud KMS diferentes ubicadas en sus respectivas regiones. Los parámetros de configuración de encriptación de un clúster principal y su clúster secundario son independientes entre sí. Para proteger ambos clústeres con CMEK, crea una clave de Cloud KMS en la región del clúster principal y otra clave de Cloud KMS en la región del clúster secundario.

Logging

Puedes auditar las solicitudes que AlloyDB envía a Cloud KMS en tu nombre en Cloud Logging, si habilitaste el registro de auditoría para la API de Cloud KMS en tu proyecto. Estas entradas de registro de Cloud KMS son visibles en Cloud Logging. Para obtener más información, consulta Visualiza los registros de auditoría de una clave de Cloud KMS.

¿Qué sigue?