AWS SDK for JavaScript V3 API 参考指南详细描述了 AWS SDK for JavaScript 版本 3 (V3) 的所有API操作。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
SDK使用进行身份验证 AWS
使用开发 AWS 时,您必须确定您的代码是如何进行身份验证的。 AWS 服务您可以根据环境和可用的访问权限以不同的方式配置对 AWS 资源的编程 AWS 访问权限。
要选择您的身份验证方法并对其进行配置SDK,请参阅和工具参考指南中的身份验证AWS SDKs和访问。
我们建议在本地开发且雇主未向其提供身份验证方法的新用户进行设置 AWS IAM Identity Center。此方法包括安装 AWS CLI 以便于配置和定期登录 AWS 访问门户。如果您选择此方法,则在完成AWS SDKs和工具参考指南中的 Identity Cent er IAM 身份验证过程后,您的环境应包含以下元素:
-
AWS CLI,用于在运行应用程序之前启动 AWS 访问门户会话。
-
一种共享 AWS
config
文件,其[default]
配置文件包含一组配置值,可以从中引用SDK。要查找此文件的位置,请参阅AWS SDKs和工具参考指南中的共享文件的位置。 -
共享
config
文件设置了region
设置。这将设置SDK用于 AWS 请求 AWS 区域 的默认值。此区域用于未指定要使用的区域的SDK服务请求。 -
在向发送请求之前,SDK使用配置文件的SSO令牌提供者配置来获取凭证 AWS。该
sso_role_name
值是一个与 Ident IAM ity Center 权限集关联的IAM AWS 服务 角色,允许访问应用程序中的用户。以下示例
config
文件显示了使用SSO令牌提供者配置设置的默认配置文件。配置文件的sso_session
设置是指所指定的sso-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
AWS SDK for JavaScript v3 不需要向您的应用程序添加其他软件包(例如SSO
和SSOOIDC
)即可使用 Identity Center IAM 身份验证。
有关明确使用此凭证提供程序的详细信息,请参阅 npm(Node.js 程序包管理器)网站上的 fromSSO()
启动 AWS 访问门户会话
在运行可访问的应用程序之前 AWS 服务,您需要一个有效的 AWS 访问门户会话才能使用 Identity Center IAM 身份验证来解析凭据。SDK根据您配置的会话时长,您的访问权限最终将过期,并且SDK会遇到身份验证错误。要登录 AWS 访问门户,请在中运行以下命令 AWS CLI。
aws sso login
如果遵循引导并具有默认的配置文件设置,则无需使用 --profile
选项来调用该命令。如果您的SSO令牌提供程序配置使用命名配置文件,则命令为aws sso login --profile named-profile
。
要选择性地测试是否已有活动会话,请运行以下 AWS CLI 命令。
aws sts get-caller-identity
如果您的会话处于活动状态,则此命令的响应会报告共享config
文件中配置的 Ident IAM ity Center 帐户和权限集。
注意
如果您已经有一个有效的 AWS 访问门户会话并且aws sso
login
正在运行,则无需提供凭据。
登录过程可能会提示您允许 AWS CLI 访问您的数据。由于 AWS CLI 是在SDK适用于 Python 的基础上构建的,因此权限消息可能包含botocore
名称的变体。
更多身份验证信息
人类用户,也称为人类身份,是应用程序的人员、管理员、开发人员、操作员和使用者。他们必须具有身份才能访问您的 AWS 环境和应用程序。作为组织成员的人类用户(即您、开发人员)也称为工作人员身份。
访问时使用临时证书 AWS。您可以为人类用户使用身份提供商,通过扮演提供临时证书的角色来提供对 AWS 账户的联合访问权限。为了实现集中访问管理,我们建议您使用 AWS IAM Identity Center (Ident IAM ity Center)来管理对您的账户的访问以及这些账户内的权限。有关更多替代方案,请参阅以下内容: