En esta página se describen las prácticas recomendadas de CMEK con Apigee.
Prevención de riesgos
Actualmente, Apigee admite un conjunto restringido de funciones de claves de cifrado gestionadas por el cliente. Para evitar que se eliminen por error las claves de cifrado gestionadas por el cliente o las versiones de las claves, te recomendamos que hagas lo siguiente:
-
Refuerza los controles de acceso: limita los
permisos de destrucción o actualización de la función
roles/cloudkms.admin
solo a administradores de confianza o miembros sénior del equipo. - Audita los permisos con regularidad: asegúrate de que los permisos no se amplíen por error con el tiempo.
- Eliminación automática de llaves: no configures automatizaciones para eliminar o inhabilitar llaves automáticamente.
Configurar la duración de la destrucción y la rotación de claves
- Plantéate ampliar la duración de la destrucción predeterminada: el periodo de destrucción programada predeterminado es de 30 días. Si se establece una duración de destrucción personalizada durante la creación de la clave o se implementa una duración mayor mediante políticas de organización, se puede disponer de más tiempo para recuperar la clave en caso de que se elimine por error. Si crees que los tiempos de destrucción más largos suponen un mayor riesgo, ten en cuenta que una duración de destrucción más larga también evita que elimines la clave por error. Puedes sopesar los beneficios y los riesgos para ver qué duración te conviene más.
- Requerir que las claves se inhabiliten antes de eliminarlas: te recomendamos que inhabilites las versiones de clave antes de programar su eliminación. Esto ayuda a validar que la clave no se esté usando y es un paso importante para determinar si es seguro destruir una versión de clave.
- Implementa la rotación de claves: la rotación periódica de claves limita el impacto de una posible vulneración. En caso de que se vulnere una clave, la rotación periódica limita el número de mensajes reales vulnerables.
Rotación de claves en Apigee
El objetivo principal de la rotación de claves es reducir la cantidad de datos cifrados con una sola clave, no sustituir por completo la versión de clave antigua. Tanto en el caso de las claves de tiempo de ejecución como en el de las claves del plano de control, la versión original de la clave sigue vinculada al recurso desde el momento en que se creó.
Ejemplos ilustrativos
- Una instancia de Apigee siempre usará la versión de la clave CMEK principal que estaba activa en el momento de su creación, incluso después de la rotación de claves.
- Un paquete proxy seguirá usando la versión de la clave CMEK principal que estaba activa cuando se creó. Sin embargo, si este paquete proxy se modifica después de la rotación de la clave, los datos nuevos que contenga se cifrarán con la nueva versión de la clave principal.
Limitación actual: no se vuelve a cifrar automáticamente
Es importante tener en cuenta que Apigee no admite actualmente el recifrado automático de los datos cuando se rota una clave. Solo se encriptará una cantidad limitada de datos nuevos con la nueva versión de la clave principal. La mayoría de tus datos, como las analíticas, los datos de disco del tiempo de ejecución y las revisiones de proxy anteriores, seguirán encriptados con la versión de clave antigua.
Inhabilitación de claves
Si inhabilita o destruye las claves, se interrumpirá la funcionalidad de Apigee. Si inhabilitas la clave primero, puedes volver a habilitarla si se trata de una falsa alarma.
Si sospechas que una clave (o una versión de clave) se ha visto comprometida:
-
Situación de alto riesgo: si crees que tus datos de Apigee son sensibles y que un atacante tiene muchas probabilidades de aprovecharse de ellos, inhabilita la clave y revoca el acceso a ella inmediatamente. Primero debes inhabilitar la clave antes de volver a crear una instancia de
apigee
y una organización deapigee
. -
Situación de bajo riesgo: si minimizar el tiempo de inactividad es más importante que el riesgo potencial, debes volver a crear la instancia
apigee
y la organizaciónapigee
primero antes de inhabilitar o eliminar la clave de cifrado gestionada por el cliente. Consulta más abajo cómo evitar de forma proactiva el tiempo de inactividad invirtiendo en copias de seguridad y restauración. - Ponte en contacto con el equipo de Asistencia: te recomendamos que te pongas en contacto con el equipo de Asistencia de Google Cloud cuando creas que una clave se ha visto comprometida y necesitas inhabilitarla.
Consulta el impacto de inhabilitar, revocar o destruir una clave más abajo.
Después de inhabilitar la clave, tendrás que volver a crear tus organizaciones o instancias de apigee
. Consulta las prácticas recomendadas.
- Riesgo de que se vea comprometida la clave CMEK del tiempo de ejecución: crea instancias con una clave CMEK nueva y, a continuación, elimina las instancias originales y la clave CMEK del tiempo de ejecución antigua una vez que se haya migrado el tráfico.
-
Compromiso total de CMEK: crea una nueva organización
apigee
con una nueva clave CMEK, replica tu configuración, cambia el tráfico y, a continuación, cierra la organización antigua e inhabilita o elimina tu CMEK original. -
Ponte en contacto con Google Cloud Customer Care: si la API para eliminar o volver a crear instancias o
apigee
organizaciones tarda mucho tiempo, ponte en contacto con Google Cloud Customer Care.
Impacto de la inhabilitación, revocación o destrucción de claves
Si inhabilita, revoca o destruye la clave, Apigee no funcionará correctamente. Los efectos son los siguientes:
- Inhabilitar, revocar o destruir toda la clave: las APIs de Apigee orientadas al cliente dejarán de funcionar inmediatamente. Los sistemas internos fallarán en cuestión de minutos, lo que afectará a la implementación del proxy, al tráfico en tiempo de ejecución, a las analíticas y a la seguridad de las APIs. La instancia no se podrá iniciar por completo en unas semanas debido a problemas de remontaje del disco.
- Inhabilitar, revocar o eliminar una versión de clave (incluida la versión de clave principal o la versión de clave anterior): las APIs orientadas al cliente de Apigee que usen esa versión de clave dejarán de funcionar inmediatamente. Algunos sistemas internos y el tráfico de tiempo de ejecución se verán afectados. Es posible que la instancia no se pueda iniciar si la versión de la clave se ha usado para cifrar el disco.
Volver a habilitar una clave
Si se trata de una falsa alarma o no querías inhabilitar la clave, puedes volver a habilitarla. Si vuelves a habilitar una clave, se restaurará la funcionalidad de las APIs orientadas a los clientes. Los sistemas internos deberían recuperarse en cuestión de minutos. Sin embargo, es posible que se pierdan datos de seguridad de la API y de analíticas durante el periodo en el que la clave no esté disponible.
- Si el periodo de inhabilitación de la clave es breve: el sistema debería recuperarse, excepto por la pérdida de algunos datos de seguridad de la API y de analíticas.
- Si el periodo de inhabilitación de la clave es largo: el sistema se recuperará para servir tráfico, pero puede provocar incoherencias en los datos, ya que una región devolverá un valor y la región que no funcionaba devolverá otro. Ponte en contacto con el equipo de Asistencia de Google Cloud para que te ayude a solucionar el problema de tu clúster de Apigee.
Eliminar una clave
Antes de eliminar una clave, ten en cuenta lo siguiente:
- Para realizar una limpieza: no elimine las claves antiguas hasta que Apigee haya lanzado el seguimiento de claves para comprender el uso de las claves antes de eliminarlas.
- Si es necesario eliminarla: inhabilita la clave primero y, después, programa su destrucción. Puedes usar una política de organización para aplicar la inhabilitación de la clave primero y la duración mínima para la destrucción.
Proteger tu organización de Apigee con copias de seguridad de CI/CD
En caso de que se vea comprometida una clave de cifrado gestionada por el cliente (CMEK), es fundamental tomar medidas inmediatas para inhabilitar, revocar o destruir la clave afectada. Sin embargo, esta medida de seguridad necesaria puede hacer que tu sistema Apigee deje de funcionar, lo que puede provocar tiempos de inactividad e interrupciones del servicio.
Para minimizar o evitar el tiempo de inactividad de tus servicios de Apigee, es imprescindible adoptar un enfoque proactivo: realizar copias de seguridad continuas de la configuración de tu organización (copias de seguridad de integración continua o implementación continua [CI/CD]). Consulta las herramientas disponibles y las prácticas recomendadas para restaurar una organización de Apigee.
El potencial de CI/CD e IaC
Invertir en herramientas como Terraform, una solución de infraestructura como código (IaC), te permite crear una nueva organización de Apigee sin problemas a partir de tu configuración de copia de seguridad. Este proceso optimizado te permite recrear tu organización de Apigee de forma rápida y eficiente, lo que minimiza el tiempo de inactividad y garantiza la continuidad del negocio.
Herramientas disponibles para su uso
Puedes combinar todas las herramientas siguientes para crear copias de seguridad periódicas de tu organización de apigee
y probar el proceso de recuperación.
- Si solo quieres volver a crear las instancias de Apigee, consulta el artículo Volver a crear una instancia de Apigee sin tiempo de inactividad.
-
Si quieres usar Terraform, puedes tomar ideas de
apigee/terraform modules
de código abierto. -
Si quieres volver a crear organizaciones de Apigee, puedes usar
apigeecli
,apigeecli organizations export
yapigeecli organizations import
como base para la copia de seguridad. Consulta Exportar o volver a crear organizaciones. - Si quieres crear copias de seguridad y restaurar más recursos que los que se indican en la lista anterior, tendrás que interactuar directamente con la API o usar otro comando de apigeecli.
Prácticas recomendadas
- Copias de seguridad periódicas: programa copias de seguridad periódicas para asegurarte de que tienes la configuración más actualizada. Consulta Exportar o recrear organizaciones.
- Almacenamiento seguro: guarda tus copias de seguridad en una ubicación segura, como un repositorio cifrado.
- Prueba las restauraciones: prueba periódicamente el proceso de restauración para asegurarte de que puedes recuperar tu organización de Apigee de forma eficaz. Prueba periódicamente el proceso de restauración para asegurarte de que puedes cambiar el tráfico a las organizaciones de Apigee recién creadas rápidamente.
Exportar o volver a crear organizaciones
La herramienta apigeecli
es una herramienta de línea de comandos que te permite gestionar recursos de Apigee. Te permite realizar las mismas acciones que la API de Apigee en una interfaz de línea de comandos fácil de usar, análoga a los comandos gcloud
.
Si quieres volver a crear organizaciones de Apigee o migrar a otra organización de Apigee, puedes usar apigeecli
organizations export
y apigeecli organizations import
.
También se puede usar como base para las copias de seguridad continuas. Puede exportar e importar recursos como los siguientes:
- Documentación del portal de APIs
- Categorías del portal de APIs
- Proxies de API
- Configuración de seguridad de APIs y perfiles de seguridad
- Flujos compartidos
- Productos de API
- Desarrolladores
- Aplicaciones de desarrolladores, incluidas las credenciales
- AppGroups y Apps que incluyen credenciales
- Detalles del entorno
- Grupos de entorno
- Configuración de recopiladores de datos
- Almacenes de claves y certificados de alias a nivel de entorno
- Servidores de destino a nivel de entorno
- Referencias a nivel de entorno
- Mapas de clave-valor (KVM) y entradas a nivel de organización, entorno y proxy
- Almacenes de claves y certificados de alias, excepto las claves privadas
La herramienta puede gestionar todos los demás recursos de Apigee. Puedes ver la lista completa de comandos con apigeecli tree
.
Esta herramienta tiene algunas limitaciones:
- Los almacenes de claves requieren que se guarde la clave privada al crearla y que se incluya en los archivos de copia de seguridad locales.
- Los tokens de OAuth no se podrán usar para crear copias de seguridad ni restaurar datos, lo que implica que tus clientes tendrán que volver a iniciar sesión en las instancias de Apigee que se creen.
- Los controles de acceso, como las políticas de la organización y las reglas de gestión de identidades y accesos, no se migran. Si quieres migrar esas reglas, debes usar la API Google Cloud .
-
No se admiten las exportaciones de informes de Analytics y las métricas analíticas no se copian en la nueva organización
apigee
. -
Este comando
import
no crea automáticamente instancias, grupos de entornos, archivos adjuntos de entornos, archivos adjuntos de endpoints ni proxies de implementación. Puedes gestionar estos recursos, pero no directamente a través del comandoimport
. -
Este comando
import
no crea automáticamente sitios del portal. Los sitios del portal se deben crear manualmente a través de la interfaz de usuario. - Te recomendamos que inviertas en la restauración ante desastres para la eliminación de claves y que pruebes periódicamente el proceso de restauración para asegurarte de que puedes cambiar el tráfico a las organizaciones de Apigee recién creadas rápidamente.
Requisitos previos
Antes de empezar, asegúrate de que se cumplen los siguientes requisitos:
-
CLI de Apigee instalada: instala
apigeecli
siguiendo los pasos de la guía de instalación. -
Autenticación: debes tener los permisos y las credenciales de autenticación necesarios para interactuar con las organizaciones de Apigee. Asegúrate de haber configurado lo siguiente:
-
SDK de Google Cloud (
gcloud
): instalado y autenticado. -
Token de acceso: obtén un token de acceso con
gcloud auth print-access-token
.
-
SDK de Google Cloud (
- Acceso a la red: asegúrate de que tu red permita el acceso a las APIs de Apigee.
-
Crear organización: crea una organización de
apigee
a la que quieras migrar. Puedes crear diferentes tipos de organizaciones deapigee
. Sin embargo, asegúrate de usar el mismo tipo de organización (de pago por uso o de suscripción) y el mismo tipo de enrutamiento de red que usaste con tu organización original.
Exportar una organización de Apigee
A continuación, se muestra un comando de ejemplo. Consulta apigeecli organizations export para obtener información sobre las diferentes marcas.
# Sample command mkdir apigee_backup cd apigee_backup # gcloud auth application-default login export ORG_FROM=REPLACE apigeecli organizations export -o $ORG_FROM --default-token
Importar una organización de Apigee
A continuación, se muestra un comando de ejemplo. Consulta apigeecli organizations import para obtener información sobre las diferentes marcas.
# Sample command # gcloud auth application-default login export ORG_TO=REPLACE apigeecli organizations import -o $ORG_TO -f . --default-token
Pasos posteriores a la importación
Crear una instancia y configurar redes
Para crear una instancia y configurar redes, siga estos pasos:
- Sigue los pasos que se indican en la sección Crear una instancia para crear una instancia.
- Configurar el tráfico de entrada: el tráfico de entrada hace referencia al tráfico de APIs de clientes externos o internos a Apigee a través de un balanceador de carga. Debes configurar correctamente el PSC o la VPC para que se pueda acceder a tu instancia. Tendrás que configurar los nombres de host del grupo de entornos en la nueva organización.
- Configuración del tráfico de salida: el tráfico de salida es el tráfico de la API de Apigee a los servicios de destino de tu proxy de API. Por lo tanto, debes reservar y activar nuevas direcciones IP para tu NAT, así como volver a configurar tus cortafuegos o listas de permitidos en tus endpoints de destino.
Para obtener más información, consulta las opciones de red de Apigee.
Crear copias de seguridad y restaurar otras configuraciones
Usa una de las siguientes opciones para crear una copia de seguridad o restaurar otras configuraciones:
-
En el caso de las reglas de gestión de identidades y accesos: puedes usar
gcloud projects get-iam-policy
ygcloud projects set-iam-policy
para copiar tu propia política de gestión de identidades y accesos, modificar el proyecto y el nombre de la organizaciónapigee
, y aplicarla a nuevos proyectos Google Cloud y organizacionesapigee
. - Para otras configuraciones de Apigee: puedes usar la API de gestión de Apigee.
Desplegar tus proxies
Usa una de las siguientes opciones para implementar tus proxies:
- Usar
apigeecli
- Usa la secuencia de comandos de la comunidad de Apigee como referencia.
- Usa la API Management de Apigee.
Cambiar el tráfico
Para cambiar el tráfico, haz lo siguiente:
- Prepara pruebas de integración automatizadas para la nueva instancia.
- Configura un balanceador de carga para que transfiera el tráfico gradualmente a la nueva instancia mientras monitorizas el rendimiento.