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

前言

在开发 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


猜你喜欢

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

    前言 在前端开发中,经常需要使用 AWS(Amazon Web Services)提供的服务,需要在客户端执行 AWS 操作,为了保证安全性,在访问某些 AWS API 时需要进行身份验证。

    4 年前
  • npm 包 @aws-sdk/credential-provider-ini 使用教程

    前言 在使用 AWS SDK 开发项目时,我们需要提供 AWS 认证信息。AWS SDK 为我们提供了许多种获取认证信息的方式,其中之一是使用 AWS CLI 配置 AWS 认证信息。

    4 年前
  • npm 包 @aws-sdk/credential-provider-node 使用教程

    前置知识 在学习使用 npm 包 @aws-sdk/credential-provider-node 之前,需要了解以下知识: AWS IAM 用户和角色 AWS SDK for JavaScrip...

    4 年前
  • npm 包 @aws-sdk/hash-node 使用教程

    前言 在前端开发中,我们会需要使用亚马逊 Web 服务(AWS)的功能。AWS 提供了一系列服务,例如 Amazon S3、DynamoDB、Lambda 等,这些服务可以为我们的前端应用带来很大的便...

    4 年前
  • NPM 包 @aws-sdk/util-utf8-browser 使用教程

    在前端开发中,我们经常需要进行字符串编码和解码的操作。而为了方便地完成这些操作,AWS SDK 推出了一款名为 @aws-sdk/util-utf8-browser 的 NPM 包。

    4 年前
  • npm 包 @aws-crypto/sha256-js 使用教程

    简介 npm 是 Node.js 的包管理器,它可以通过 npm 安装和管理大量的开源库和框架。其中,@aws-crypto/sha256-js 是 AWS 提供的一个计算 SHA256 散列值的 n...

    4 年前
  • npm 包 @aws-sdk/util-hex-encoding 使用教程

    简介 在前端开发过程中,我们经常会需要进行二进制数据的处理,而十六进制编码就是常用的一种方式。@aws-sdk/util-hex-encoding 是 Amazon Web Services (AWS...

    4 年前
  • npm 包 @aws-sdk/hash-stream-node 使用教程

    前言 随着互联网技术的发展,云的成为了越来越多开发者使用的服务,AWS 也因其强大的云计算服务和 API 技术的支持,成为了许多开发者的首选。本文介绍的是 AWS 的 Hash 流模块包 @aws-s...

    4 年前
  • npm 包 @aws-sdk/location-constraint-middleware 使用教程

    AWS 是全球最大的云计算服务提供商之一,其提供了一系列云端服务,其中之一就是 S3 存储服务。在使用 S3 存储服务时,我们需要指定存储桶(Bucket)的位置(Region),否则 AWS 会将其...

    4 年前
  • npm包@aws-sdk/middleware-content-length使用教程

    前言 Amazon Web Services(AWS)是目前世界上最大的云服务提供商之一。AWS提供各种不同的服务,例如存储、计算、数据库等等。AWS SDK for JavaScript是一组Jav...

    4 年前
  • npm 包 @aws-sdk/middleware-expect-continue 使用教程

    前言 @aws-sdk/middleware-expect-continue 是一个用于 AWS JavaScript SDK 的中间件,用于添加 Expect: 100-continue 标头,以提...

    4 年前
  • npm 包 @aws-sdk/middleware-header-default 使用教程

    介绍 @aws-sdk/middleware-header-default 是一个 Node.js 模块,它提供了一种十分简单的方式向 AWS SDK 请求中添加默认的 HTTP Header。

    4 年前
  • npm 包 @aws-sdk/middleware-serializer 使用教程

    简介 @aws-sdk/middleware-serializer 是用于在 AWS SDK for JavaScript (V3) 中自动生成 HTTP 请求体和响应正文的中间件。

    4 年前
  • npm 包 @aws-sdk/abort-controller 使用教程

    前言 随着前端工程化的普及,构建一个复杂的前端应用往往需要依赖大量的第三方库和组件。而这些库和组件往往会依赖其他的库和组件,因此在管理依赖这个环节,就需要使用到 npm 这样的包管理工具了。

    4 年前
  • npm 包 @aws-sdk/node-http-handler 使用教程

    Amazon Web Services (AWS) 提供了一系列的工具和服务,让开发人员更容易的在应用程序中使用 AWS 资源。其中一个非常有用的工具是 @aws-sdk/node-http-hand...

    4 年前
  • NPM 包 @aws-sdk/protocol-rest 使用教程

    在前端开发过程中,调用 AWS 提供的 REST API 非常常见。在 Node.js 环境中,我们可以使用 AWS SDK for JavaScript 来方便调用 AWS API,不过 AWS S...

    4 年前
  • npm 包 @aws-sdk/query-error-unmarshaller 使用教程

    什么是 @aws-sdk/query-error-unmarshaller @aws-sdk/query-error-unmarshaller 是一个 npm 包,用于解析 AWS SDK 返回的错误...

    4 年前
  • npm 包 @aws-sdk/service-error-classification 使用教程

    前言 AWS(Amazon Web Services) 是目前全球范围内最受欢迎的云服务提供商之一。AWS 提供了各种各样的服务,包括计算、存储、数据库、分析、机器学习、人工智能等等。

    4 年前
  • npm 包 @aws-sdk/retry-middleware 使用教程

    随着互联网应用的日益复杂,前端开发面临的挑战也越来越多。其中一个特别突出的问题就是如何保证网络请求的稳定和可靠。AWS 的 @aws-sdk/retry-middleware 就是一个非常好用的 np...

    4 年前
  • npm 包 @aws-sdk/response-metadata-extractor 使用教程

    前言 在前端开发中,很多时候需要使用 AWS 云服务,而 AWS SDK 提供了一系列的 API 来让开发者们更方便地使用云服务。本文介绍了一个 npm 包 @aws-sdk/response-met...

    4 年前

相关推荐

    暂无文章