我正在使用Ruby SDK(V2),但我想我的問題比具體實現更一般,因爲我無法在任何SDK中找到答案。從AWS SDK中,如何獲取當前登錄的用戶名(或IAM用戶)?
如何獲取我的會話當前所屬的用戶名(和/或IAM用戶)?
我讓SDK運行其默認行爲來選擇憑據(ENV變量,然後'默認'配置文件或其他如果指定,然後機器角色)。然後我初始化我的客戶端並運行命令。我想知道'誰在運行命令'。我期望獲得AWS用戶名,並且如果所選證書是其中的IAM用戶,那麼也是這個用戶名。
任何想法? 迄今爲止我所得到的最好結果是,在構建一個Client
對象後,我可以查詢它是實際的config
並獲得Credentials
。但是,這隻能給我選擇什麼憑證(即SharedCredentials profile='default'
與Credentials key=.. secret=..
),並不告訴我它背後的用戶名是什麼。
非常感謝!
同意術語。的確,我的意思是我使用的憑證的用戶。謝謝你,這讓我幾乎一切。我只是補充說,如果用戶沒有IAM:GetUser權限,我們會得到一個異常,但令人驚訝的是,異常消息包含請求用戶的ARN。醜陋,但工作。下面是一個提供代碼示例來解析它的線程:https://forums.aws.amazon.com/thread.jspa?threadID=108012 –