awsアクセスキーと秘密キーのみを使用して、コマンドライン(CLI)からawsアカウントIDを取得できますか?

awsアクセスキーと秘密キーのみを使用して、コマンドライン(CLI)からawsアカウントIDを取得できますか?

awsアクセスキーと秘密キーのみを使用して、コマンドライン(CLI)からawsアカウントIDを取得できますか?

アクセスキーと秘密キーがあります。コマンドラインでアカウントIDを使用してアカウントIDを取得できますか?

答え1

正しい方法は次のとおりです。

~ $ aws sts get-caller-identity
{
    "Account": "123456789012", 
    "UserId": "AIDABCDEFGHJKL...", 
    "Arn": "arn:aws:iam::123456789012:user/some.user"
}

IAMユーザー、クロスアカウントIAMロール、EC2 IAMロールなどと連携します。

次のように使用:jqアカウントIDのみを取得するには:

~ $ aws sts get-caller-identity | jq -r .Account
123456789012

答え2

これsts はアクセスキー情報を取得します。コマンドを使用するとAWS_ACCESS_KEY_ID

$ aws sts get-access-key-info --access-key-id ${AWS_ACCESS_KEY_ID}
{
    "Account": "123456789012"
}

答え3

ほぼすべてのAWSオブジェクトにはアカウントIDが含まれています。たとえば、私のIAMユーザーはarn:aws:iam::ACCOUNT_ID:user/Andrew.Lorienで、私のcloudformationスタックの1つのIDはarn:aws:cloudformation:us-west-2:ACCOUNT_ID:stack/my-repositoryです。 / 12345678-90ab-cdef-1234-567890abcdef。したがって、保持しているすべての情報を照会し、その情報からIDを抽出できます。これは、最初のIAMユーザー(arn:aws:iam :: ACCOUNT_ID:user / USER_NAMEなどの文字列)を取得してアカウントIDを抽出するbash一行コードです。

aws iam list-users --query "Users[0].Arn" --output text | cut -d ":" -f 5

関連情報