有没有办法列出AWS Iam用户属性

时间:2018-12-07 17:29:35

标签: aws-cli

我找不到用以下信息列出IAM用户的方法:

  • 用户名
  • 关键年龄
  • 密码年龄
  • 最后登录
  • 启用了MFA
  • 最后使用
  • 键有效吗?

我尝试过aws iam list-users,但这并不能告诉我很多。

使用AWS CLI可以吗?如果可以,怎么办?

1 个答案:

答案 0 :(得分:1)

我要回答一个问题,因为有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"
        }
    ]
}

因此,您也可以使用以下命令从此处获取“状态”和“创建日期”:

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"
    }
}

我认为这涵盖了您询问的所有领域。显然,您需要围绕所有这些编写一些代码才能将它们整合在一起。