我怎样才能放弃承担的角色?
How can I drop a assumed role?
我有一个帐户 A,我从中担任帐户 B 的角色。既然我的工作已经完成,我想担任帐户 C 的角色。但是由于只有帐户 A 可以担任帐户 C 的角色,而 B 可以不行,我做不到。
有什么方法可以让 invalidate/switch 用户担任假定角色?最短超时为 15 分钟,这对用户而言等待时间过长。
编辑:尝试通过 AWS CLI 实现它
运行 以下命令:
aws sts assume-role --role-arn **** --role-session-name jenkins --external-id ****
如果您使用的是 CLI,则无需“删除”假定的角色。
您应该使用 named profiles 并通过使用 --profile
CLI 开关明确指定配置文件名称在不同的帐户中执行命令,或者通过更改命令之间的 AWS_PROFILE
env 变量。
据我所知,您使用 assume-role,您会得到一组如下所示的凭据
{
"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 命令来取消设置导出的变量,您将返回到帐户 A,然后您再次调用 assume-role 并导出帐户的凭据C.
我有一个帐户 A,我从中担任帐户 B 的角色。既然我的工作已经完成,我想担任帐户 C 的角色。但是由于只有帐户 A 可以担任帐户 C 的角色,而 B 可以不行,我做不到。
有什么方法可以让 invalidate/switch 用户担任假定角色?最短超时为 15 分钟,这对用户而言等待时间过长。
编辑:尝试通过 AWS CLI 实现它
运行 以下命令:
aws sts assume-role --role-arn **** --role-session-name jenkins --external-id ****
如果您使用的是 CLI,则无需“删除”假定的角色。
您应该使用 named profiles 并通过使用 --profile
CLI 开关明确指定配置文件名称在不同的帐户中执行命令,或者通过更改命令之间的 AWS_PROFILE
env 变量。
据我所知,您使用 assume-role,您会得到一组如下所示的凭据
{
"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 命令来取消设置导出的变量,您将返回到帐户 A,然后您再次调用 assume-role 并导出帐户的凭据C.