Fog AWS:如何获取帐户ID

时间:2015-01-25 10:44:01

标签: ruby-on-rails ruby amazon-web-services fog

使用ruby的 fog 库如何获取当前身份验证的帐户ID?我使用access_key_idsecret_access_key进行身份验证。

2 个答案:

答案 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]