DynamoOps
Referencia

Seguridad y privacidad

Qué guarda DynamoOps, qué envía y a dónde. Las credenciales se quedan en tu equipo, los datos de las tablas nunca salen de él y la app no tiene cuenta, verificación de licencia ni telemetría.

Arquitectura

DynamoOps es una aplicación Electron con un backend local integrado. La interfaz se comunica con ese backend a través de la interfaz de loopback, y el backend se comunica con AWS mediante el AWS SDK for JavaScript v3 oficial. No existe ninguna nube de DynamoOps: las consultas, los resultados y las ediciones viajan directamente entre tu equipo y AWS, y la app nunca se comunica con ningún servidor de DynamoOps. Como el código es público, puedes comprobarlo tú mismo en GitHub.

Tu equipo                                      AWS
┌───────────────────────────────────┐
│  DynamoOps UI  ⇄  local backend   │ ⇄ HTTPS ⇄  DynamoDB · STS · SSO · CloudWatch
└───────────────────────────────────┘

Credenciales

  • El AWS SDK lee las claves de acceso de largo plazo desde ~/.aws o desde variables de entorno. DynamoOps nunca las solicita, las muestra ni las copia.
  • Las credenciales de los roles de Assume Role y SSO viven en la memoria del backend y se descartan al cerrar sesión, cambiar de conexión o salir de la app.
  • Los tokens de acceso de SSO y el registro del cliente OIDC se almacenan en caché en la carpeta de soporte de la app con permisos de archivo 0600, para que no tengas que pasar por el navegador en cada inicio. Forget this SSO session los elimina.
  • Los perfiles guardados, las conexiones recientes y el historial de roles solo almacenan identificadores.

Protección de la API local

El backend integrado se ejecuta con tus credenciales de AWS, por lo que está restringido a la propia app.

  • Escucha solo en 127.0.0.1, nunca en tus interfaces de red.
  • Rechaza las solicitudes cuyo Host u Origin no sea la app, lo que protege contra el DNS rebinding y contra sitios web abiertos en tu navegador que intenten llamarlo.
  • Los datos leídos de DynamoDB se tratan como no confiables y se escapan antes de mostrarse, y una Content Security Policy estricta bloquea los scripts en línea como segunda capa.
  • La ventana de Electron se ejecuta en sandbox, sin acceso a Node.js, no puede navegar fuera de la app y solo abre enlaces https: en tu navegador predeterminado.

Qué se envía y a dónde

DestinoCuándoContenido
Endpoints de AWS (o tu endpoint personalizado)En cada operación sobre tablasLas llamadas a las API de DynamoDB, STS, SSO y CloudWatch que tú inicias
Tu navegador predeterminadoInicio de sesión con SSO y enlaces httpsAbre una URL; nada más
Cualquier otro lugarNuncaDynamoOps no tiene analítica ni telemetría

Almacenamiento local

Las preferencias no sensibles y el historial se guardan en el almacenamiento local de la app en este equipo:

  • Perfiles guardados, conexiones recientes, historial de roles y los últimos valores del formulario de SSO.
  • Historial de consultas (las últimas 50), instantáneas de versiones de ítems (hasta 20 por ítem) y plantillas de ítems.
  • Tema, preferencia de formato JSON y el umbral de alerta de costos.

Las instantáneas de versiones y el historial de consultas pueden contener datos de ítems y valores de claves de tus tablas. Si eso te preocupa en un equipo compartido, borra el historial desde la app y elimina la carpeta de soporte de la aplicación al desinstalarla. Consulta dónde guarda datos DynamoOps.

Relacionados