1. aws sso login --profile my-profile
↓
2. ブラウザ認証
↓
3. SSOトークン取得・保存
↓
4. 一時認証情報取得・保存
流れ
認証情報の有効期限切れとなった場合
こんな感じでtokenが存在しない、とエラーになる
$ aws sts get-caller-identity --profile test
Error loading SSO Token: Token for test does not exist再度、sso ログイン
$ date
2025年 11月 9日 日曜日 13時08分34秒 JST
$ aws sso login --profile testすると、~/.aws/sso/cache/xxxxxx.jsonといったファイルが作成される。
このファイルにはアクセストークン(accessToken)や有効期限(expiresAt)といった情報が含まれている。
{
"startUrl": "https://d-xxxxxxx.awsapps.com/start",
"region": "ap-northeast-1",
"accessToken": "...",
"expiresAt": "2025-11-09T05:01:39Z",
"clientId": "...",
"clientSecret": "...",
"registrationExpiresAt": "2026-02-05T02:25:28Z",
"refreshToken": "..."
}上記の例の場合、有効期限(expiresAt)は、sso login後(トークンがキャッシュされた時点)からみて 1時間後に設定されている。
これは、ssoログインした IAM Identity Center ユーザーに設定した許可セットのセッション期間となる。
この場合、使用する許可セットのセッション期間が1時間だったので、sso login した13:08 から1時間後の 14:08 にトークンが有効期限切れとなる。
セッション期間の設定
ssoログインで取得した認証情報は一時的なものなので、いずれアクセスは期限切れとなる
期限切れとなった場合、再度 aws sso login が必要
sso ログインにおけるセッション期間はIAM Identity Center が作成した IAM ロールセッションの有効期限、つまりアクセス許可セットで設定された期間の間有効となる。(最小1h, 最大24h)
IAM ロールセッションはユーザーインタラクティブセッションとは独立して動作する点に注意
関連: IAM Identity Center における認証セッション
許可セットのセッション期間設定方法
IdCコンソール > 許可セット > 前半設定 > セッション期間から編集