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 encriptación administradas por el cliente. Para evitar la eliminación accidental de claves CMEK o versiones de claves, te recomendamos que implementes lo siguiente:
-
Endurecer los controles de acceso: Limita el rol de
roles/cloudkms.admin
o los permisos de destrucción o actualización de claves solo a administradores de confianza o miembros sénior del equipo. - Audita los permisos periódicamente: Asegúrate de que los permisos no se expandan de forma inadvertida con el tiempo.
- Eliminación automática de claves: No configures automatizaciones para borrar o inhabilitar claves automáticamente.
Configura la duración y la rotación de la destrucción de claves
- Considera extender la duración de destrucción predeterminada: El período de destrucción programada predeterminado es de 30 días. Configurar una duración de destrucción personalizada durante la creación de claves o aplicar una duración más larga a través de políticas de la organización puede proporcionar más tiempo para la recuperación en caso de eliminación accidental. Si crees que los tiempos de destrucción más largos imponen más riesgo, ten en cuenta que una duración de destrucción más larga también te impide borrar la clave por accidente. Puedes equilibrar el beneficio y el riesgo para ver cuál es la duración que mejor se adapta a ti.
- Exigir que las claves se inhabiliten antes de la destrucción: Te recomendamos que inhabilites las versiones de clave antes de programar su destrucción. Esto ayuda a validar que la clave no esté en uso activo y es un paso importante para determinar si es seguro destruir una versión de clave.
- Implementa la rotación de claves: Rotar las claves con regularidad limita el impacto de una posible vulneración. En el caso de que una clave se vea comprometida, la rotación regular limita la cantidad de mensajes reales que sean vulnerables.
Rotación de claves en Apigee
El propósito principal de la rotación de claves es reducir la cantidad de datos encriptados con una sola clave, no reemplazar por completo la versión anterior de la clave. En el caso de las claves del entorno de ejecución y las claves del plano de control, la versión de clave original permanece vinculada al recurso desde el momento en que se crea.
Ejemplos ilustrativos
- Una instancia de Apigee siempre usará la versión de clave CMEK principal que estaba activa en el momento de su creación, incluso después de la rotación de claves.
- Un paquete de proxy seguirá usando la versión principal de la clave CMEK que estaba activa cuando se creó por primera vez. Sin embargo, si se modifica este paquete de proxy después de la rotación de claves, los datos nuevos que contenga se encriptarán con la nueva versión de la clave principal.
Limitación actual: No hay reencriptación automática
Es importante tener en cuenta que, actualmente, Apigee no admite la reencriptación automática de datos existentes cuando se rota una clave. Solo se encriptará una cantidad limitada de datos nuevos con la nueva versión de clave primaria. La mayoría de tus datos, como las estadísticas, los datos de disco del entorno de ejecución y las revisiones de proxy anteriores, se seguirán encriptando con la versión de clave anterior.
Inhabilitación de claves
Si inhabilitas o destruyes las claves, se interrumpirá la funcionalidad de Apigee. Si primero inhabilitas la clave, puedes volver a habilitarla si se trata de una falsa alarma.
Si sospechas que una clave (o una versión de clave) está comprometida, haz lo siguiente:
-
Situación de alto riesgo: Si crees que tus datos de Apigee son sensibles y un atacante tiene una alta probabilidad de aprovecharlos, inhabilita la clave de inmediato y revócala. 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, primero debes volver a crear la instancia de
apigee
y la organizaciónapigee
antes de inhabilitar o borrar la CMEK. A continuación, obtén información sobre cómo evitar de forma proactiva el tiempo de inactividad invirtiendo en copias de seguridad y restablecimientos. - Comunícate con el equipo de asistencia: Te recomendamos que te comuniques con el equipo de Atención al cliente de Google Cloud cuando creas que una clave está comprometida y necesitas inhabilitarla.
Revisa el impacto de inhabilitar, revocar o destruir una clave a continuación.
Después de inhabilitar la clave, deberás volver a crear tu org/instancias de apigee
. Consulta las prácticas recomendadas.
- Compromiso de la CMEK del entorno de ejecución: Crea instancias nuevas con una CMEK nueva y, luego, borra las instancias originales, así como la CMEK del entorno de ejecución anterior, después de migrar el tráfico.
-
Comprometido por todas las CMEK: Crea una organización
apigee
nueva con una clave de CMEK nueva, replica tu configuración, cambia el tráfico y, luego, cierra la organización anterior y, luego, inhabilita o borra tu CMEK original. -
Comunícate con Atención al cliente de Google Cloud: Si la API para borrar o volver a crear instancias o la organización
apigee
tarda mucho tiempo, comunícate con Atención al cliente de Google Cloud.
Impacto de la inhabilitación, revocación o destrucción de claves
Si inhabilitas, revocas o destruyes la clave, Apigee no funcionará correctamente. Los impactos son los siguientes:
- Inhabilitar, revocar o destruir toda la clave: Las APIs orientadas a los clientes de Apigee dejarán de funcionar de inmediato. Los sistemas internos fallarán en cuestión de minutos, lo que afectará la implementación de proxy, el tráfico del entorno de ejecución, las estadísticas y la seguridad de la API. La instancia no se podrá iniciar en unas semanas debido a problemas de reconexión de discos.
- Inhabilitar, revocar o destruir una versión de clave (incluida la versión de clave principal o la versión de clave anterior): Las APIs orientadas a los clientes de Apigee que usen esa versión de clave dejarán de funcionar de inmediato. Se verán afectados algunos sistemas internos y el tráfico del entorno de ejecución. Es posible que no se pueda iniciar la instancia si se usó la versión de clave para la encriptación de discos.
Cómo volver a habilitar una clave
Si una vulneración es una falsa alarma o no se desea inhabilitar la clave, puedes volver a habilitarla. Si vuelves a habilitar una clave, se restablece 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 y estadísticas de la API durante el período de no disponibilidad de la clave.
- Si el período de inhabilitación de la clave es corto: El sistema debería recuperarse, excepto por la pérdida de algunos datos en la seguridad y las estadísticas de la API.
- Si el período de inhabilitación de la clave es largo: El sistema se recuperará para entregar tráfico, pero puede generar inconsistencias en los datos, en las que una región muestra un valor y la región que estaba inhabilitada muestra otro. Comunícate con Atención al cliente de Google Cloud para que se repare tu clúster de Apigee.
Borra una clave
Considera lo siguiente antes de borrar una clave:
- Para la limpieza: No borres las claves anteriores hasta que Apigee lance el seguimiento de claves para comprender el uso de las claves antes de borrarlas.
- Si es necesario borrarla: Primero inhabilita la clave y, luego, programa su destrucción. Puedes usar una política de la organización para aplicar primero inhabilitar la clave y la duración mínima para la destrucción.
Protege tu organización de Apigee con copias de seguridad de CI/CD
En caso de que se comprometan las claves de encriptación administradas por el cliente (CMEK), es fundamental tomar medidas inmediatas para inhabilitar, revocar o destruir la clave comprometida. Sin embargo, esta medida de seguridad necesaria puede hacer que tu sistema de Apigee no funcione, lo que puede provocar posibles interrupciones del servicio y del tiempo de inactividad.
Para garantizar un tiempo de inactividad mínimo o nulo para tus servicios de Apigee, es fundamental implementar un enfoque proactivo: copias de seguridad continuas de la configuración de tu organización (copias de seguridad de integración continua/implementación continua [CI/CD]). Consulta las herramientas disponibles y las prácticas recomendadas para restablecer una organización de Apigee.
El poder de la CI/CD y la 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 desde tu configuración con copia de seguridad. Este proceso optimizado te permite volver a crear 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 siguientes herramientas para crear copias de seguridad de tu organización de apigee
de forma periódica y probar el proceso de recuperación.
- Si solo quieres volver a crear las instancias de Apigee, consulta Vuelve a crear una instancia de Apigee sin tiempo de inactividad.
-
Si quieres usar Terraform, puedes considerar tomar prestadas ideas de
apigee/terraform modules
de código abierto. -
Si deseas volver a crear organizaciones de Apigee, puedes usar
apigeecli
,apigeecli organizations export
yapigeecli organizations import
como base para la copia de seguridad. Consulta Cómo exportar o volver a crear organizaciones. - Si deseas crear una copia de seguridad y restablecer más recursos que los de la lista anterior, deberás interactuar directamente con la API o usar otro comando apigeecli.
Prácticas recomendadas
- Copias de seguridad regulares: Programa copias de seguridad regulares para asegurarte de tener la configuración más actualizada disponible. Consulta Cómo exportar o volver a crear organizaciones.
- Almacenamiento seguro: Almacena tus copias de seguridad en una ubicación segura, como un repositorio encriptado.
- Prueba las restauraciones: Prueba el proceso de restablecimiento de forma periódica para asegurarte de que puedas recuperar tu organización de Apigee de forma eficaz. Prueba de forma periódica el proceso de restablecimiento para asegurarte de poder cambiar el tráfico a las organizaciones de Apigee creadas recientemente con rapidez.
Exporta o vuelve a crear organizaciones
La herramienta apigeecli
es una herramienta de línea de comandos que te permite administrar 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, similar a los comandos de gcloud
.
Si deseas 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 y importar recursos como los siguientes:
- Documentos del portal de la API
- Categorías del portal de la API
- Proxies de API
- Configuración de seguridad de la API y perfiles de seguridad
- Flujos compartidos
- Productos de API
- Desarrolladores
- Apps de desarrolladores con credenciales
- AppGroups y apps que incluyen credenciales
- Detalles del entorno
- Grupos de entornos
- Configuración de los recolectores de datos
- Almacenes de claves y certificados de alias a nivel del entorno
- Servidores de destino a nivel del entorno
- Referencias a nivel del entorno
- Mapas de clave-valor (KVM) y entradas a nivel de la organización, el entorno y el proxy
- Almacenes de claves y certificados de alias, excepto claves privadas
La herramienta puede administrar 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 guardar la clave privada en el momento de la creación y, luego, incluirla en los archivos de copia de seguridad locales.
- Los tokens de OAuth no podrán crear copias de seguridad ni restablecerse, lo que implica que los clientes deberán volver a acceder a las instancias de Apigee recién creadas.
- No se migran los controles de acceso, como la política de la organización y las reglas de IAM. Si deseas migrar esas reglas, debes usar la API de Google Cloud.
-
No se admiten las exportaciones de informes de Analytics, y las métricas de análisis no se copian en la nueva organización de
apigee
. -
Este comando
import
no crea automáticamente instancias, envGroup, EnvAttachments, archivos adjuntos de extremos ni implementa proxies por ti. Puedes administrar estos recursos, pero no directamente a través del comandoimport
. -
Este comando
import
no crea sitios de portal automáticamente. La creación de sitios de portal se debe realizar de forma manual a través de la IU. - Te sugerimos que inviertas en la recuperación ante desastres para la eliminación de claves y que pruebes periódicamente tu proceso de restablecimiento para asegurarte de poder cambiar el tráfico a las organizaciones de Apigee creadas recientemente con rapidez.
Requisitos previos
Antes de comenzar, asegúrate de que se cumplan los siguientes requisitos:
-
Apigee CLI 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
): Se instaló y autenticó. -
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 nueva organización de
apigee
a la que deseas migrar. Puedes crear diferentes tipos de organizacionesapigee
. Sin embargo, asegúrate de usar el mismo tipo de organización (pago por uso o suscripción) y el mismo tipo de enrutamiento de red que usaste con tu organización original.
Cómo exportar una organización de Apigee
A continuación, se muestra un comando de ejemplo. Consulta apigeecli organizations export para obtener detalles 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
Cómo importar una organización de Apigee
A continuación, se muestra un comando de ejemplo. Consulta apigeecli organizations import para obtener detalles 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
Crea una instancia y configura redes
Para crear una instancia y configurar redes, haz lo siguiente:
- Sigue los pasos que se indican en Crea una instancia nueva para crear una nueva.
- Configura el tráfico ascendente: El tráfico ascendente hace referencia al tráfico de la API de clientes externos o internos a Apigee a través de un balanceador de cargas. Debes asegurarte de 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 organización nueva.
- Configuración del tráfico descendente: El tráfico descendente hace referencia al tráfico de la API de Apigee a los servicios de destino del proxy de API. Por lo tanto, debes reservar y activar direcciones IP nuevas para NAT y volver a configurar tus firewalls o listas de entidades permitidas en los extremos de destino.
Consulta Opciones de red de Apigee para obtener más información.
Cómo crear una copia de seguridad de otros parámetros de configuración o restablecerlos
Usa una de las siguientes opciones para crear copias de seguridad de otras configuraciones o para restablecerlas:
-
Para las reglas de IAM: Puedes usar
gcloud projects get-iam-policy
ygcloud projects set-iam-policy
para copiar tu propia política de IAM, modificar el proyecto y el nombre de la organizaciónapigee
, y aplicarla a nuevas organizacionesapigee
y proyectos de Google Cloud. - Para otra configuración de Apigee: Puedes usar la API de administración de Apigee.
Implementa tus proxies
Usa una de las siguientes opciones para implementar tus proxies:
- Utilizar
apigeecli
- Usa la secuencia de comandos de la comunidad de Apigee como referencia.
- Usa la API de administración de Apigee
Cambia el tráfico
Haz lo siguiente para cambiar el tráfico:
- Prepara pruebas de integración automatizadas para la instancia nueva.
- Configura un balanceador de cargas para que dirija gradualmente el tráfico a la instancia nueva mientras supervisas el rendimiento.