Introducción a CMEK

En esta página, se describe el uso de CMEK con Apigee.

Descripción general

De forma predeterminada, Google Cloud encripta los datos cuando están en reposo automáticamente a través de claves de encriptación administradas por Google. Si tienes requisitos normativos o de cumplimiento específicos relacionados con las claves que protegen los datos, puedes usar las claves de encriptación administradas por el cliente (CMEK).

Puedes obtener más información sobre el uso de CMEK para Apigee en Usa CMEK con Apigee. Para obtener más información sobre las CMEK en general, incluso cuándo y por qué habilitarlas, consulta la documentación de Cloud Key Management Service.

El uso de claves de encriptación administradas por el cliente (CMEK) no necesariamente proporciona más seguridad que los mecanismos de encriptación predeterminados de Google. Sin embargo, te permite controlar más aspectos del ciclo de vida y la administración de las claves para cumplir con los requisitos de seguridad y cumplimiento.

Beneficios de CMEK

Si necesitas obtener más control sobre las operaciones de clave que las claves de encriptación administradas por Google, puedes usar claves de encriptación administradas por el cliente. Estas claves se crean y administran mediante Cloud Key Management Service (Cloud KMS)y se almacenan las claves como claves de software, en un clúster de HSM o externamente.

El servicio de Cloud KMS proporciona las funciones de administración de claves. Los casos de uso comunes incluyen los siguientes:

  • Rota la clave. Rota la clave de forma manual o automática. Ten en cuenta que, cuando se rota la clave, los datos almacenados antes en Apigee no se vuelven a encriptar de forma automática con la versión de clave nueva, sino que se podrá seguir accediendo a ellos mientras la versión de clave anterior usada para encriptar los datos no esté inhabilitada ni destruida.
  • Habilita o inhabilita una versión de clave. Cuando se inhabilita una versión de clave, no se podrá acceder a los datos de Apigee encriptados con esa versión. Para restablecer el acceso a los datos, la clave se puede volver a habilitar.
  • Destruye una versión de clave. Cuando se destruye una versión de clave, cualquier dato de Apigee encriptado con esa versión de clave se volverá ilegible y no se podrá recuperar. Esta es una operación irreversible y permanente.
  • Revoca el acceso del agente de servicio de Apigee a la clave mediante la IAM. Si lo haces, Apigee no podrá acceder a ningún dato del plano de control encriptado por ninguna versión de clave. Las operaciones de la API de Apigee que dependen de la desencriptación de los datos fallarán. El acceso a los datos se puede restablecer si vuelves a otorgar el acceso a la clave y se restablecerán las operaciones de la API de Apigee que desencripten los datos.

Cuotas

El uso de claves CMEK puede generar el uso en algunas cuotas de Cloud KMS. Para obtener información más reciente sobre las cuotas de Cloud KMS, consulta Cuotas.

Revoca la clave de encriptación

Si crees que tus datos en Apigee en Google Cloud están vulnerados, puedes revocar tus claves de encriptación. Revoca la CMEK del entorno de ejecución para que la instancia de entorno de ejecución funcione de forma incorrecta y no pueda acceder a los datos de la puerta de enlace. Revoca la CMEK del plano de control para que Apigee no pueda realizar estadísticas ni implementar proxies nuevos.

Usa CMEK con Apigee

Las claves de encriptación de Apigee se usan para los datos del entorno de ejecución y del plano de control, y se crean durante el proceso de aprovisionamiento.

Los datos del plano de control de Apigee se encriptan con una clave de encriptación diferente de los datos del entorno de ejecución y se pueden almacenar en regiones diferentes. Según la documentación de CMEK, esta encriptación se aplica solo a los datos en reposo, es decir, los datos que se almacenan en el disco.

Los datos del plano de control de Apigee incluyen parámetros de configuración del proxy (paquetes), algunos datos de configuración del entorno y datos de estadísticas. Los datos del entorno de ejecución de Apigee incluyen datos de aplicación, como KVM, caché y secretos del cliente, que luego se almacenan en la base de datos del entorno de ejecución.

Consulta Acerca de las claves de encriptación de Apigee para obtener descripciones de los tipos de claves de encriptación.

Puedes agregar claves de encriptación solo cuando se crea la organización de Apigee. Una vez que se asigna una CMEK, no puedes cambiar a una CMEK diferente después de la creación de la organización.

Regiones de CMEK del plano de control de residencia de datos

En el plano de control de Apigee regionalizado, debes seleccionar dos claves de encriptación para tu plano de control. Esto se debe a que algunos de los componentes subyacentes del plano de control de Apigee siempre están en una sola región dentro de la ubicación del plano de control. Consulta Regiones de residencia de datos para obtener más información.

Detalles Claves obligatorias

La región del plano de control es donde se ejecuta el plano de control. El plano de control en Apigee es un concepto abstracto en el que varios componentes subyacentes constituyen el plano de control de Apigee. Los datos del plano de control son el almacenamiento de estadísticas y configuración del proxy.

Otros datos del plano de control (p. ej., procesamiento de estadísticas, portales) se encuentran en una subregión del plano de control.

Todos los componentes de la subregión estarán en la misma región que otros.

Una clave para los datos del plano de control.

Una clave para los datos subregionales del plano de control.

Cómo crear claves de encriptación

De forma predeterminada, Google administra la creación de claves de encriptación durante el proceso de aprovisionamiento. Sin embargo, puedes crearlos tú mismo. Para obtener más información, consulta Acerca de las claves de encriptación de Apigee.

Riesgos y mitigaciones

En esta sección, se describen las posibles amenazas y las acciones que puedes realizar.

  • Riesgos:
    • Compromiso de clave: Ocurre cuando un atacante obtiene acceso a la clave de encriptación, potencialmente a través de vulnerabilidades en el KMS o ataques contra administradores de claves.
    • Denegación del servicio: Un atacante podría interrumpir el acceso a las claves o los datos de encriptación mediante el ataque al KMS o al sistema de almacenamiento.
    • Pérdida de clave: La eliminación o pérdida accidental de claves podría provocar la pérdida de datos o de la accesibilidad.
  • Mitigaciones:
    • Implementa políticas de control de acceso y administración de claves sólidas.
    • Supervisar los registros y la actividad de KMS en busca de comportamientos sospechosos.

Soluciona problemas

En la tabla siguiente, se describen algunas condiciones de error comunes que pueden surgir con los datos del almacén de configuración encriptado con CMEK, el mensaje de error aproximado que muestra la API de Apigee y los pasos recomendados para solucionar problemas.

Mensaje de error o síntoma Causa Pasos
Apigee does not have permission to access key "..." Un usuario revocó el acceso de Apigee a la clave de KMS proporcionada, es decir, quitó el rol roles/cloudkms.cryptoKeyEncrypterDecrypter. Un usuario debe verificar los roles configurados en la clave de KMS y asegurarse de que el agente de servicio de Apigee tenga los permisos necesarios.
Unable to encrypt/decrypt data. Cloud KMS Error: "..." is not enabled, current state is: DESTROYED. Un usuario inhabilitó o borró la versión de clave que se usa para encriptar o desencriptar los datos solicitados. Si es posible, un usuario debe volver a habilitar la versión de clave. Si se destruyó la clave o la versión de clave, no se pueden recuperar los datos (por diseño).
No new Analytics data for US/EU users Una de las posibles causas de este problema puede ser una clave de región única que se revocó, inhabilitó o borró a un usuario. Un usuario debe volver a habilitar o restablecer el acceso a la clave de región única.
Control plane key "..." in region "..." is not valid for this control plane instance. Supported region(s) are "…". Un usuario proporcionó una sola clave del plano de control de una región en una región que no es válida o no es compatible con la región o multirregión entregada por la instancia del plano de control. Un usuario debe proporcionar una clave en una de las regiones compatibles o usar una instancia de plano de control diferente.
Multi-region control plane key is not valid for this control plane instance. Specify only the "apiConsumerDataEncryptionKeyName" field. Un usuario proporcionó una clave del plano de control multirregional en un plano de control que existe solo en una región (es decir, no es un plano de control multirregional). Un usuario debe omitir el campo de clave multirregional o usar una instancia de plano de control multirregional.
Multi-region control plane key is not valid for this control plane instance. Specify a multi-region key with region "..." Un usuario proporcionó una clave del plano de control multirregional a la instancia del plano de control multirregional incorrecta (p. ej., una clave “us” a la instancia del plano de control “eu”) Un usuario debe usar una clave multirregional en la multirregión adecuada o elegir usar una instancia de plano de control multirregional diferente.