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

TL;DR — Tu token de acceso de IAM Identity Center (AWS SSO) ha vencido, así que el perfil no puede acuñar credenciales para la llamada a DynamoDB. Ejecuta aws sso login --profile <profile> para reautenticarte. Si el error persiste justo después de iniciar sesión, estás iniciando sesión en un perfil/sesión distinto del que usa el código, o el token cacheado en ~/.aws/sso/cache está obsoleto — límpialo e inicia sesión de nuevo.

Qué 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.

Los perfiles basados en SSO no almacenan claves de larga duración. aws sso login cachea un token de acceso localmente, y la CLI/SDK lo intercambia por credenciales de rol de corta duración bajo demanda. Ambas capas expiran: las credenciales de rol tras minutos u horas, y el token de SSO tras la duración de sesión configurada por tu organización. Cuando el token está caducado (o la renovación falla), toda llamada firmada — incluidas las lecturas y escrituras de DynamoDB — falla con este error antes de llegar a AWS.

Por qué ocurre

  • La sesión de SSO simplemente agotó su tiempo — la duración de sesión la establece tu administrador de Identity Center; la expiración nocturna es típica.
  • Iniciaste sesión en un perfil diferenteaws sso login se ejecutó contra un perfil mientras tu app/herramienta resuelve otro (desajuste de AWS_PROFILE, o dos perfiles apuntando a configuraciones sso_session diferentes).
  • Caché de token obsoleta o corrupta — los archivos JSON bajo ~/.aws/sso/cache ya no coinciden con la configuración SSO del perfil (cambió la región/URL de inicio), así que las herramientas siguen viendo una sesión "inválida" incluso tras iniciar sesión.
  • Herramientas de terceros que resuelven las credenciales por sí mismas — los SDK y herramientas que leen la caché de SSO directamente pueden discrepar con la CLI sobre la validez (algunos tratan los tokens como caducados ligeramente antes de su expiración real).

Cómo solucionarlo

  1. Reautentica el perfil correcto:

    aws sso login --profile my-profile
    aws sts get-caller-identity --profile my-profile   # confirm it worked
  2. Asegúrate de que tu código usa ese mismo perfil — establece AWS_PROFILE=my-profile para el proceso que habla con DynamoDB, y revisa ~/.aws/config en busca de definiciones de perfil duplicadas/legadas.

  3. ¿Sigue "caducado" tras iniciar sesión? Limpia la caché de token e inicia sesión de nuevo — aws sso logout es la forma documentada de borrar las credenciales cacheadas (viven bajo ~/.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 larga duración o sin interfaz, no uses perfiles SSO — un inicio de sesión interactivo en el navegador no puede renovarse sin supervisión. Usa un rol de IAM adjunto al recurso de cómputo (rol de instancia/tarea/ejecución) o un rol OIDC de CI en su lugar.

  5. ¿Las sesiones expiran molestamente rápido? La duración de sesión es un ajuste de Identity Center — pídele a tu administrador que la amplíe.

Las herramientas de escritorio heredan la misma solución: una vez que aws sso login tiene éxito, la aplicación de escritorio DynoTable recoge tu perfil SSO renovado y se reconecta a tus tablas. Mientras la sesión esté activa, el DynamoDB Expression Builder te ayuda a convertir lo que quieres consultar en una petición correcta.

Errores relacionados

References

Última verificación el 2026-07-13 con la documentación oficial de AWS enlazada arriba.

Trabaja con DynamoDB sin la Consola

DynoTable es un cliente de escritorio rápido para DynamoDB: explora tablas, ejecuta consultas estilo SQL y edita Items localmente.