Saltar al contenido

Seguridad

A qué puede acceder CostWarden

Toda la conexión es un rol IAM de solo lectura en tu cuenta, con 5 permisos. Esta página los lista por nombre, dice para qué sirve cada uno y qué se guarda después. Si algo de esto es más de lo que quieres otorgar, es un punto razonable para detenerte.

Cómo funciona la conexión

No se intercambian credenciales, y nada de lo que guardamos es un secreto que tengas que rotar.

Tú creas el rol; nosotros nunca vemos una clave

CostWarden nunca te pide una access key. Creas un rol IAM en tu propia cuenta y pegas su ARN. Lo asumimos con AWS STS mientras dura un scan, lo que emite credenciales temporales que expiran solas.

El rol solo confía en nosotros, y solo para tu organización

La trust policy que te damos nombra nuestra cuenta de AWS y exige un ID externo único para tu organización. Otro cliente de CostWarden que pegara el ARN de tu rol en su propia cuenta sería rechazado por AWS, porque no puede presentar tu ID externo.

Puedes revocarlo sin pedirnos nada

Borra el rol en IAM y el acceso termina de inmediato, piense lo que piense nuestro software. Desconectar dentro de CostWarden detiene los syncs futuros y conserva tu historial; no toca nada en AWS.

Los 5 permisos, completos

Esta es la política completa, no un resumen de ella. No se otorga nada que no esté en esta lista.

ce:GetCostAndUsage

Gasto diario por servicio. Es la tendencia de costos, la lista de servicios principales y todo lo que el detector de anomalías usa para comparar.

compute-optimizer:GetEC2InstanceRecommendations

Los hallazgos del propio AWS sobre instancias EC2 sobredimensionadas, con su ahorro mensual estimado.

compute-optimizer:GetEBSVolumeRecommendations

Los hallazgos del propio AWS sobre volúmenes EBS inactivos o más grandes de lo necesario.

ec2:DescribeInstances

El tipo, el tamaño y el estado de tus instancias — su forma, nunca nada de lo que corre dentro. Compute Optimizer no responde sobre instancias que quien llama no puede listar, así que sin esto la recomendación de arriba no llega en absoluto.

ec2:DescribeVolumes

La misma forma para los volúmenes: tipo, tamaño, y a qué está conectado cada uno. Ni un byte de lo que hay guardado en ellos.

Todos son de solo lectura por construcción. AWS resume la política como tres servicios: Cost Explorer (Read), Compute Optimizer (List) y EC2 (List). El par de EC2 está porque Compute Optimizer se niega a responder sin él: resuelve las instancias de quien llama antes de devolver una recomendación, así que la llamada falla entera en vez de devolver menos. CostWarden nunca llama a EC2 por su cuenta — los únicos clientes de AWS en el código son Cost Explorer y Compute Optimizer.

Qué guardamos

Cifras de gasto y nuestro propio análisis sobre ellas. Nada que describa qué corre en tu infraestructura.

Gasto diario por servicio de AWS: una fecha, un nombre de servicio y un monto. No por recurso, no por tag.

El mismo gasto diario desglosado por cuenta enlazada de AWS, para que puedas distinguir producción de un sandbox: un ID de cuenta, y el nombre que tú le pongas. El ID viene de Cost Explorer; nunca le preguntamos a AWS de quién es la cuenta, y el permiso para hacerlo no está en la lista de arriba.

Las anomalías que detectamos: el servicio, el día, el monto observado y el de referencia, y a qué evento continuo pertenecen.

Hallazgos de rightsizing de Compute Optimizer, que sí incluyen identificadores de recursos: el id de la instancia EC2 o del volumen EBS al que se refiere la recomendación.

Un registro de cada intento de sync y su resultado, para que la app pueda distinguir «nunca sincronizó» de «sincronizó y no encontró nada».

Tu organización, sus miembros y sus roles, y las URLs de webhook de los canales de alerta que conectes.

Los datos pertenecen a tu organización, y cada consulta se limita a ella a nivel de base de datos, no en el código de la aplicación. Tu historial de costos se queda si desconectas AWS o si la suscripción vence: dejamos de recolectar datos nuevos, no borramos lo que ya tienes.

Qué no puede hacer

Sin agentes, sidecars ni daemons. No se instala nada en tu clúster, tu VPC ni tus imágenes.

Sin permisos de escritura de ningún tipo. El rol no puede iniciar, detener, redimensionar, etiquetar ni borrar nada — no hay en la política ninguna llamada de API que mute estado.

Sin acceso a tus logs, métricas, traces, código o datos. Cost Explorer devuelve cifras de gasto y no devuelve qué las produjo; las dos acciones de describe de EC2 devuelven la forma de una instancia o de un volumen — tipo, tamaño, estado, a qué está conectado — y nada de lo que corre en ella ni de lo que hay guardado en él.

Sin datos de tarjeta. El checkout corre en Lemon Squeezy como Merchant of Record y la información de pago nunca llega a CostWarden.

Lo que todavía nos falta

CostWarden está pre-lanzamiento y lo lleva una sola persona. Decirlo sin vueltas te sirve más que una página de compliance sin nada detrás.

Todavía no existe un reporte SOC 2 ni ISO 27001. Si tu proceso de compras exige uno, CostWarden no está listo para ti — y prefiere decirlo antes que empezar un cuestionario que no puede terminar.

Las URLs de webhook de los canales de alerta se guardan en la base de datos, protegidas por row-level security y siempre mostradas de vuelta enmascaradas. Hoy no están cifradas con una clave separada.

No hay single sign-on (SAML/OIDC). El inicio de sesión es con email y contraseña o con Google, hay autenticación en dos pasos (TOTP) en Configuración → Account, y los roles de organización definen quién puede hacer qué.

La guía te muestra la política exacta antes de que la pegues

Ambas políticas se muestran completamente rellenadas, con botón de copiar, y la conexión se verifica con un assume-role real antes de guardar nada.

Tus preferencias de privacidad