AWS assume-role 凭证持续一个多小时
AWS assume-role with credentials that last more than an hour
我正在将我们的 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
使用持续一个多小时的临时凭据?
如果您使用的是 IAM 长期凭证,则可以担任 12 小时的角色。而如果您使用临时凭证(例如来自 GetSessionToken API)来调用 AssumeRole,那么您不能担任该角色超过一个小时。
我想知道为什么您需要先调用 GetSessionToken API 而不是直接将 AssumeRole API 与 MFA 一起使用?
我正在将我们的 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
使用持续一个多小时的临时凭据?
如果您使用的是 IAM 长期凭证,则可以担任 12 小时的角色。而如果您使用临时凭证(例如来自 GetSessionToken API)来调用 AssumeRole,那么您不能担任该角色超过一个小时。
我想知道为什么您需要先调用 GetSessionToken API 而不是直接将 AssumeRole API 与 MFA 一起使用?