使用适用于 PHP 的 Amazon SDK 版本 3 凭证提供程序 - 适用于 PHP 的 Amazon SDK
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用适用于 PHP 的 Amazon SDK 版本 3 凭证提供程序

有关 Amazon SDK 的可用凭证机制的参考信息,请参阅 Amazon SDK 和工具参考指南中的凭证和访问

重要

出于安全考虑,我们强烈建议不要使用根账户来进行 Amazon 访问。请务必参阅 IAM 用户指南中的 IAM 中的安全最佳实践,了解最新安全建议。

适用于 PHP 的 Amazon SDK 版本 3 中凭证提供程序的作用是为 SDK 的 Amazon Web Services 服务客户端获取和提供凭证。SDK 使用其获取的凭证对每个请求进行加密签名,从而向服务进行身份验证。凭证通常包含访问密钥(一个访问密钥 ID 和一个秘密访问密钥)。

当您使用临时凭证时,例如设置 IAM Identity Center 身份验证或将运行时配置为代入 IAM 角色时,会话令牌会添加到访问密钥中,从而提供对 Amazon 资源的限时访问权限。

适用于 PHP 的 Amazon SDK 版本 3 中的凭证提供程序是什么?

凭证提供程序是一个函数,该函数返回一个用 GuzzleHttp\Promise\PromiseInterface 实例执行或因 Aws\Credentials\CredentialsInterface 而被拒绝的 Aws\Exception\CredentialsExceptionSDK 提供多种凭证提供程序函数的实现方式,或者您可以实现自己的自定义逻辑来创建凭证或优化凭证加载过程。

凭证提供程序将被传入 credentials 客户端构造函数选项。凭证提供程序是异步的,因此每次调用 API 操作时都会强制对其进行延迟评估。因此,将凭证提供程序函数传递给开发工具包客户端构造函数不会立即验证凭证。如果凭证提供程序未返回凭证对象,将因 Aws\Exception\CredentialsException 拒绝 API 操作。

use Aws\Credentials\CredentialProvider; use Aws\S3\S3Client; // Use the ECS credential provider. $provider = CredentialProvider::ecsCredentials(); // Be sure to memoize the credentials. $memoizedProvider = CredentialProvider::memoize($provider); // Pass the provider to the client $client = new S3Client([ 'region' => 'us-west-2', 'version' => '2006-03-01', 'credentials' => $memoizedProvider ]);