AWS CLI - 从配置文件名称获取帐户名称?

Chr*_*isz 0 amazon-web-services aws-cli

我正在尝试为我的 aws 事物创建部署脚本。

我们为生产和开发创建了单独的帐户,我想传递一个参数,用户可以在其中指定要部署到的环境。由于配置文件将他们与他们正在使用的帐户联系起来,因此有没有办法在命令行上根据配置文件名称获取帐户名称?

Ano*_*ard 5

您可以用来sts get-caller-identity获取帐户 ID。这通常可以在没有扩展权限的情况下完成,尽管需要将帐户 ID 与您的帐户名称进行非直观的映射,但在某些情况下它很有用,因为它是确定性的并且在帐户之间是唯一的。

$ aws --profile profilename sts get-caller-identity
{
    "Account": "#####", 
    "UserId": "ABC", 
    "Arn": "arn:aws:iam::#####:user.name"
}
Run Code Online (Sandbox Code Playgroud)

您还可以使用iam list-account-aliases,这样更容易使用:

$ aws --profile profilename iam list-account-aliases
{
    "AccountAliases": [
        "my-company-account-alias"
    ]
}
Run Code Online (Sandbox Code Playgroud)