The SSO session associated with this profile has expired or is otherwise invalid

TL;DR — Seu token de acesso do IAM Identity Center (AWS SSO) expirou, então o profile não consegue cunhar credenciais para a chamada do DynamoDB. Rode aws sso login --profile <profile> para reautenticar. Se o erro persiste logo após o login, você está entrando em um profile/sessão diferente do que o código está usando, ou o token cacheado sob ~/.aws/sso/cache está obsoleto — limpe-o e entre novamente.

O que significa

UnauthorizedSSOTokenError: The SSO session associated with this profile has
expired or is otherwise invalid. To refresh this SSO session run aws sso login
with the corresponding profile.

Profiles baseados em SSO não armazenam chaves de longa duração. O aws sso login cacheia um token de acesso localmente, e a CLI/SDK o troca por credenciais de role de curta duração sob demanda. Ambas as camadas expiram: as credenciais de role após minutos-a-horas, e o token SSO após a duração de sessão configurada da sua organização. Quando o token está expirado (ou o refresh falha), toda chamada assinada — incluindo leituras e escritas do DynamoDB — falha com este erro antes de alcançar a AWS.

Por que acontece

  • A sessão SSO simplesmente expirou — a duração de sessão é definida pelo seu administrador do Identity Center; expiração da noite para o dia é típica.
  • Você entrou em um profile diferenteaws sso login rodou contra um profile enquanto seu app/ferramenta resolve outro (incompatibilidade de AWS_PROFILE, ou dois profiles apontando para configs de sso_session diferentes).
  • Cache de token obsoleto ou corrompido — os arquivos JSON sob ~/.aws/sso/cache não correspondem mais à configuração SSO do profile (region/start URL mudou), então as ferramentas continuam vendo uma sessão "inválida" mesmo após o login.
  • Ferramentas de terceiros resolvendo credenciais elas mesmas — SDKs e ferramentas que leem o cache SSO diretamente podem discordar da CLI sobre a validade (algumas tratam tokens como expirados um pouco antes de sua expiração real).

Como corrigir

  1. Reautentique o profile certo:

    aws sso login --profile my-profile
    aws sts get-caller-identity --profile my-profile   # confirm it worked
  2. Certifique-se de que seu código usa esse mesmo profile — defina AWS_PROFILE=my-profile para o processo que conversa com o DynamoDB, e verifique ~/.aws/config para definições de profile duplicadas/legadas.

  3. Ainda "expirado" após o login? Limpe o cache de token e entre do zero — aws sso logout é a forma documentada de excluir as credenciais cacheadas (elas vivem sob ~/.aws/sso/cache):

    aws sso logout
    rm -rf ~/.aws/sso/cache   # only if a stale cache file still lingers
    aws sso login --profile my-profile
  4. Para cargas de longa duração ou headless, não use profiles SSO — um login interativo pelo browser não consegue atualizar sem supervisão. Use uma role IAM anexada à computação (role de instância/task/execução) ou uma role OIDC de CI em vez disso.

  5. Sessões expirando irritantemente rápido? A duração de sessão é uma configuração do Identity Center — peça ao seu administrador para estendê-la.

Ferramentas desktop herdam a mesma correção: uma vez que aws sso login é bem-sucedido, o app desktop DynoTable capta seu profile SSO atualizado e reconecta às suas tabelas. Enquanto a sessão está ativa, o DynamoDB Expression Builder ajuda você a transformar o que quer consultar em uma requisição correta.

Erros relacionados

Referências

Verificado pela última vez em 2026-07-13 contra a documentação oficial da AWS vinculada acima.

Trabalhe com o DynamoDB sem o Console

O DynoTable é um cliente desktop rápido para o DynamoDB — navegue pelas tabelas, execute consultas no estilo SQL e edite itens localmente.