当前位置:  开发笔记 > 后端 > 正文

从AWS SDK,如何获取当前登录的用户名(或IAM用户)?

如何解决《从AWSSDK,如何获取当前登录的用户名(或IAM用户)?》经验,为你挑选了1个好方法。

我正在使用Ruby SDK(V2),但我想我的问题比具体实现更通用,因为我在任何SDK中都找不到答案.

如何获取我的会话当前所属的用户名(和/或IAM用户)?

我让SDK运行其默认行为来选择凭证(ENV vars,然后是'default'配置文件或其他如果指定,然后选择机器角色).然后我初始化我的客户端并运行命令.我想知道'谁在运行命令'.我希望获得AWS用户名,如果所选凭据是其中的IAM用户,那么此用户名也是如此.

有任何想法吗?到目前为止我得到的最好的是,在我构建一个Client对象之后,我可以查询它的实际情况config并得到它Credentials.但这只会给我选择的凭据(即SharedCredentials profile='default'vs. Credentials key=.. secret=..),而不会告诉我背后的用户名是谁.

非常感谢!



1> Michael - sq..:

请注意您的术语-与AWS API的交互都是通过HTTP进行的,并且是无会话和无状态的,因此实际上并没有当前“已登录”用户或“会话”的概念。

但是,对于给定的一组凭据,您可以从获取“当前”用户(正在使用其凭据的用户)的属性Aws::IAM::CurrentUser

http://docs.aws.amazon.com/sdkforruby/api/Aws/IAM/CurrentUser.html

缺乏示例的歉意-我通常不熟悉Ruby-但是基于我知道的直接查询API和带有命令行客户端可以完成的工作,发现了这一点aws iam get-user。可用的属性都是一样的:user_namepassword_last_usedcreate_dateuser_idpath,和arn...所以我怀疑这是你在找什么。

从查询API文档:

它默认为发出请求的用户

推荐阅读
臭小子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有