"The SSO session associated with this profile has expired": a sessão SSO expirou

TL;DR — Seu token de acesso do IAM Identity Center (AWS SSO) expirou, portanto, o perfil não pode cunhar credenciais para a chamada DynamoDB. Execute aws sso login --profile <profile> para autenticar novamente. Se o erro persistir logo após o login, você está fazendo login em um perfil/session diferente daquele que o código está usando ou o token armazenado em cache em ~/.aws/sso/cache está obsoleto – limpe-o e faça login 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.

Este é um botocore ClientError, não um serviço DynamoDB Exception - é é acionado enquanto o SDK resolve as credenciais, antes que qualquer solicitação assinada saia do seu máquina. O token armazenado em cache em ~/.aws/sso/cache expirou, está corrompido ou pertence a um sso_session diferente daquele que o perfil resolve. Cada chamada AWS através desse perfil falha antes de atingir um terminal de serviço.

Por que isso acontece

  • A sessão SSO simplesmente expirou — a duração da sessão é definida pelo administrador do Identity Center; o vencimento durante a noite é típico.
  • Você efetuou login em um perfil diferente — o aws sso login foi executado em um perfil enquanto seu app/tool resolve outro (incompatibilidade de AWS_PROFILE ou dois perfis apontando para configurações diferentes do sso_session).
  • Cache de token obsoleto ou corrompido — os arquivos JSON em ~/.aws/sso/cache não correspondem mais à configuração de SSO do perfil (região/start URL alterada), então as ferramentas continuam vendo uma sessão "inválida" mesmo após o login.
  • Ferramentas de terceiros que resolvem credenciais por conta própria — SDKs e ferramentas que leem o cache SSO diretamente podem discordar da CLI sobre a validade (alguns tratam os tokens como expirados um pouco antes de sua expiração real).

Como corrigir

  1. Reautentique o perfil correto:

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

  3. Ainda "expirado" depois do login? Limpe o cache de token e faça login do zero — o aws sso logout é a forma documentada de apagar as credenciais em cache (elas vivem em ~/.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 trabalho de longa duração ou sem interface, não use perfis SSO — um login de navegador interativo não pode ser atualizado sem supervisão. Use uma função IAM anexada ao cálculo (função instância/task/execution) ou uma função CI OIDC.

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

Verifique no DynoTable

O DynoTable executa o mesmo fluxo de dispositivo do IAM Identity Center que a CLI – em processo, nenhum binário aws separado é necessário (Conectar uma conta AWS). Assim que o aws sso login for bem-sucedido, o aplicativo lê o token atualizado de ~/.aws/sso/cache na próxima conexão. Quando a sessão SSO expirar, o o chip do perfil mostra um ponto vermelho com Entrar; clique nele para reabrir o navegador fluxo sem reiniciar o DynoTable. Pressione ⌘P para verificar o perfil nome corresponde àquele em que você efetuou login no terminal. Após a atualização, abra uma tabela para confirmar o sucesso das chamadas DynamoDB - o visual construtor de consultas deriva Query-vs-Scan de seus comprimidos de filtro assim que as credenciais estiverem ativas novamente.

Erros relacionados

Fontes

Trabalhe com o DynamoDB sem o Console

Um cliente desktop rápido para DynamoDB que roda o SQL de verdade que o DynamoDB não consegue — JOINs, GROUP BY, agregações — com edição visual e um agente de IA com suas próprias chaves do Bedrock.

Teste grátis de 30 dias, sem cartão de crédito — depois o plano Grátis sem limite de tempo.