"The SSO session associated with this profile has expired": la sesión SSO asociada con este perfil ha caducado o no es válida de otro modo

TL;DR — El acceso IAM al Centro de identidad (AWS SSO) token ha caducado, por lo que el perfil no puede generar credenciales para el DynamoDB llamar. Ejecute aws sso login --profile <profile> para volver a autenticarse. Si el error persiste inmediatamente después de iniciar sesión, estás iniciando sesión en un perfil/sesión diferente a la que usa el código, o el token almacenado en caché en ~/.aws/sso/cache está obsoleto; bórralo e inicia sesión nuevamente.

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.

Esto es un ClientError de botocore, no una Exception del servicio DynamoDB — se dispara mientras el SDK resuelve las credenciales, antes de que ninguna petición firmada salga de tu máquina. El token cacheado bajo ~/.aws/sso/cache está caducado, corrupto, o pertenece a una sso_session distinta de la que resuelve el perfil. Toda llamada a AWS a través de ese perfil falla antes de llegar al endpoint de un servicio.

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.

Compruébalo en DynoTable

DynoTable ejecuta el mismo flujo de dispositivo de IAM Identity Center que la CLI — dentro del propio proceso, sin necesidad de un binario aws aparte (Conectar una cuenta de AWS). En cuanto aws sso login tiene éxito, la app lee el token renovado desde ~/.aws/sso/cache en la siguiente conexión. Cuando la sesión SSO caduca, el chip de perfil muestra un punto rojo con Sign in; púlsalo para reabrir el flujo del navegador sin reiniciar DynoTable. Pulsa ⌘P para verificar que el nombre del perfil coincide con aquel en el que iniciaste sesión en la terminal. Tras la renovación, abre una tabla para confirmar que las llamadas a DynamoDB funcionan — el constructor de consultas visual deduce Query o Scan a partir de tus filtros en cuanto las credenciales vuelven a estar vivas.

Errores relacionados

Fuentes

Trabaja con DynamoDB sin la Consola

Un cliente de escritorio rápido para DynamoDB que ejecuta el SQL real que DynamoDB no puede — JOINs, GROUP BY, agregaciones — con edición visual y un agente de IA con tus propias claves de Bedrock.

Prueba gratuita de 30 días, sin tarjeta — después, el plan Free sin límite de tiempo.