如何将AWS控制台会话超时设置为1小时以内?
AWS控制台会话超时设置为1小时以内的方法
Got it! 你说的这个问题确实有点隐蔽——AWS控制台的常规界面设置里确实找不到直接把会话超时改到1小时以内的选项,但通过IAM的条件策略完全可以实现,我给你详细说两种可行的方案:
方法1:给IAM用户/组附加会话策略
这种方法适用于直接用IAM用户登录控制台的场景:
- 首先创建一个自定义IAM策略,利用
aws:SessionDuration这个全局条件键来限制会话最长时长。示例策略如下:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "*", "Resource": "*", "Condition": { "NumericLessThanEquals": { "aws:SessionDuration": 3600 } } } ] }
这里的3600是秒数,对应1小时;如果需要更短的超时(比如30分钟),改成1800即可。
- 将这个策略附加到目标IAM用户、用户组或者角色上。一旦生效,用户登录控制台后,会话会在设定的时长内自动超时,且无法手动延长到更久。
方法2:修改IAM角色的信任策略(适用于角色登录场景)
如果你的团队是通过IAM角色登录控制台(比如企业SSO、跨账户角色切换),可以在角色的信任策略里添加会话时长限制:
- 找到目标IAM角色的信任策略,在
Statement节点中加入Condition配置,示例如下:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:user/your-user" }, "Action": "sts:AssumeRole", "Condition": { "NumericLessThanEquals": { "aws:SessionDuration": 3600 } } } ] }
- 这样用户扮演该角色时,控制台会话的最长时长就被限制在1小时以内了。
注意事项
aws:SessionDuration是AWS的全局条件键,这个限制是强制生效的,用户无法通过任何操作绕过。- 如果你不需要开放所有权限,可以根据实际需求修改策略中的
Action和Resource字段,避免过度授权。 - 策略生效后,新的登录会话才会应用这个超时设置,已经登录的会话不会被强制踢出,需要重新登录才会生效。
内容的提问来源于stack exchange,提问作者Simon Faiman
相关产品推荐
相关产品推荐

