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 스택 중 하나의 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

관련 정보