Vandhana Asked: 2018-11-12 20:43:13 +0800 CST2018-11-12 20:43:13 +0800 CST 2018-11-12 20:43:13 +0800 CST 是否可以在命令行(CLI)中仅使用 aws 访问密钥和密钥获取 aws 帐户 ID 772 是否可以在命令行(CLI)中仅使用 aws 访问密钥和密钥获取 aws 帐户 ID 我有访问密钥和密钥。是否可以使用命令行中的那些来获取帐户 ID。 command-line aws 3 个回答 Voted Best Answer MLu 2018-11-12T21:51:43+08:002018-11-12T21:51:43+08:00 这是正确的方法: ~ $ aws sts get-caller-identity { "Account": "123456789012", "UserId": "AIDABCDEFGHJKL...", "Arn": "arn:aws:iam::123456789012:user/some.user" } 它适用于 IAM 用户、跨账户 IAM 角色、EC2 IAM 角色等。 与 with 一起使用jq以仅获取帐户 ID: ~ $ aws sts get-caller-identity | jq -r .Account 123456789012 jonatan 2020-09-11T23:56:06+08:002020-09-11T23:56:06+08:00 即使您只AWS_ACCESS_KEY_ID知道. $ aws sts get-access-key-info --access-key-id ${AWS_ACCESS_KEY_ID} { "Account": "123456789012" } andrew lorien 2018-11-12T21:31:24+08:002018-11-12T21:31:24+08:00 几乎每个 AWS 对象都包含账户 ID。例如,我的 IAM 用户是 arn:aws:iam::ACCOUNT_ID:user/Andrew.Lorien,而我的 cloudformation 堆栈之一的 ID 是 arn:aws:cloudformation:us-west-2:ACCOUNT_ID:stack/my-存储库/12345678-90ab-cdef-1234-567890abcdef。所以你可以查询你知道的任何东西,并从中提取 ID。这是一个 bash one-liner,它获取第一个 IAM 用户(类似 arn:aws:iam::ACCOUNT_ID:user/USER_NAME 的字符串)并提取帐户 ID。 aws iam list-users --query "Users[0].Arn" --output text | cut -d ":" -f 5
这是正确的方法:
它适用于 IAM 用户、跨账户 IAM 角色、EC2 IAM 角色等。
与 with 一起使用
jq
以仅获取帐户 ID:即使您只
AWS_ACCESS_KEY_ID
知道.几乎每个 AWS 对象都包含账户 ID。例如,我的 IAM 用户是 arn:aws:iam::ACCOUNT_ID:user/Andrew.Lorien,而我的 cloudformation 堆栈之一的 ID 是 arn:aws:cloudformation:us-west-2:ACCOUNT_ID:stack/my-存储库/12345678-90ab-cdef-1234-567890abcdef。所以你可以查询你知道的任何东西,并从中提取 ID。这是一个 bash one-liner,它获取第一个 IAM 用户(类似 arn:aws:iam::ACCOUNT_ID:user/USER_NAME 的字符串)并提取帐户 ID。