

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

# AWS SDKs 和 Tools 标准化凭证提供商
<a name="standardized-credentials"></a>

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

**重要**  
并非所有提供商都 SDKs 支持所有提供商，甚至支持提供商内部的所有方面。

**Topics**
+ [了解默认凭证提供者链](#credentialProviderChain)
+ [特定于 SDK 和工具的凭证提供者链](#sdk-chains)
+ [AWS 访问密钥](feature-static-credentials.md)
+ [登录提供商](feature-login-credentials.md)
+ [代入角色提供者](feature-assume-role-credentials.md)
+ [容器提供者](feature-container-credentials.md)
+ [IAM Identity Center 提供商](feature-sso-credentials.md)
+ [IMDS 提供者](feature-imds-credentials.md)
+ [Process 提供者](feature-process-credentials.md)

## 了解默认凭证提供者链
<a name="credentialProviderChain"></a>

所有 SDKs 人都有一系列地点（或来源）供他们检查，以便找到用于向某人提出请求的有效凭证 AWS 服务。找到有效凭证后，搜索即告停止。这种系统性搜索称为凭证提供程序链。

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

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


| 凭证提供者 | 说明 | 
| --- | --- | 
| [AWS 访问密钥](feature-static-credentials.md) | AWS IAM 用户的访问密钥（例如AWS\$1ACCESS\$1KEY\$1ID、和AWS\$1SECRET\$1ACCESS\$1KEY）。 | 
| [使用 Web 身份或 OpenID Connect 进行联合](access-assume-role-web.md#webidentity) - 承担角色凭证提供者 | 使用知名的外部身份提供者（IdP）（例如，Login with Amazon、Facebook、Google 或任何其他 OpenID Connect (OIDC) 兼容的 IdP）登录。使用 () 中的 JSON 网络令牌 (JWT) 假设 IAM 角色的 AWS Security Token Service 权限。AWS STS | 
| [登录凭证提供商](feature-login-credentials.md)  | 获取您已登录的新控制台或现有控制台会话的凭证。 | 
| [IAM Identity Center 凭证提供者](feature-sso-credentials.md) | 从中获取凭证 AWS IAM Identity Center。 | 
| [代入角色凭证提供者](feature-assume-role-credentials.md) | 具有 IAM 角色的权限即可访问其他资源。（检索角色的临时凭证，然后使用该凭证）。 | 
| [容器凭证提供者](feature-container-credentials.md) | Amazon Elastic Container Service（Amazon ECS）和 Amazon Elastic Kubernetes Service（Amazon EKS）凭证。容器凭证提供者为客户的容器化应用程序获取凭证。 | 
| [进程凭证提供者](feature-process-credentials.md) | 自定义凭证提供者。从外部来源或流程（包括 IAM Roles Anywhere）获取您的凭证。 | 
| [IMDS 凭证提供者](feature-imds-credentials.md) | Amazon Elastic Compute Cloud（Amazon EC2）实例配置文件凭证。将 IAM 角色与您的每个 EC2 实例相关联。在该实例上运行的代码就可以使用该角色的临时凭证。凭证通过 Amazon EC2 元数据服务提供。 | 

 对于链中的每个步骤，都有多种分配设置值的方法。在代码中指定的设置值始终优先。但是，还有 [环境变量](environment-variables.md) 和 [使用共享`config`和`credentials`文件进行全局配置 AWS SDKs 和工具](file-format.md)。有关更多信息，请参阅 [设置的优先级](settings-reference.md#precedenceOfSettings)。

## 特定于 SDK 和工具的凭证提供者链
<a name="sdk-chains"></a>

要直接访问 SDK 或工具的**特定**凭证提供者链详细信息，请从以下列表中选择您的 SDK 或工具：
+ [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html) 
+ [适用于 C\$1\$1 的 SDK](https://docs.aws.amazon.com/sdk-for-cpp/latest/developer-guide/credproviders.html)
+ [适用于 Go 的 SDK](https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/configure-gosdk.html) 
+ [适用于 Java 的 SDK](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/credentials-chain.html) 
+ [适用于 JavaScript](https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/setting-credentials-node.html#credchain) 
+ [适用于 Kotlin 的 SDK](https://docs.aws.amazon.com/sdk-for-kotlin/latest/developer-guide/credential-providers.html) 
+ [适用于 .NET 的 SDK](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/creds-assign.html)
+ [适用于 PHP 的 SDK](https://docs.aws.amazon.com/sdk-for-php/latest/developer-guide/guide_credentials.html)
+ [适用于 Python (Boto3) 的 SDK](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html)
+ [适用于 Ruby 的 SDK](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/setup-config.html)
+ [适用于 Rust 的 SDK](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/credproviders.html)
+ [适用于 Swift 的 SDK](https://docs.aws.amazon.com/sdk-for-swift/latest/developer-guide/using-configuration.html)
+ [用于 PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/creds-assign.html)