我正在设置AWS以具有多个帐户,其中IAM用户定义在一个帐户中,我们的资源定义在一个或多个其他帐户中,并设置了允许用户在生产和暂存帐户上承担角色的策略。我正在使用这个Coinbase博客文章作为指南。简而言之,方法是调用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的临时证书持续一个多小时吗?
发布于 2018-06-05 21:33:12
如果您使用的是IAM长期信誉,您可以承担12个小时的角色.然而,如果您使用临时的creds (例如来自GetSessionToken API)来调用AssumeRole,那么您就不能在超过一个小时的时间内承担这个角色。
我想知道为什么您需要首先调用GetSessionToken API,而不是直接在AssumeRole上使用AssumeRole API?
https://stackoverflow.com/questions/50659155
复制相似问题