You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS CLI中AssumeRole会话复用导致无效角色Profile意外成功的问题咨询

AWS CLI中AssumeRole会话复用导致无效角色Profile意外成功的问题咨询

最近我在用AWS CLI测试AssumeRole的异常场景时,碰到了一个完全出乎意料的问题——本该失败的测试用例居然成功了,想请教下各位大佬这是怎么回事。

先说说我的环境配置:我本地的$HOME/.aws/credentials文件内容如下(config文件是空的):

[user1]
aws_access_key_id = ...
aws_secret_access_key = ....

[user2]
aws_access_key_id = ...
aws_secret_access_key = ...

[role-u1]
source_profile = user1
role_arn = arn:aws:iam::111111111111:role/myrole

[role-u2]
source_profile = user2
role_arn = arn:aws:iam::111111111111:role/myrole

权限方面,我已经给myrole配置了信任关系,只允许user1执行AssumeRole操作,所以role-u1是可以正常工作的,但user2没有这个权限,理论上role-u2的调用应该失败。

接下来是我测试的步骤和结果:

  1. 第一次调用role-u2,结果符合预期(失败):
$ aws sts get-caller-identity --profile role-u2
An error occurred (AccessDenied) when calling the AssumeRole operation: User: arn:aws:iam::222222222222:user/user2 is not authorized to perform: sts:AssumeRole on resource: arn:aws:iam::111111111111:role/myrole
  1. 第二次调用role-u1,结果符合预期(成功):
$ aws sts get-caller-identity --profile role-u1
{
  "UserId": "XXXXXXXXXXXXXXXXXXXXX:botocore-session-1752190162",
  "Account": "111111111111",
  "Arn": "arn:aws:sts::111111111111:assumed-role/myrole/botocore-session-1752190162"
}
  1. 第三次调用role-u2,结果完全不符合预期(居然成功了):
$ aws sts get-caller-identity --profile role-u2
{
  "UserId": "XXXXXXXXXXXXXXXXXXXXX:botocore-session-1752190162",
  "Account": "111111111111",
  "Arn": "arn:aws:sts::111111111111:assumed-role/myrole/botocore-session-1752190162"
}

我实在搞不懂,为什么在成功调用过合法的role-u1之后,再调用本应无效的role-u2时,不会报错反而成功了呢?

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.07 10:08:00