0

希望有人能帮忙。我是 AWS 开发工具包的新手,我们有存储桶和子存储桶。我有正确的访问密钥和秘密,因为我可以使用 Cyber​​Duck 登录并修改/删除存储桶中的文件,但是当我尝试列出存储桶内容时,我得到一个 AccessDenied / 403 错误代码。

这是我目前正在使用的代码,看起来非常简单。我只是不知道我的帐户中是否还有其他需要做的事情(其他权限)阻止我列出存储桶内容。需要注意的一件事是,如果我执行 $client->ListBuckets(),我可以看到所有可用的存储桶,但它只是被阻止的迭代器部分。

require 'vendor/autoload.php';

use Aws\Common\Aws;
use Aws\Common\Iterator\AwsResourceIterator;

$aws = Aws::factory(array(
    'key' => '###my_key###',
    'secret' => '###my_secret###'
));

$client = $aws->get('s3');

$iterator = $client->getIterator('ListObjects', array('Bucket' => $bucket));

foreach ($iterator as $object) {
    echo $object['Key'] . "\n";
}

这是我得到的错误:

Fatal error: Uncaught Aws\S3\Exception\AccessDeniedException: AWS Error Code: AccessDenied, Status Code: 403, AWS Request ID: 195F81351F864AE4, AWS Error Type: client, AWS Error Message: Access Denied, User-Agent: aws-sdk-php2/2.8.30 Guzzle/3.9.3 curl/7.38.0 PHP/5.6.16 ITR thrown in /Volumes/localdev/www/aws/vendor/aws/aws-sdk-php/src/Aws/Common/Exception/NamespaceExceptionFactory.php on line 91

任何帮助将不胜感激!

4

1 回答 1

0

由于我没有对我们公司的 AWS 控制台的管理员访问权限,因此我继续为自己弄了一个 s3 帐户,一切正常。我将与其他开发人员交谈,看看我们是否有任何需要修复的权限,但现在一切都按预期工作。在深入研究之前,我应该先这样做。我只是认为发送给我的凭据足够全球性:(

于 2016-07-03T21:02:59.457 回答