如何延长通过OrganizationAccountAccessRole访问AWS成员账户的控制台会话时长
延长AWS组织跨账户角色(OrganizationAccountAccessRole)的控制台会话超时时间
问题场景
你拥有AWS组织管理账户foo(会话有效期12小时),通过内置的OrganizationAccountAccessRole切换至成员账户bar后,每隔1小时就会被强制登出,需要延长该跨账户会话的超时时长至与管理账户一致,且不想为成员账户创建独立登录用户。
解决方案
要实现这一需求,只需两步操作:
- 修改成员账户中
OrganizationAccountAccessRole的最大会话时长
默认情况下,AWS IAM角色的最大会话时长为1小时(3600秒),你需要将其调整为目标时长(比如12小时=43200秒):
- 通过AWS CLI执行(需先获取成员账户操作权限):
aws iam update-role --role-name OrganizationAccountAccessRole --max-session-duration 43200 - 或通过AWS控制台操作:
- 临时通过原短会话登录成员账户
bar,进入IAM控制台的角色页面 - 找到
OrganizationAccountAccessRole并进入编辑页面 - 在「最大会话时长」字段设置为43200秒(12小时)后保存
- 临时通过原短会话登录成员账户
- 切换角色时指定会话时长
从管理账户foo切换至bar账户时,需明确设置会话时长:
- 在AWS控制台切换角色界面:
展开「选项」面板,在「会话时长」下拉菜单中选择12小时(或输入自定义时长,不超过角色设置的最大值),完成切换后,会话有效期将与设置值一致。 - 通过AWS CLI切换角色时:
使用返回的临时凭证登录aws sts assume-role --role-arn arn:aws:iam::[BAR账户ID]:role/OrganizationAccountAccessRole --role-session-name cross-account-work-session --duration-seconds 43200bar账户控制台,会话时长为12小时。
注意事项
- 跨账户会话的最长有效期不能超过管理账户
foo的会话时长(12小时),否则会受限于管理账户的会话过期时间。 - 无需为成员账户创建独立用户或操作根用户,仅需调整内置角色的配置即可。
内容的提问来源于stack exchange,提问作者Garret Wilson
相关产品推荐
相关产品推荐

