我有帐户 A,我从中担任帐户 B 的角色。现在,由于我的工作完成,我想担任帐户 C 的角色。但是由于只有帐户 A 可以担任帐户 C 的角色,而 B 不能,所以我是无法这样做。
有什么方法可以使假定角色无效/切换用户?最短超时时间为 15 分钟,这对用户来说太久了。
编辑:尝试通过 AWS CLI 实现它
运行以下命令:
aws sts assume-role --role-arn **** --role-session-name jenkins --external-id ****
我有帐户 A,我从中担任帐户 B 的角色。现在,由于我的工作完成,我想担任帐户 C 的角色。但是由于只有帐户 A 可以担任帐户 C 的角色,而 B 不能,所以我是无法这样做。
有什么方法可以使假定角色无效/切换用户?最短超时时间为 15 分钟,这对用户来说太久了。
编辑:尝试通过 AWS CLI 实现它
运行以下命令:
aws sts assume-role --role-arn **** --role-session-name jenkins --external-id ****
据我了解,您使用了假设角色,您将获得一组如下所示的凭据
{
"AssumedRoleUser": {
"AssumedRoleId": "AROA3XFRBF535PLBIFPI4:s3-access-example",
"Arn": "arn:aws:sts::123456789012:assumed-role/xaccounts3access/s3-access-example"
},
"Credentials": {
"SecretAccessKey": "9drTJvcXLB89EXAMPLELB8923FB892xMFI",
"SessionToken": "AQoXdzELDDY//////////wEaoAK1wvxJY12r2IrDFT2IvAzTCn3zHoZ7YNtpiQLF0MqZye/qwjzP2iEXAMPLEbw/m3hsj8VBTkPORGvr9jM5sgP+w9IZWZnU+LWhmg+a5fDi2oTGUYcdg9uexQ4mtCHIHfi4citgqZTgco40Yqr4lIlo4V2b2Dyauk0eYFNebHtYlFVgAUj+7Indz3LU0aTWk1WKIjHmmMCIoTkyYp/k7kUG7moeEYKSitwQIi6Gjn+nyzM+PtoA3685ixzv0R7i5rjQi0YE0lf1oeie3bDiNHncmzosRM6SFiPzSvp6h/32xQuZsjcypmwsPSDtTPYcs0+YN/8BRi2/IcrxSpnWEXAMPLEXSDFTAQAM6Dl9zR0tXoybnlrZIwMLlMi1Kcgo5OytwU=",
"Expiration": "2016-03-15T00:05:07Z",
"AccessKeyId": "ASIAJEXAMPLEXEG2JICEA"
}
}
您在运行命令时直接导出或使用的那些凭据。
当您直接使用它们时,您只使用特定命令的凭据,在下一个命令中您将再次返回帐户 A。
导出时,您可以轻松调用unset命令来取消设置导出的 var,您将返回帐户 A,然后再次调用假设角色并导出帐户 C 的凭据。
如果您使用 CLI,则无需“删除”假定的角色。
您应该使用命名配置文件并在不同帐户中执行命令,方法是使用--profile
CLI 开关显式指定配置文件名称,或者通过更改AWS_PROFILE
命令之间的 env 变量。