我有一个账户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的凭据。
您不需要"drop";假设的角色(如果使用CLI(。
您应该使用命名配置文件并在不同的帐户中执行命令,方法是使用--profile
CLI开关显式指定配置文件名称,或者在命令之间更改AWS_PROFILE
env变量。