私はRuby SDK(V2)を使用していますが、どのSDKでも答えが見つからないため、私の質問は具体的な実装よりも一般的です。AWS SDKから、現在ログインしているユーザー名(またはIAMユーザー)を取得する方法は?
セッションが現在所属しているユーザー名(および/またはIAMユーザー)を取得するにはどうすればよいですか?
私はSDKに資格情報(ENV vars、次に 'default'プロファイル、または指定されている場合はその他のもの、次にマシンロール)を選択するためのデフォルト動作を実行させます。それから、クライアントを初期化してコマンドを実行します。私は誰がコマンドを実行しているのか知りたいです。私はAWSユーザー名を取得し、選択した資格情報がIAMユーザーのものであれば、このユーザー名も取得する予定です。
アイデア? 私が今までに得た最高のものは、Client
オブジェクトを作成した後、実際にconfig
というクエリを実行し、Credentials
を取得することでした。しかし、それは私の資格情報(すなわち、SharedCredentials profile='default'
対Credentials key=.. secret=..
)が選ばれただけであり、その背後にあるユーザー名は誰に教えてくれません。
多くの感謝!
用語についての同意。確かに私は自分の資格情報を使っているユーザーを意味していました。ありがとう、それは私にほとんどすべてを与える。ユーザーにIAM:GetUser権限がない場合は例外が発生しますが、驚くべきことに、例外メッセージには要求元ユーザーのARNが含まれています。醜い、しかし働く。ここに、それを解析するコード例を示すスレッドがあります:https://forums.aws.amazon.com/thread.jspa?threadID=108012 –