AWS SDK 和工具标准化凭证提供者 - AWS SDK 和工具

AWS SDK 和工具标准化凭证提供者

许多凭证提供者已标准化为一致的默认值,并且在许多 SDK 中以相同的方式工作。当跨多个 SDK 进行编码时,这种一致性可以提高工作效率和清晰度。所有设置都可以在代码中被覆盖。有关详细信息,请参阅您的特定 SDK API。

重要

并非所有 SDK 都支持所有提供者,甚至提供者内部的所有方面。

了解默认凭证提供者链

所有 SDK 都有一系列地点(或来源)供其检查,以便找到用于向 AWS 服务 发出请求的有效凭证。找到有效凭证后,即停止搜索。这种系统性搜索称为凭证提供者链。

使用其中的一种标准化凭证提供者时,AWS SDK 会始终尝试在凭证到期时自动续订凭证。无论凭证提供者链中使用哪种提供者,内置的凭证提供者链都会确保应用程序能够刷新您的凭证。SDK 无需额外的代码即可完成此操作。

尽管每个 SDK 使用的链各不相同,但它们通常包括以下来源:

凭证提供者 描述
AWS 访问密钥 IAM 用户的 AWS 访问密钥(例如 AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY)。
使用 Web 身份或 OpenID Connect 联合身份验证 - 承担角色凭证提供者 使用知名的外部身份提供者(IdP)(例如,Login with Amazon、Facebook、Google 或任何其他 OpenID Connect (OIDC) 兼容的 IdP)登录。使用来自 AWS Security Token Service(AWS STS)的 JSON Web 令牌(JWT)代入 IAM 角色的权限。
IAM Identity Center 凭证提供者 从 AWS IAM Identity Center 中获取凭证。
代入角色凭证提供者 具有 IAM 角色的权限即可访问其他资源。(检索角色的临时凭证,然后使用该凭证)。
容器凭证提供者 Amazon Elastic Container Service(Amazon ECS)和 Amazon Elastic Kubernetes Service(Amazon EKS)凭证。容器凭证提供者为客户的容器化应用程序获取凭证。
进程凭证提供者 自定义凭证提供者。从外部来源或流程(包括 IAM Roles Anywhere)获取您的凭证。
IMDS 凭证提供者 Amazon Elastic Compute Cloud(Amazon EC2)实例配置文件凭证。将 IAM 角色与您的每个 EC2 实例相关联。在该实例上运行的代码就可以使用该角色的临时凭证。凭证通过 Amazon EC2 元数据服务提供。

对于链中的每个步骤,都有多种分配设置值的方法。在代码中指定的设置值始终优先。但是,还有 环境变量使用共享的 config 和 credentials 文件进行 AWS SDK 和工具全局配置。有关更多信息,请参阅 设置的优先级

特定于 SDK 和工具的凭证提供者链

要直接访问 SDK 或工具的特定凭证提供者链详细信息,请从以下列表中选择您的 SDK 或工具: