En esta página, se describe el uso de CMEK con Apigee. Para conocer las prácticas recomendadas, consulta Prácticas recomendadas para CMEK de 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 que son propiedad de Google y las administra. 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.
Si necesitas obtener más control sobre las operaciones de clave que las claves de Google y administradas por Google, puedes usar claves de encriptación administradas por el cliente. Estas claves se crean y administran a través de Cloud Key Management Service (Cloud KMS), y almacenas 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.
Casos de uso de CMEK
En esta sección, se describen casos de uso típicos para usar CMEK con Apigee.
Rotación de claves
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.
El propósito principal de la rotación de claves es limitar la exposición de datos a una sola clave, no reemplazar por completo la versión anterior de la clave.
Actualmente, Apigee no admite la nueva encriptación después de la rotación de claves.
En el caso de Apigee, cuando rotas una clave, solo se encripta una cantidad limitada de datos nuevos (por ejemplo, una nueva revisión de proxy) con la nueva versión de clave primaria. La mayoría de los datos, como los datos de análisis, el disco del entorno de ejecución y la revisión de proxy anterior, aún usan la versión anterior de la clave.
Si quieres deshacerte por completo de la versión anterior de la clave, debes volver a crear la organización apigee
. En el caso de las claves de encriptación del entorno de ejecución, si quieres deshacerte por completo de la versión de clave anterior, debes volver a crear las instancias del entorno de ejecución. Consulta las prácticas recomendadas para CMEK de Apigee para obtener más información.
Consulta también: Rota una clave
Eliminación y anulación de claves
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.
Cuando borres o inhabilites tu clave CMEK, incluso solo para versiones anteriores, tu organización de apigee
comenzará a funcionar mal según la versión de clave que se use para la encriptación. Algunas APIs dejarán de funcionar de inmediato, ya que requieren una clave de CMEK para desencriptar los datos, mientras que algunas funciones comenzarán a funcionar mal solo cuando se active alguna acción del sistema, como volver a activar los discos persistentes de Compute Engine. Consulta Inhabilitación de teclas para obtener más información.
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.
También consulta los siguientes vínculos:
Restauración de claves
Si borras o inhabilitas accidentalmente una clave o una versión anterior, debes intentar restablecerla lo antes posible.
Ten en cuenta que la CMEK es una función diseñada para la pérdida de datos si la clave no está disponible.
Después de restablecer la clave, no se garantiza que se recupere tu organización de apigee
y es posible que pierdas datos. Consulta Vuelve a habilitar una clave para obtener más detalles.
Comunícate con el equipo de Atención al cliente de Google Cloud para determinar cuál es el mejor paso a seguir.
Consulta también: Destruye y restablece versiones de claves
Revoca el acceso a la clave
Si revocas el acceso del agente de servicio de Apigee a la clave con la IAM, 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.
Consulta también: Administra el acceso a proyectos, carpetas y organizaciones
EKM
Actualmente, Apigee no admite Cloud External Key Manager (Cloud EKM). Si usas Cloud EKM, existe un defecto conocido que hace que los errores de Cloud EKM no se propaguen ni se muestren correctamente.
Seguimiento de claves
Apigee no admite el seguimiento de claves. Si usas la opción para ver el uso de claves y te das cuenta de que no se usa una versión determinada de la clave, ten en cuenta que no es precisa, ya que Apigee no se integró con las funciones de seguimiento de claves.
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. |
Restricciones de las políticas de la organización
Si tienes restricciones de políticas de la organización de CMEK en tu proyecto de Google Cloud, Apigee aplicará el cumplimiento de esas restricciones. Si usas Apigee a través de la IU de Google Cloud, la CLI o directamente a través de las APIs de Apigee, se garantiza la aplicación de las políticas de CMEK. Cuando usas la IU de Apigee de Google Cloud, las restricciones de la política de la organización de las CMEK se validan de antemano para que la IU pueda guiarte a elegir una configuración válida y de cumplimiento.
Se pueden crear restricciones de políticas de la organización de CMEK para exigir lo siguiente:
- Siempre se usan claves de encriptación administradas por el cliente
- Las claves de encriptación administradas por el cliente solo se permiten desde proyectos específicos especificados en una lista de entidades permitidas.
Actualmente, no todas las funciones de Apigee cumplen con CMEK. Para garantizar que los proyectos que requieren CMEK no usen sin saberlo funciones que no están protegidas por CMEK, esas funciones se inhabilitarán para los proyectos con restricciones de CMEK hasta que cumplan con los requisitos. Solo se inhabilitarán los usos nuevos de las funciones (crear recursos nuevos o habilitar un complemento). Las funciones y los recursos que ya están en uso seguirán disponibles y editables, pero no serán compatibles con CMEK. Se inhabilitarán las siguientes funciones:
- La IU clásica de Apigee no estará disponible para las organizaciones creadas recientemente que requieran CMEK, ya que las organizaciones con CMEK son organizaciones regionales que no son compatibles con la IU clásica. Las organizaciones existentes podrán seguir usando la IU clásica. Ten en cuenta que la validación previa de CMEK no se implementará en la IU clásica y dependerá del error de la API. Esto significa que las organizaciones existentes que requieren CMEK no tendrán una UX guiada para configurar CMEK ni para inhabilitar las funciones que no cumplen con CMEK.
-
Shadow API Discovery de Apigee no está sujeto a la política de la organización de CMEK ni cumple con ella.
- La creación de organizaciones de evaluación se bloqueará tanto con la API de la organización de evaluación CreateOrganization como con el asistente de aprovisionamiento de evaluación.
-
Gemini Code Assist no está disponible.
- La API de la organización de evaluación CreateOrganization y el asistente de aprovisionamiento de evaluación bloquearán la creación de organizaciones globales.
- La creación de instancias híbridas no está disponible para la aplicación forzosa.
- El botón Looker Studio para abrir Looker Studio con datos de Apigee se inhabilitará cuando se requiera CMEK.
- La API de CreateSite bloqueará la creación de portales. Dado que la IU de los portales solo está en Apigee Classic (no en la consola de Google Cloud) y la validación previa no se implementará en la IU de Apigee Classic, este bloque dependerá del error de la API (no se inhabilitará el botón del portal Crear en la IU de Apigee Classic).
- La aplicación retroactiva del cumplimiento de los recursos existentes no está disponible. Deberás borrar y volver a crear recursos si necesitas que un recurso existente cumpla con los requisitos.
Consulta Usa restricciones de políticas de la organización en Apigee para obtener más información sobre el uso de restricciones de políticas de la organización con Apigee.
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 |
---|---|---|
Constraint constraints/gcp.restrictNonCmekServices violated for
projects/my-project attempting to create or enable trial org. CMEK is
not supported for trial orgs. To use trial orgs, adjust the
gcp.restrictNonCmekServices constraint for this project.
|
Intentaste aprovisionar una organización de prueba en la que existe una restricción de la política de la organización para el proyecto. |
CMEK no es compatible con las organizaciones de prueba o evaluación. Deberás actualizar la restricción de la política de la organización constraints/gcp.restrictNonCmekServices para quitar Apigee de la lista de servicios denegados y poder aprovisionar una organización de prueba.
|
Constraint constraints/gcp.restrictCmekCryptoKeyProjects
violated for projects/my-project attempting to use
projects/my-project/locations/my-location/keyRings/kr-1/cryptoKeys/ck-1
key. Use a key from a project that is allowed by the
gcp.restrictCmekCryptoKeyProjects constraint.
|
Intentaste aprovisionar una organización en la que existe una restricción de la política de la organización para el proyecto y especificaste una CryptoKey de KMS que no está incluida en la lista de entidades permitidas. |
Configuraste constraints/gcp.restrictCmekCryptoKeyProjects en las políticas de la organización, que requieren que proporciones una clave CMEK de los proyectos permitidos que enumeraste. Deberás proporcionar la CMEK de un proyecto permitido para poder crear una organización o instancias.
Como alternativa, puedes actualizar la restricción de la política de la organización constraints/gcp.restrictCmekCryptoKeyProjects para permitir claves del proyecto de Google Cloud específico que desees.
|
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. |