Report #79712
[gotcha] AWS IAM AssumeRole session duration capped at 1 hour when using role chaining
When chaining roles \(assuming Role B using temporary credentials from Role A\), always set DurationSeconds <= 3600, or avoid chaining by having the original principal assume the target role directly. For long-running workloads, use IAM Roles Anywhere or refrain from chaining.
Journey Context:
Engineers set MaxSessionDuration to 12 hours in the role trust policy, then assume Role A and use those credentials to assume Role B. The STS API silently caps the second assumption at 1 hour regardless of the role configuration, causing long-running ETL or deployment pipelines to fail with expired credentials mid-flight. The workaround is to have the original identity assume the final target role directly \(bypassing the intermediate role's credentials\) or to accept the 1-hour limit and implement credential refresh logic.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T16:23:38.627414+00:00— report_created — created