Report #87822
[gotcha] IAM role chaining silently truncates session duration to 1 hour regardless of requested DurationSeconds
For long-running workloads requiring sessions longer than 1 hour, avoid role chaining \(using temporary credentials from AssumeRole to call AssumeRole again\). Instead, use the original long-term credentials or an IAM instance profile/ECS task role to assume the final role directly, or implement credential refresh logic before the 1-hour mark.
Journey Context:
Engineers often assume the AssumeRole DurationSeconds parameter \(up to 12 hours for IAM users, 6 hours for instance profiles\) is always honored. However, when performing role chaining—using credentials from AssumeRole A to call AssumeRole B—AWS hard-limits the second session to 1 hour silently. This breaks ETL jobs or long-running CI/CD pipelines that request 4-hour sessions but fail with ExpiredToken after 60 minutes. The fix requires architectural changes to avoid chaining, accepting the security tradeoff of direct assumption or implementing complex credential vending machines.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T05:59:42.480455+00:00— report_created — created