

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

# 了解 适用于 PHP 的 AWS SDK 版本 3 中的默认凭证提供者链
<a name="guide_credentials_default_chain"></a>

默认凭证提供程序链由 SDK 调用的一系列内置凭证提供程序组成。它由 [defaultProvider](defaultprovider-provider.md) 凭证提供程序函数实现，不带任何参数。找到有效凭证后，搜索即告停止。

按以下 适用于 PHP 的 AWS SDK 顺序执行凭证提供程序：
+ [**`env` 提供程序**](env-provider.md) - SDK 搜索[已设置为环境变量的AWS 访问密钥](https://docs.aws.amazon.com/sdkref/latest/guide/feature-static-credentials.html)。
+ [**`assumeRoleWithWebIdentityCredentialProvider` 提供程序**](assume-role-with-web-identity-provider.md) - SDK 搜索 IAM 角色和 Web 身份令牌文件设置。
+ 在链的此时刻，SDK 在共享 AWS `config`和`credentials`文件中查找配置。SDK 在“默认”配置文件下查找配置，但如果设置了 `AWS_PROFILE` 环境变量，SDK 将使用其命名配置文件值。
  +  [**`sso` 提供程序**](sso-provider.md) - SDK 在共享 `config` 文件中查找 [IAM Identity Center 配置设置](https://docs.aws.amazon.com/sdkref/latest/guide/feature-sso-credentials.html#sso-token-config)。
  +  [**`login provider`**](login-provider.md)-SDK 在共享`config`文件中查找 AWS 控制台登录会话配置设置。
  + [**`process` 提供程序**](process-provider.md) - SDK 在共享 `credentials` 文件中查找 `credential_process` 设置。
  + [**`ini`提供商**](ini-provider.md)-软件开发工具包在共享`credentials`文件中查找 AWS 证书或 IAM 角色信息。
  + [**`process` 提供程序**](process-provider.md) - SDK 在共享 `config` 文件中查找 `credential_process` 设置。
  + [**`ini`提供商**](ini-provider.md)-软件开发工具包在共享`config`文件中查找 AWS 证书或 IAM 角色信息。
+ [**`ecsCredentials` 提供程序**](ecscredentials-provider.md) - SDK 查找环境变量 `AWS_CONTAINER_CREDENTIALS_RELATIVE_URI `或 `AWS_CONTAINER_CREDENTIALS_FULL_URI`，这些变量会提供获取临时凭证所需的信息。
+ [**`instanceProfile` 提供程序**](instanceprofile-provider.md) - SDK 使用 EC2 实例元数据服务来获取实例配置文件中指定的 IAM 角色。SDK 根据角色信息获取临时凭证。

**注意**  
系统会自动记住默认提供程序的结果。

你可以在 GitHub [源代码中查看链的代码](https://github.com/aws/aws-sdk-php/blob/0a99dab427f0a1c082775301141aeac3558691ad/src/Credentials/CredentialProvider.php#L77)。