aws iam php,使用 AWS 账户或 IAM 用户临时凭证发出请求 – 适用于 PHP 的 AWS 开发工具包 - Amazon Simple Storage Service...

本指南不再进行更新。有关当前信息和说明,请参阅新的 Amazon S3 用户指南。

使用 AWS 账户或 IAM 用户临时凭证发出请求 – 适用于 PHP 的 AWS 开发工具包

本主题介绍如何使用版本 3 的适用于 PHP 的 AWS 开发工具包中的类请求临时安全凭证并使用这些凭证访问 Amazon S3。此部分假定您已按照使用适用于 PHP 的 AWS 开发工具包和运行 PHP 示例中的说明执行操作,并正确安装了适用于 PHP 的 AWS 开发工具包。

IAM 用户或 AWS 账户可使用版本 3 的适用于 PHP 的 AWS 开发工具包请求临时安全凭证。之后,它可使用临时凭证访问 Amazon S3。这些凭证将在会话持续时间结束时到期。

默认情况下,会话的持续时间为一个小时。如果您使用了 IAM 用户凭证,则可在请求临时安全凭证时指定持续时间(15 分钟到角色的最长会话持续时间)。有关临时安全凭证的更多信息,请参阅《IAM

用户指南》中的临时安全凭证。有关发出请求的更多信息,请参阅提出请求。

注意

如果您使用 AWS 账户安全凭证获取临时安全凭证,则临时安全凭证的有效期仅为一个小时。只有当您使用 IAM 用户证书来请求会话时,您才可以指定会话持续时间。

以下 PHP 示例使用临时安全凭证列出指定存储桶中的对象键。该示例将为默认一小时的会话获取临时安全凭证,然后使用这些凭证向 Amazon S3 发送经身份验证的请求。有关运行本指南中的

PHP 示例的信息,请参阅运行 PHP 示例。

如果要使用 IAM 用户凭证测试示例,则需要在 AWS 账户下创建一个 IAM 用户。有关如何创建 IAM 用户的信息,请参阅《IAM 用户指南》中的创建您的第一个 IAM 用户和管理员组。有关在使用 IAM 用户凭证请求会话时设置会话持续时间的示例,请参阅使用联合身份用户临时凭证发出请求 – 适用于 PHP 的 AWS 开发工具包。require 'vendor/autoload.php';

use Aws\Sts\StsClient;

use Aws\S3\S3Client;

use Aws\S3\Exception\S3Exception;

$bucket = '*** Your Bucket Name ***';

$sts = new StsClient([

'version' => 'latest',

'region' => 'us-east-1'

]);

$sessionToken = $sts->getSessionToken();

$s3 = new S3Client([

'region' => 'us-east-1',

'version' => 'latest',

'credentials' => [

'key' => $sessionToken['Credentials']['AccessKeyId'],

'secret' => $sessionToken['Credentials']['SecretAccessKey'],

'token' => $sessionToken['Credentials']['SessionToken']

]

]);

$result = $s3->listBuckets();

try {

// Retrieve a paginator for listing objects.

$objects = $s3->getPaginator('ListObjects', [

'Bucket' => $bucket

]);

echo "Keys retrieved!" . PHP_EOL;

// List objects

foreach ($objects as $object) {

echo $object['Key'] . PHP_EOL;

}

} catch (S3Exception $e) {

echo $e->getMessage() . PHP_EOL;

}

相关资源

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值