요청에 포함된 보안 토큰이 만료되었습니다.

TL;DR — 임시 AWS 자격 증명 시간이 초과되었습니다. 이는 STS/SSO/수임된 역할 자격 증명(장기 IAM 사용자 키 아님)에서만 발생합니다. 세션을 새로 고치십시오. aws sso login을 다시 실행하거나 역할을 다시 시작하십시오. AWS_SESSION_TOKEN이 새로운 세션인지 확인하고 환경에 남아 있는 오래된 토큰을 모두 지우십시오.

무엇을 의미하는가

ExpiredTokenException: The security token included in the request is expired

AWS는 서명에 사용한 임시 보안 자격 증명이 만료되었기 때문에 귀하의 요청을 거부했습니다. 제한된 기간 동안 STS의 임시 자격 증명(AssumeRole, SSO, GetSessionToken, EC2/ECS 인스턴스 역할)이 활성화됩니다. 역할 세션은 15분부터 역할의 최대 세션 기간 설정(1~12시간 사이, 기본적으로 1시간)까지 실행되며 IAM 사용자에 대한 GetSessionToken 자격 증명은 기본적으로 12시간이며 36시간까지 늘어날 수 있습니다. 해당 기간이 지나면 모든 요청이 서명됩니다. ExpiredTokenException로 실패합니다. 만료된 동일한 토큰을 사용한 재전송은 다시 실패합니다. 새로 고친 후에만 다시 시도할 가치가 있습니다.

왜 발생하는가

  • STS/SSO 세션이 단순히 시간 초과되었습니다 — 위임된 역할 자격 증명은 역할의 세션 기간(기본값 1시간, 최대 12시간까지 구성 가능)에 만료됩니다. SSO 세션도 마찬가지로 만료됩니다.
  • 환경의 오래된 AWS_SESSION_TOKEN — 셸로 내보낸 이전 세션 토큰(또는 .env)은 만료된 후에도 계속 사용됩니다. 환경 변수는 자동으로 새로 고쳐지지 않습니다.
  • 시작 시 자격 증명을 한 번 가져오고 새로 고치지 않는 장기 실행 프로세스입니다.
  • ~/.aws/cli/cache캐시된 자격 증명 또는 만료된 SDK 자격 증명 캐시.
  • 시계 왜곡 — 머신 시계가 너무 멀리 떨어져 있으면 유효한 자격 증명이 만료된 것처럼 보일 수 있습니다.

어떻게 해결하는가

  1. 세션을 새로 고칩니다. aws sso login(SSO의 경우)을 다시 실행하거나 역할(aws sts assume-role …)을 다시 맡아 새 액세스 키, 비밀 및 세션 토큰을 가져옵니다.
  2. 세 가지 값을 모두 업데이트합니다. 즉, 액세스 키 ID, 보안 액세스 키, 세션 토큰을 함께 업데이트합니다. 오래된 토큰이 포함된 새 키는 여전히 실패합니다.
  3. 오래된 환경 변수 지우기unset AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN, 그런 다음 새로운 자격 증명을 리소스로 사용하거나 SDK가 자체적으로 새로 고칠 수 있는 프로필로 전환합니다.
  4. SDK가 수명 주기를 관리하도록 합니다 — 하나의 토큰을 고정하는 대신 SDK가 만료되기 전에 자동으로 새로 고쳐지도록 프로필/자격 증명 공급자(SSO, assume_role, 인스턴스 역할)를 구성합니다.
  5. aws sts get-caller-identity확인 — 성공하면 자격 증명이 최신 상태입니다.
  6. 모든 것이 신선해 보이지만 요청이 여전히 만료 보고서인 경우 시계를 확인(NTP)하세요.

DynoTable에서 연결

DynoTable은 연결할 때마다 프로필을 새로 해석합니다 — SSO 세션과 MFA로 보호되는 역할 위임까지 포함해서입니다. 그래서 세션만 갱신되면 재시작 없이 테이블이 그대로 돌아옵니다. 임시 자격 증명이 만료되면 프로필 칩의 상태 점이 빨갛게 바뀌면서 로그인(SSO) 또는 다시 연결이 뜹니다. 그것을 클릭하거나 쿼리를 다시 실행하면 인앱 새로 고침 흐름이 시작됩니다. ⌘P를 눌러 터미널에서 갱신한 바로 그 프로필을 쓰고 있는지 확인하세요. query builder은 다음과 같은 빠른 온전성 검사입니다. 새로 고침 후 서명된 읽기가 성공합니다.

FAQ

"요청에 포함된 보안 토큰이 만료되었습니다" 문제를 어떻게 해결하나요? 임시 자격 증명이 만료되었습니다. 새로 고치고(aws sso login을 다시 실행하거나 역할을 다시 맡음) 액세스 키, 비밀 및 AWS_SESSION_TOKEN을 함께 업데이트하세요. 이전 토큰이 재사용되지 않도록 셸에 남아 있는 오래된 토큰을 모두 지우고, 자동으로 새로 고쳐지는 SDK 자격 증명 공급자를 선호하세요.

임시 자격 증명으로만 이 정보를 얻을 수 있는 이유는 무엇입니까? ExpiredTokenException은 만료되는 시간 제한 STS/SSO/수임 역할 자격 증명에 적용됩니다. 수명이 긴 IAM 사용자 액세스 키는 자체적으로 만료되지 않으므로 이 문제가 아닌 다른 이유(잘못/비활성화)로 인해 자격 증명 오류가 발생합니다.

관련 오류

출처

Console 없이 DynamoDB 작업하기

DynamoDB로는 실행할 수 없는 진짜 SQL(JOINs, GROUP BY, 집계)을 실행하는 빠른 DynamoDB 데스크톱 클라이언트. 시각적 편집과 여러분 자신의 Bedrock 키로 동작하는 AI 에이전트를 제공합니다.

30일 무료 체험, 신용카드 불필요 — 이후 기간 제한 없는 무료 요금제.