npm 包 @aws-sdk/credential-provider-env 使用教程

阅读时长 4 分钟读完

前言

在开发 AWS 相关服务的应用程序时,认证是其中非常关键的一部分。AWS SDK 提供了多种方式来提供身份验证凭据,如在应用程序中硬编码凭据、使用 AWS IAM 角色和使用 AWS 凭证提供程序等。而 @aws-sdk/credential-provider-env 提供程序是一个使用环境变量来提供 AWS 认证凭据的提供程序,本文将对该 npm 包进行详细介绍和使用指导。

引入 @aws-sdk/credential-provider-env

安装 @aws-sdk/credential-provider-env

或者使用 yarn:

使用 @aws-sdk/credential-provider-env

引入及使用 @aws-sdk/credential-provider-env

-- -------------------- ---- -------
----- - ------- - - --------------------------------------------
----- - -------- - - ------------------------------

----- -- - --- ----------
  ------------ ---------
---

------ -- -- -
  --- -
    ----- ---- - ----- ----------- ------------------
      ------- -----------
      ---- -------
    ----
    ------------------
  - ----- ----- -
    -------------------
  -
-----

首先,我们引入 fromEnv() 函数和 S3Client。S3Client 是 AWS SDK 的服务客户端。fromEnv() 从环境变量中提取 AWS 凭证并返回一个 CredentialProvider 对象。在我们的示例代码中,我们将 fromEnv() 声明为 S3Client 凭证选项的值,并使用 AWS SDK 的 S3Client 方法发出 GetObjectCommand 请求。

需要注意的是,该方法会获取系统环境变量中的 AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY。如果需要使用其他默认环境变量,如 AWS_PROFILEAWS_REGION 等,可以在 fromEnv() 中设置。

-- -------------------- ---- -------
----- - ------- - - --------------------------------------------
----- - -------- - - ------------------------------

----- -- - --- ----------
  ------------ ---------
    ------------ ------------------- -- --------- --
    ---------------- ----------------------- -- -------
    ------------- ------------------- -- ---------
    -------- ----------------- -- ----- --- -------
    ------- ----------- -- --------
  --
---

消除安全风险

虽然提供 AWS 认证凭据的方法十分方便,但要注意凭据不应该硬编码在应用程序中,而是应该通过 AWS 安全控件来存储和管理。

AWS 推荐使用 AWS Identity and Access Management (IAM) 用户和角色来管理 AWS 访问权限,因此建议使用该服务来管理凭据,而不是将凭据硬编码在代码中或存储在环境变量中。使用 IAM 用户和角色,您可以分配最小的权限,从而提高应用程序的安全性。

结语

使用 @aws-sdk/credential-provider-env,我们可以在 AWS 应用程序中使用环境变量来提供身份验证凭据,从而提高开发的效率。同时,我们也需要注意安全问题,避免硬编码凭据或将凭据存储在环境变量中。

参考文献:

  1. AWS SDK for JavaScript Documentation, https://docs.aws.amazon.com/sdk-for-javascript/index.html
  2. AWS Security Best Practices, https://aws.amazon.com/security/best-practices/

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5f6f182ca9b7065299ccba40

纠错
反馈