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 diferente —
aws sso loginse ejecutó contra un perfil mientras tu app/herramienta resuelve otro (desajuste deAWS_PROFILE, o dos perfiles apuntando a configuracionessso_sessiondiferentes). - Caché de token obsoleta o corrupta — los archivos JSON bajo
~/.aws/sso/cacheya 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
Reautentica el perfil correcto:
aws sso login --profile my-profile aws sts get-caller-identity --profile my-profile # confirm it workedAsegúrate de que tu código usa ese mismo perfil — establece
AWS_PROFILE=my-profilepara el proceso que habla con DynamoDB, y revisa~/.aws/configen busca de definiciones de perfil duplicadas/legadas.¿Sigue "caducado" tras iniciar sesión? Limpia la caché de token e inicia sesión de nuevo —
aws sso logoutes 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-profilePara 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.
¿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
- The security token included in the request is expired — credenciales de rol caducadas en lugar de la sesión de SSO.
- The security token included in the request is invalid
- Unable to locate credentials (boto3)
References
- Configuring IAM Identity Center authentication with the AWS CLI — AWS CLI User Guide
- sso login — AWS CLI Command Reference
- Set session duration for AWS accounts — IAM Identity Center User Guide
Última verificación el 2026-07-13 con la documentación oficial de AWS enlazada arriba.