簡體   English   中英

PHP Amazon SDK,S3 Bucket Access拒絕

[英]PHP Amazon SDK, S3 Bucket Access Denied

我第一次嘗試使用PHP AWS SDK(“aws / aws-sdk-php”:“^ 3.19”)來使用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代碼是:

<?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'
    ));

但我得到這個錯誤:

在“ http://s3-eu-west-1.amazonaws.com/myfirstbucket-jeremyc/text.txt ”上執行“PutObject”時出錯; AWS HTTP錯誤:客戶端錯誤:PUT http://s3-eu-west-1.amazonaws.com/myfirstbucket-jeremyc/text.txt導致403 Forbidden響應

你知道我哪里錯了嗎?

提前致謝 !

您正在為新對象設置ACL,但您還沒有允許s3:PutObjectAcl

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM