我能否延长 IAM 角色串联会话持续时间限制?
上次更新日期:2020 年 12 月 9 日
我使用 AssumeRole API 通过临时凭证担任 AWS Identity and Access Management (IAM) 角色,却收到了类似以下内容的错误:
“The requested DurationSeconds exceeds the 1 hour session limit for roles assumed by role chaining”。
简短描述
解决方法
请通过角色串联使用以下最佳实践:
注意:如果在运行 AWS CLI 命令时收到错误,请确保您使用的是最新的 AWS CLI 版本。
- 如果临时凭证的 DurationSeconds 参数值大于 1 小时,则操作将失败。
- 角色串联 1 小时限制仅适用于 AWS CLI 或 API。
- AWS 控制台不支持角色串联。您可以使用 AWS 控制台中的切换角色功能获取角色的临时凭证。AWS 控制台使用 IAM 或联合身份用户的凭证切换到其他角色。有关更多信息,请参阅切换到角色(控制台)。
- 使用 AWS CLI 的 Multi-Factor Authentication (MFA) 用户通过临时凭证代入另一个角色。临时凭证使用 AWS STS GetSessionToken API,限制为 1 小时。
- 如果角色串联用于为与角色 A 具有相同的 AWS 账户代入角色 B,则将权限分配给角色 A 以避免 1 小时的时间限制。如果角色串联与不同的 AWS 账户一起使用,则会话持续时间将限制为 1 小时。