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的调用应该失败。
接下来是我测试的步骤和结果:
- 第一次调用
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
- 第二次调用
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" }
- 第三次调用
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
相关产品推荐
相关产品推荐

