S3を使用するには、初めてPHP AWS SDK( "aws/aws-sdk-php": "^ 3.19")を使用します。PHP Amazon SDK、S3バケットアクセスが拒否されました
私はバケツ作成:私はポリシーを作成し
'をmyfirstbucket-jeremycを':
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:DeleteObject"
],
"Resource": [
"arn:aws:s3:::myfirstbucket-jeremyc/*"
]
}
]
}
私はグループにポリシーを適用し、その後でユーザーのS3-myfirstbucket-jeremyc」を作成このグループ。
<?php
use Aws\S3\S3Client;
use Aws\S3\Exception\S3Exception;
error_reporting(E_ALL);
require(__DIR__ . '/vendor/autoload.php');
$s3Client = S3Client::factory([
'credentials' => [
'key' => $_SERVER['AWS_S3_CLIENT_KEY'],
'secret' => $_SERVER['AWS_S3_CLIENT_SECRET']
],
'region' => 'eu-west-1',
'version' => 'latest',
'scheme' => 'http'
]);
$result = $s3Client->putObject(array(
'Bucket' => 'myfirstbucket-jeremyc',
'Key' => 'text.txt',
'Body' => 'Hello, world!',
'ACL' => 'public-read'
));
しかし、私はこのエラーを取得:
私のPHPコードがある
Error executing "PutObject" on " http://s3-eu-west-1.amazonaws.com/myfirstbucket-jeremyc/text.txt "; AWS HTTP error: Client error: PUT http://s3-eu-west-1.amazonaws.com/myfirstbucket-jeremyc/text.txt resulted in a 403 Forbidden response
を私が間違っているどこに知っていますか?
ありがとうございます!
ありがとうございます!それは、ACLの行をコメントしたり、ポリシーに "s3:PutObjectAcl"を追加して動作します。 – JeremyC