DynamoOps
Referência

Segurança e privacidade

O que o DynamoOps armazena, o que envia e para onde. As credenciais ficam na sua máquina, os dados das tabelas nunca saem dela e o app não tem conta, verificação de licença nem telemetria.

Arquitetura

O DynamoOps é um aplicativo Electron com um backend local embutido. A interface se comunica com esse backend pela interface de loopback, e o backend se comunica com a AWS usando o AWS SDK for JavaScript v3 oficial. Não existe nenhuma nuvem do DynamoOps: consultas, resultados e edições trafegam diretamente entre a sua máquina e a AWS, e o app nunca se comunica com nenhum servidor do DynamoOps. Como o código é público, você mesmo pode verificar isso no GitHub.

Sua máquina                                    AWS
┌───────────────────────────────────┐
│  DynamoOps UI  ⇄  local backend   │ ⇄ HTTPS ⇄  DynamoDB · STS · SSO · CloudWatch
└───────────────────────────────────┘

Credenciais

  • As chaves de acesso de longo prazo são lidas pelo AWS SDK a partir de ~/.aws ou de variáveis de ambiente. O DynamoOps nunca as solicita, exibe ou copia.
  • As credenciais de Assume Role e de roles do SSO ficam na memória do backend e são descartadas ao fazer logout, trocar de conexão ou fechar o app.
  • Os tokens de acesso do SSO e o registro do cliente OIDC ficam em cache na pasta de suporte do app, com permissão de arquivo 0600, para que você não seja enviado ao navegador toda vez que abrir o app. Forget this SSO session os apaga.
  • Perfis salvos, conexões recentes e histórico de roles armazenam apenas identificadores.

Proteção da API local

O backend embutido roda com as suas credenciais AWS, por isso ele fica restrito ao próprio app.

  • Ele escuta apenas em 127.0.0.1, nunca nas interfaces de rede da sua máquina.
  • Ele rejeita requisições cujo Host ou Origin não seja o app, o que protege contra DNS rebinding e contra sites abertos no seu navegador tentando chamá-lo.
  • Os dados lidos do DynamoDB são tratados como não confiáveis e escapados antes de serem renderizados, e uma Content Security Policy rígida bloqueia scripts inline como segunda camada de proteção.
  • A janela do Electron roda em sandbox, sem acesso ao Node.js, não pode navegar para fora do app e só abre links https: no seu navegador padrão.

O que é enviado para onde

DestinoQuandoConteúdo
Endpoints da AWS (ou o seu endpoint personalizado)Em toda operação em tabelasAs chamadas de API do DynamoDB, STS, SSO e CloudWatch que você dispara
Seu navegador padrãoLogin no SSO e links httpsAbre uma URL; nada além disso
Qualquer outro lugarNuncaO DynamoOps não tem analytics nem telemetria

Armazenamento local

Preferências e históricos não sensíveis ficam no armazenamento local do app nesta máquina:

  • Perfis salvos, conexões recentes, histórico de roles e os últimos valores do formulário de SSO.
  • Histórico de consultas (as últimas 50), snapshots de versões de itens (até 20 por item) e templates de itens.
  • Tema, preferência de formato JSON e o limite do alerta de custo.

Os snapshots de versões e o histórico de consultas podem conter dados de itens e valores de chaves das suas tabelas. Se isso for uma preocupação em uma máquina compartilhada, limpe o histórico pelo app e apague a pasta de suporte do aplicativo ao desinstalar. Veja onde o DynamoOps armazena dados.

Relacionados