Есть ли способ перечислить свойства пользователя AWS Iam - PullRequest
0 голосов
/ 07 декабря 2018

Не могу найти способ перечислить пользователей IAM со следующей информацией:

  • Имя пользователя
  • Возраст ключа
  • Возраст пароля
  • Последний вход
  • MFA включен
  • последнее использование
  • ключ активен?

Я пытался aws iam list-users, но это не говорит мнемного.

Возможно ли это с помощью интерфейса командной строки AWS?Если да, то как?

1 Ответ

0 голосов
/ 09 декабря 2018

Я добавлю ответ, так как 4 человека проголосовали, несправедливо, я думаю, чтобы закрыть вопрос.

Короткий ответ: нет, нет одной команды, которую вы можете использовать, чтобы сделать это, иЯ могу понять, почему это сбивает с толку и удивляет.

Часть этой информации можно найти в отчете о полномочиях, используя:

aws iam generate-credential-report
aws iam get-credential-report

См. Документацию о том, как программно получить отчет о полномочиях ( ref ).

Оттуда вы можете получить:

  • mfa_active
  • access_key_1_active
  • access_key_1_last_used_date
  • access_key_1_last_rotated
  • password_last_used
  • password_last_changed

Некоторая другая информация может быть найдена в подкоманде list-access-keys:

▶ aws iam list-access-keys --user-name alex 
{
    "AccessKeyMetadata": [
        {
            "UserName": "alex", 
            "Status": "Active", 
            "CreateDate": "XXXX-XX-XXT01:33:31Z", 
            "AccessKeyId": "XXXXXXXX"
        }
    ]
}

Таким образом, вы можетездесь также можно получить «Status» и «CreateDate», используя такие команды, как:

aws iam list-access-keys --user-name alex \
  --query "AccessKeyMetadata[].CreateDate" \
  --output text

Дополнительная информация снова может быть найдена в:

▶ aws iam get-login-profile --user-name alex   
{
    "LoginProfile": {
        "UserName": "alex", 
        "CreateDate": "XXXX-XX-XXT01:33:31Z", 
        "PasswordResetRequired": false
    }
}

Вы также можете получить ключ доступа последнимдата используется таким образом:

access_key_id=$(aws iam list-access-keys \
  --user-name alex \
  --query "AccessKeyMetadata[].AccessKeyId" \
  --output text)

aws iam get-access-key-last-used \
  --access-key-id $access_key_id 

Напримервывод:

{
    "UserName": "alex", 
    "AccessKeyLastUsed": {
        "Region": "XXXXXX", 
        "ServiceName": "iam", 
        "LastUsedDate": "XXXX-XX-XXT05:28:00Z"
    }
}

Я думаю, что это охватывает все поля, о которых вы спрашивали.Очевидно, вам нужно написать немного кода вокруг всего этого, чтобы собрать все вместе.

...