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

阅读时长 5 分钟读完

前言

在前端开发中,经常需要使用 AWS(Amazon Web Services)提供的服务,需要在客户端执行 AWS 操作,为了保证安全性,在访问某些 AWS API 时需要进行身份验证。AWS SDK 开发团队提供了许多 Node.js 模块,以便在使用浏览器和 Node.js 工具时使用 AWS 服务,其中 @aws-sdk/credential-provider-imds 模块可以使用来生成身份验证凭据。

本文将介绍如何在浏览器中使用 npm 模块 @aws-sdk/credential-provider-imds,详细讲解其使用方法和意义,并提供示例代码作为参考。

什么是 @aws-sdk/credential-provider-imds

@aws-sdk/credential-provider-imds 是一个 Node.js 模块,它从浏览器中的 EC2 实例元数据服务(IMDS)获取安全令牌,并生成用于对 AWS 服务进行身份验证的凭据。

IMDS 是一个 REST 端点,它允许 EC2 实例在实例本身上请求和接收元数据信息。此外,EC2 实例元数据中的一部分是 IAM 权限信息,可以用来生成 AWS 凭据。

@aws-sdk/credential-provider-imds 模块可以运行在浏览器中,并允许您在本地构建和测试使用 AWS 服务的单页应用程序。

如何使用 @aws-sdk/credential-provider-imds

要在浏览器中使用 @aws-sdk/credential-provider-imds,首先需要将其安装为 npm 包,并将其引入项目中。

当引入 @aws-sdk/credential-provider-imds 模块时,可以使用以下方式创建凭证提供程序:

上述代码中,fromImdsCredentials 方法接收一个配置对象,包含以下字段:

  • timeout:IMDS 请求超时时间。默认为 1000 毫秒。
  • maxRetries:IMDS 请求最大尝试次数。默认为 5 次。
  • roleArn:要生成凭证的角色 ARN(Amazon 资源名称)。
  • httpOptions:IMDS 请求选项。

创建凭证提供程序后,可以针对 AWS 服务创建相应的客户端。

示例代码

以下为使用 @aws-sdk/credential-provider-imds 模块在浏览器中与 AWS S3 存储库进行交互的示例代码:

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

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

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

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

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

总结

@aws-sdk/credential-provider-imds 模块可以在浏览器中使用,它从 EC2 实例元数据服务(IMDS)获取安全令牌,并生成用于对 AWS 服务进行身份验证的凭据。在使用 @aws-sdk/credential-provider-imds 模块前,需要将其安装为 npm 包,并使用 fromImdsCredentials 方法创建凭证提供程序。本文提供了使用示例代码,供读者参考。

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

纠错
反馈