【问题标题】:How can I drop a assumed role?我怎样才能放弃一个假定的角色?
【发布时间】:2021-04-13 04:23:41
【问题描述】:

我有帐户 A,我从中担任帐户 B 的角色。现在我的工作完成后,我想担任帐户 C 的角色。但由于只有帐户 A 可以担任帐户 C 的角色,而 B 不能,我做不到。

我有什么方法可以使假定角色无效/切换用户?最短超时时间为 15 分钟,这对用户来说太久了。

编辑:尝试通过 AWS CLI 实现它

运行以下命令:

aws sts assume-role --role-arn **** --role-session-name jenkins --external-id ****

【问题讨论】:

  • 这个问题是关于 Web 界面、命令行工具、API 还是某种库?
  • 它用于 CLI(通过 jenkins 运行),在原始问题中附加了此信息。
  • 好的。您能否在您当前正在运行的命令示例中提供edit?请记住,所有对您来说显而易见的细节对其他人来说是完全不可见的,除非您分享它们。

标签: amazon-web-services amazon-iam sts


【解决方案1】:

据我了解,您使用 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"
        }
    }

您在运行命令时导出或直接使用的那些凭据。

  1. 当您直接使用它们时,您只使用特定命令的凭据,在下一个命令中您将再次返回帐户 A。

  2. 导出时,您可以轻松调用 unset 命令取消设置导出的 var,然后您将返回帐户 A,然后再次调用假设角色并导出帐户 C 的凭据。

【讨论】:

  • 这成功了!非常感谢您的及时回复:)。
  • 很高兴能够提供帮助。
【解决方案2】:

如果您使用 CLI,则无需“删除”假定的角色。

您应该使用named profiles 并通过使用--profile CLI 开关显式指定配置文件名称来在不同帐户中执行命令,或者通过在命令之间更改AWS_PROFILE env 变量。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-20
    • 2022-10-23
    • 2020-09-06
    • 1970-01-01
    • 2020-04-21
    • 1970-01-01
    • 2011-10-24
    • 2013-01-28
    相关资源
    最近更新 更多