Por defecto
- Costes e inventario
- Qué hay abierto o mal configurado
- Gasto y uso de IA
Darle acceso a un tercero pide confianza. Leemos costes, lo que está abierto y el gasto de IA. Escribimos solo si das el rol de los agentes.
Cloud, seguridad e IA. Al conectar leemos; la escritura es un segundo rol, el de los agentes.
Ejemplo ilustrativo
Cloud
Servicios de IA
Leemos costes, inventario, gasto de IA y si algo quedó abierto. Nada se escribe.
Los agentes aplican lo que apruebas: costes, exposición y gasto de IA.
El rol de AWS, Azure o GCP, y las claves de los servicios de IA, entran en solo lectura. La escritura vive en un segundo rol, el de los agentes: tú lo creas, tú apruebas cada acción. Sin ese rol no apagamos ni borramos nada.
Por defecto
Con el agente
Las claves de Azure, de GCP y de los servicios de IA se guardan en un bucket privado de S3, cifradas con AWS KMS y nuestra propia clave. De AWS no guardamos claves: solo el ARN del rol.
Generas credencial cloud
Client Secret de Azure, clave de Service Account de GCP o clave de API de IA
Cerramos el sobre
KMS cifra la credencial. La clave maestra no sale de AWS.
Se guarda cifrada en S3
Bucket privado, versionado y solo por HTTPS. La clave maestra nunca sale de KMS.
El ataque confused deputy permite que un tercero malicioso asuma un rol IAM de tu cuenta haciéndose pasar por un servicio legítimo. Para evitarlo, tu organización tiene un código aleatorio de 128 bits que tu rol de AWS exige como ExternalId.
Con tu código único
AAA Sentinel pide acceso con el código de tu organización. Tu rol lo reconoce y deja entrar a leer.
Sin tu código
Otra cuenta, aunque conociera el nombre del rol, no tiene tu código. El cloud rechaza el acceso.
Sin este ExternalId exacto, cualquier intento de AssumeRole es rechazado por AWS.
Autenticación con Amazon Cognito (User Pools + Hosted UI) para las personas y OAuth2 Client Credentials con JWT HS256 de 1 hora para la API. Los tokens de API llevan tu organización y sus scopes.
Inicias sesión
Registro, acceso y recuperación pasan por Cognito.
Comprueba quién eres
MFA y dominio de correo, si tu organización los exige.
Recibes un token de sesión
Firmado, con caducidad corta y tu organización dentro.
Cada petición lleva esa organización
La API no toma el tenant del cuerpo de la petición.
Los datos de cada organización se guardan bajo su identificador de organización. Ese identificador sale de tu sesión verificada, nunca de lo que envía la petición.
Tu organización
Consulta hallazgos y costes de tus cuentas.
Ve solo lo suyo
Otra organización
Intento de leer los mismos datos.
Bloqueado: no comparte tenant
Cada organización solo ve sus propias filas. La organización sale de la sesión, nunca de la petición.
Cada acción relevante (escaneos, cambios de configuración, accesos y acciones del agente) queda en una tabla de DynamoDB propia, cifrada con KMS y conservada un año. La aplicación solo añade entradas: ninguna escritura sobrescribe otra.
Ejemplo de registro audit
Ejemplo ilustrativo
Hoy, 09:12
Escaneo de postura de producción
Programado · solo lectura
Hoy, 11:40
Ana aprobó apagar staging-web-03
Agente · con permiso de escritura
Hoy, 16:05
Alerta de exposición enviada al canal
Notificación · sin cambio en el cloud
Los secretos de la plataforma (firma de tokens de API, pagos, verificación anti-bots) están en AWS Systems Manager Parameter Store como SecureString y se leen en tiempo de ejecución. Las claves de Jira y Linear que configuras se guardan en DynamoDB, cifrado con nuestra clave de KMS, y la interfaz solo las muestra enmascaradas.
AWS rota cada año la clave de KMS
Parameter Store SecureString y tablas cifradas con KMS
Cargadas en runtime via SDK
Lectura al conectar. Escritura solo si das el rol de los agentes. Si quieres ver qué hay abierto en tus cuentas, está en Seguridad.
Empezar gratis ahoraSin tarjeta · Lectura al conectar · Escritura si la concedes