使用AWS Ruby SDK,如何获取当前用户的详细信息?

Using AWS Ruby SDK, how can one get the current user's details?

this question, the Java SDK has a method to retrieve the current user based on the request's credentials 所示。有没有办法使用 Ruby SDK 做类似的事情?

我试过 AWS::IAM.new(creds).access_keys[creds[:access_key_id]],但是 returns 是一个简单的对象,它回答 niluseruser_name,而我的用户没有没有 iam:ListUsers 权限,所以我无法枚举用户集合。

基本上我需要该信息,因为我想生成一个自我批准策略以附加到一些新资源,并且我需要获取与我配置的访问密钥相关联的 ARN。有什么建议吗?

您可以使用客户端class获取当前用户。如果您使用 Ruby 的 AWS 开发工具包版本 1,则 aws-sdk gem:

iam = AWS::IAM::Client.new iam.get_user

如果您更喜欢为 Ruby 使用新版本 2 AWS SDK,只需将根命名空间从 AWS 更改为 Aws:

iam = Aws::IAM::Client.new iam.get_user