AWS假设角色,凭据持续时间超过一小时

时间:2018-06-02 16:53:56

标签: amazon-web-services amazon-iam aws-sts

我正在设置我们的AWS以拥有多个帐户,我们的IAM用户在一个帐户中定义,我们的资源在一个或多个其他帐户中定义,策略设置为允许用户承担生产和登台帐户的角色。我使用此Coinbase blog post作为指南。简而言之,方法是调用aws sts get-session-token获取临时凭据(如果使用MFA,则必须执行此操作),然后使用这些凭据为所需角色调用assume-role

但是,您似乎无法assume-role使用临时凭据持续时间不超过一小时。当我运行时:

aws sts assume-role --role-arn arn:aws:iam::<REDACTED>:role/power-user --role-session-name my_session --duration <DURATION> 如果我使用超过一小时的持续时间,我会收到此错误: An error occurred (ValidationError) when calling the AssumeRole operation: The requested DurationSeconds exceeds the 1 hour session limit for roles assumed by role chaining.

如果他们每小时必须输入一次MFA代币,这对我的开发团队来说是一个很难卖的东西。有没有办法assume-role使用持续超过一个小时的teporary凭证?

1 个答案:

答案 0 :(得分:1)

如果您使用IAM长期信用,您可以担任12个小时的角色。如果您使用临时信用卡(例如来自GetSessionToken API)来调用AssumeRole,那么您不能承担该角色一个多小时。

我想知道为什么你需要先调用GetSessionToken API而不是直接使用AssumeRole API和MFA?