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 と食い違うことがある(一部はトークンを実際の有効期限より少し早く期限切れとして扱う)。

修正方法

  1. 正しいプロファイルを再認証します:

    aws sso login --profile my-profile
    aws sts get-caller-identity --profile my-profile   # confirm it worked
  2. コードが同じプロファイルを使うことを確認します — DynamoDB と通信するプロセスに AWS_PROFILE=my-profile を設定し、~/.aws/config に重複/レガシーのプロファイル定義がないか確認します。

  3. ログイン後もまだ「期限切れ」ですか?トークンキャッシュをクリアし、新規にログインします — 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
  4. 長時間実行またはヘッドレスのワークロードでは、SSO プロファイルを使わないでください — 対話的なブラウザログインは無人でリフレッシュできません。代わりにコンピュートにアタッチされた IAM ロール(インスタンス/タスク/実行ロール)または CI の OIDC ロールを使います。

  5. セッションが煩わしいほど速く期限切れになりますか? セッション期間は Identity Center の設定です。管理者に延長を依頼してください。

デスクトップツールは同じ修正を継承します: aws sso login が成功すると、DynoTable デスクトップアプリ はリフレッシュされた SSO プロファイルを拾い、テーブルに再接続します。セッションが有効な間、DynamoDB Expression Builder は照会したいものを正しいリクエストに変えるのに役立ちます。

関連するエラー

References

最終検証日 2026-07-13、上記にリンクした公式 AWS ドキュメントに照らして確認しました。

Console なしで DynamoDB を扱う

DynoTable は DynamoDB 向けの高速なデスクトップクライアントです — テーブルを閲覧し、SQL スタイルのクエリを実行し、アイテムをローカルで編集できます。