【问题标题】:AWS-SDK IAM credentials loading at global level在全球级别加载 AWS-SDK IAM 凭证
【发布时间】:2021-01-19 15:09:05
【问题描述】:

我在我的项目中经常使用 AWS-SDK。而且我发现加载共享凭据文件 (~/.aws/credentials) 或将凭据复制粘贴到所有需要的位置非常耗时。

只是想知道是否有办法在全局级别对其进行配置,这样我就不必在我的节点 js 代码中的任何地方都包含它们。

提前致谢。

【问题讨论】:

    标签: node.js amazon-web-services environment-variables aws-sdk


    【解决方案1】:

    不知道你所说的耗时是什么意思。您是指运行时间还是开发时间?

    默认情况下,所有 SDK 将根据凭据提供程序的特定层次结构自动加载凭据,包括 ~/.aws/credentials。如果您使用其中一种受支持的机制,通常不需要显式加载凭据。

    例如,boto3(Python SDK)按顺序从以下位置加载它们:

    1. 创建客户端对象时传递凭据
    2. 创建 Session 对象时传递凭据
    3. 环境变量
    4. 共享凭据文件 (~/.aws/credentials)
    5. AWS 配置文件 (~/.aws/config)
    6. 担任角色提供者
    7. Boto2 配置文件(/etc/boto.cfg 和 ~/.boto)
    8. 配置了 IAM 角色的 Amazon EC2 实例上的实例元数据服务

    通常,如果您在开发人员机器上运行应用程序,您可能会使用 #4 和 #5。如果您的应用程序在 AWS 基础设施(如 EC2、ECS 或 Lambda)上运行,那么您将使用 #8。两者都不需要编写任何显式代码来加载凭据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-01-07
      • 2020-08-17
      • 2017-05-24
      • 1970-01-01
      • 1970-01-01
      • 2019-04-18
      • 2019-01-15
      相关资源
      最近更新 更多