我正在尝试为AWS产品创建部署脚本。
我们已经为生产和开发创建了单独的帐户,我想传递一个参数,用户可以在其中指定要部署到的环境。由于配置文件是他们与所使用的帐户的关联关系,因此是否可以通过命令行在给定配置文件名称的情况下获取帐户名称?
答案 0 :(得分:0)
describe-account命令将为您提供帐户名
https://docs.aws.amazon.com/cli/latest/reference/organizations/describe-account.html
尚不清楚这将如何帮助您实现自动化部署的目标,但我认为它回答了您的问题。
答案 1 :(得分:0)
您可以使用sts get-caller-identity
获取帐户ID。通常可以在没有扩展权限的情况下完成此操作,尽管这需要将帐户ID直观地映射到您的帐户名称,尽管在某些情况下它很有用,因为它是确定性的,并且在帐户之间是唯一的。
$ aws --profile profilename sts get-caller-identity
{
"Account": "#####",
"UserId": "ABC",
"Arn": "arn:aws:iam::#####:user.name"
}
您还可以使用iam list-account-aliases
,它更易于使用:
$ aws --profile profilename iam list-account-aliases
{
"AccountAliases": [
"my-company-account-alias"
]
}