【问题标题】:Fog AWS: How to get account ID雾 AWS:如何获取账户 ID
【发布时间】:2015-01-25 10:44:00
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

    您可以通过 STS 服务的get-caller-identity API 获取此信息。

    在 Ruby 中:

    Aws::STS::Client.new(your_oprions).get_caller_identity[:account]
    

    【讨论】:

      【解决方案2】:

      在所有 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"
      

      也许雾中也有类似的东西

      【讨论】:

        猜你喜欢
        • 2014-02-03
        • 1970-01-01
        • 1970-01-01
        • 2022-10-16
        • 2019-05-09
        • 2021-06-26
        • 2022-11-16
        • 1970-01-01
        • 2016-11-28
        相关资源
        最近更新 更多