

 [适用于 JavaScript 的 AWS SDK V3 API 参考指南](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/)详细描述了 适用于 JavaScript 的 AWS SDK 版本 3 (V3) 的所有 API 操作。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用 SDK 进行身份验证 AWS
<a name="getting-your-credentials"></a>

使用开发 AWS 时，您必须确定您的代码是如何进行身份验证的。 AWS 服务您可以根据环境和可用的访问权限以不同的方式配置对 AWS 资源的编程 AWS 访问权限。

要选择您的身份验证方法并针对 SDK 进行配置，请参阅[和*工具参考指南中的身份验证AWS SDKs 和*访问](https://docs.aws.amazon.com/sdkref/latest/guide/access.html)。

我们建议在本地开发且雇主未向其提供身份验证方法的新用户进行设置 AWS IAM Identity Center。此方法包括安装 AWS CLI 以便于配置和定期登录 AWS 访问门户。如果您选择此方法，则在完成*AWS SDKs 和工具参考指南*[中的 IAM Identity Center 身份验证](https://docs.aws.amazon.com/sdkref/latest/guide/access-sso.html)程序后，您的环境应包含以下元素：
+  AWS CLI，用于在运行应用程序之前启动 AWS 访问门户会话。
+ [共享 AWS`config` 文件](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html)，其 `[default]` 配置文件包含一组可从 SDK 中引用的配置值。要查找此文件的位置，请参阅*AWS SDKs 和工具参考指南*中的[共享文件的位置](https://docs.aws.amazon.com/sdkref/latest/guide/file-location.html)。
+  共享 `config` 文件设置了 [https://docs.aws.amazon.com/sdkref/latest/guide/feature-region.html](https://docs.aws.amazon.com/sdkref/latest/guide/feature-region.html) 设置。这将设置 SDK 用于 AWS 请求的默认值 AWS 区域 。此区域用于未指定使用区域的 SDK 服务请求。
+  在向 AWS发送请求之前，SDK 使用配置文件的 [SSO 令牌提供程序配置](https://docs.aws.amazon.com/sdkref/latest/guide/feature-sso-credentials.html#feature-sso-credentials-profile)来获取凭证。该`sso_role_name`值是与 IAM 身份中心权限集关联的 IAM 角色，允许访问您的应用程序中的用户。 AWS 服务 

  以下示例 `config` 文件展示了使用 SSO 令牌提供程序配置来设置的默认配置文件。配置文件的 `sso_session` 设置是指所指定的 [`sso-session` 节](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html#section-session)。该`sso-session`部分包含启动 AWS 访问门户会话的设置。

  ```
  [default]
  sso_session = my-sso
  sso_account_id = 111122223333
  sso_role_name = SampleRole
  region = us-east-1
  output = json
  
  [sso-session my-sso]
  sso_region = us-east-1
  sso_start_url = https://provided-domain.awsapps.com/start
  sso_registration_scopes = sso:account:access
  ```

 JavaScript v3 版 S AWS DK 无需向您的应用程序添加其他软件包（例如`SSO`和`SSOOIDC`）即可使用 IAM 身份中心身份验证。

有关明确使用此凭证提供程序的详细信息，请参阅 npm（Node.js 程序包管理器）网站上的 [https://www.npmjs.com/package/@aws-sdk/credential-providers#fromsso](https://www.npmjs.com/package/@aws-sdk/credential-providers#fromsso)。

## 启动 AWS 访问门户会话
<a name="accessportal"></a>

在运行可访问的应用程序之前 AWS 服务，您需要为软件开发工具包进行有效的 AWS 访问门户会话，才能使用 IAM Identity Center 身份验证来解析证书。根据配置的会话时长，访问权限最终将过期，并且开发工具包将遇到身份验证错误。要登录 AWS 访问门户，请在中运行以下命令 AWS CLI。

```
aws sso login
```

如果遵循引导并具有默认的配置文件设置，则无需使用 `--profile` 选项来调用该命令。如果您的 SSO 令牌提供程序配置在使用指定的配置文件，则命令为 `aws sso login --profile named-profile`。

要选择性地测试是否已有活动会话，请运行以下 AWS CLI 命令。

```
aws sts get-caller-identity
```

如果会话是活动的，则对此命令的响应会报告共享 `config` 文件中配置的 IAM Identity Center 账户和权限集。

**注意**  
如果您已经有一个有效的 AWS 访问门户会话并且`aws sso login`正在运行，则无需提供凭据。  
登录过程可能会提示您允许 AWS CLI 访问您的数据。由于 AWS CLI 是在适用于 Python 的 SDK 之上构建的，因此权限消息可能包含`botocore`名称的变体。

## 使用控制台登录凭证
<a name="use-con-login-creds"></a>

您可以使用现有的 AWS 管理控制台登录凭据以编程方式访问 AWS 服务。在基于浏览器的身份验证流程之后， AWS 生成可在本地开发工具（如 CL AWS I 和 AWS SDK）上使用的临时证书。 JavaScript此功能简化了配置和管理 AWS CLI 凭证的过程。要了解如何开始使用，请按照[使用控制台凭据登录进行 AWS 本地开发](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sign-in.html)的说明进行操作。

运行 **aws login** 命令时，您可以从活动控制台会话中进行选择，也可以通过基于浏览器的身份验证流程登录，这将自动生成临时凭证。的 AWS SDK 会在证书到期前 5 分钟 JavaScript 自动刷新证书，每组凭证的有效期最长 12 小时。有关更多信息，请参阅 [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-credential-providers/#fromlogincredentials](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-credential-providers/#fromlogincredentials)。

## 更多身份验证信息
<a name="credother"></a>

人类用户，也称为*人类身份*，是应用程序的人员、管理员、开发人员、操作员和使用者。他们必须具有身份才能访问您的 AWS 环境和应用程序。作为组织成员的人类用户（即您、开发人员）也称为*工作人员身份*。

访问时使用临时证书 AWS。您可以为人类用户使用身份提供商，通过扮演提供临时证书的角色来提供对 AWS 账户的联合访问权限。对于集中式访问权限管理，我们建议使用 AWS IAM Identity Center (IAM Identity Center) 来管理对您账户的访问权限以及这些账户中的其他权限。有关更多替代方案，请参阅以下内容：
+ 有关最佳实践的更多信息，请参阅《IAM 用户指南》**中的 [IAM 中的安全最佳实践](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)。
+ 要创建短期 AWS 证书，请参阅 *IAM 用户指南*中的[临时安全证书](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html)。
+ 要了解其他 AWS SDK fo JavaScript r V3 凭据提供商，请参阅*工具参考*指南中的[标准化凭证提供商](https://docs.aws.amazon.com/sdkref/latest/guide/standardized-credentials.html)。AWS SDKs 