【问题标题】:ruby AWS SDK using wrong credentialsruby AWS SDK使用错误的凭证
【发布时间】:2015-04-24 21:35:33
【问题描述】:

我在使用 AWS 开发工具包时遇到了一点小问题。

我在 EC2 机器上使用 AWS 开发工具包来提取我需要的关于我们服务的数据。

我通过密钥和 ID 密钥向它传递凭据,但是当它尝试提取数据时,我希望它使用分配给框的 IAM 角色而不是凭据。

问题是,这在我们的一个环境中运行良好,但在这个环境中表现不同,这是怎么回事?

【问题讨论】:

    标签: ruby amazon-ec2 amazon-iam aws-sdk


    【解决方案1】:

    最新的 Ruby SDK 按以下顺序检查凭据:

    static_credentials -> env_credentials -> shared_credentials -> instance_profile_credentials

    因此,如果您使用静态凭据应该没问题,但如果您将密钥和机密导出为 ENV 变量,请确保没有使用其他名称设置。

    SDK 按以下顺序查找环境变量:

    AWS_ACCESS_KEY_ID -> AMAZON_ACCESS_KEY_ID -> AWS_ACCESS_KEY
    AWS_SECRET_ACCESS_KEY -> AMAZON_SECRET_ACCESS_KEY -> AWS_SECRET_KEY
    AWS_SESSION_TOKEN -> AMAZON_SESSION_TOKEN
    

    通过执行以下操作确保您同时导出 AWS_ACCESS_KEY_ID 和 AWS_SECRET_ACCESS_KEY:

    export AWS_ACCESS_KEY_ID=ASIAXXXXXXXXXXXXXXXX
    export AWS_SECRET_ACCESS_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    

    多年来,密钥的顺序和名称发生了多次更改,因此,如果您的环境运行不同版本的 SDK,遇到问题也就不足为奇了。如果您无法更新到最新的 SDK,也许 try taking a look at the SDK source 可以查看您使用的版本的评估顺序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-05
      • 2020-11-11
      • 1970-01-01
      • 2023-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多