The SSO session associated with this profile has expired or is otherwise invalid
TL;DR — IAM Identity Center(AWS SSO)のアクセストークンが失効したため、プロファイルが DynamoDB 呼び出しの認証情報を発行できません。aws sso login --profile <profile> を実行して再認証してください。ログイン直後にエラーが続く場合は、コードが使っているのとは別のプロファイル/セッションにログインしているか、~/.aws/sso/cache 配下のキャッシュされたトークンが古いです。それをクリアして再度ログインしてください。
意味
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.SSO ベースのプロファイルは長寿命のキーを保存しません。aws sso login はアクセストークンをローカルにキャッシュし、CLI/SDK はそれを必要に応じて短命のロール認証情報と交換します。両方のレイヤーが期限切れになります: ロール認証情報は数分から数時間後、SSO トークンは組織が設定したセッション長の後です。トークンが期限切れ(またはリフレッシュが失敗)のとき、DynamoDB の読み取りと書き込みを含むすべての署名済み呼び出しは、AWS に到達する前にこのエラーで失敗します。
発生する理由
- SSO セッションが単にタイムアウトした — セッション期間は Identity Center の管理者が設定します。一晩での期限切れが典型的です。
- 別のプロファイルにログインした —
aws sso loginが1つのプロファイルに対して実行された一方、アプリ/ツールが別のものを解決する(AWS_PROFILEの不一致、または異なるsso_session設定を指す2つのプロファイル)。 - 古いまたは破損したトークンキャッシュ —
~/.aws/sso/cache配下の JSON ファイルがプロファイルの SSO 設定(リージョン/start URL が変わった)ともう一致しないため、ツールはログイン後も「無効な」セッションを見続ける。 - 認証情報を自身で解決するサードパーティツール — SSO キャッシュを直接読む SDK やツールは、有効性について CLI と食い違うことがある(一部はトークンを実際の有効期限より少し早く期限切れとして扱う)。
修正方法
正しいプロファイルを再認証します:
aws sso login --profile my-profile aws sts get-caller-identity --profile my-profile # confirm it workedコードが同じプロファイルを使うことを確認します — DynamoDB と通信するプロセスに
AWS_PROFILE=my-profileを設定し、~/.aws/configに重複/レガシーのプロファイル定義がないか確認します。ログイン後もまだ「期限切れ」ですか?トークンキャッシュをクリアし、新規にログインします —
aws sso logoutが、キャッシュされた認証情報を削除するドキュメント化された方法です(それらは~/.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長時間実行またはヘッドレスのワークロードでは、SSO プロファイルを使わないでください — 対話的なブラウザログインは無人でリフレッシュできません。代わりにコンピュートにアタッチされた IAM ロール(インスタンス/タスク/実行ロール)または CI の OIDC ロールを使います。
セッションが煩わしいほど速く期限切れになりますか? セッション期間は Identity Center の設定です。管理者に延長を依頼してください。
デスクトップツールは同じ修正を継承します: aws sso login が成功すると、DynoTable デスクトップアプリ はリフレッシュされた SSO プロファイルを拾い、テーブルに再接続します。セッションが有効な間、DynamoDB Expression Builder は照会したいものを正しいリクエストに変えるのに役立ちます。
関連するエラー
- The security token included in the request is expired — 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
最終検証日 2026-07-13、上記にリンクした公式 AWS ドキュメントに照らして確認しました。