使用ruby的 fog 库如何获取当前身份验证的帐户ID?我使用access_key_id
和secret_access_key
进行身份验证。
答案 0 :(得分:1)
没有这样的电话可以在所有的api中获得原始的accounID。然而,通过{IAM API
的get_user
调用,这是一个很好的技巧
如果您正在调用AWS API,则必须使用IAM用户密钥来执行此操作。每个IAM用户都有一个ARN(亚马逊资源名称),ARN应该在其上包含AccountID。
我不知道如何使用雾,但使用AWS-SDK可以使用Aws::IAM::CurrentUser
require 'aws-sdk'
i = Aws::IAM::CurrentUser.new(region: region, credentials: credentials)
puts i.arn
您应该看到来电者用户的ARN,上面有AccountID。此外,通过aws-cli控制台应用程序,您将使用
获得相同的答案aws iam get-user --query "User.Arn"
也许在Fog中有类似的东西
答案 1 :(得分:0)
您可以通过 STS 服务的 get-caller-identity
API 获取此信息。
在 Ruby 中:
Aws::STS::Client.new(your_oprions).get_caller_identity[:account]