我有一个包含 3 个存储桶的 AWS S3 帐户。我需要能够为新用户生成访问代码,以便他们可以访问存储桶并添加/删除文件(最好只有他们自己的,而不是破坏交易的)。
我已经设法使用 IAM 向新用户授予访问权限。但是,当我读取上传对象的元数据(在 PHP 中使用 AWS 开发工具包)时,所有者作为主 AWS 账户返回。
我已阅读文档页面,但似乎找不到与确定文件所有者(或上传者)是谁有关的任何内容。
任何建议或方向都非常感谢!
谢谢。
我有一个包含 3 个存储桶的 AWS S3 帐户。我需要能够为新用户生成访问代码,以便他们可以访问存储桶并添加/删除文件(最好只有他们自己的,而不是破坏交易的)。
我已经设法使用 IAM 向新用户授予访问权限。但是,当我读取上传对象的元数据(在 PHP 中使用 AWS 开发工具包)时,所有者作为主 AWS 账户返回。
我已阅读文档页面,但似乎找不到与确定文件所有者(或上传者)是谁有关的任何内容。
任何建议或方向都非常感谢!
谢谢。
如果您唯一的问题是找到已上传文件的所有者。
您可以将所有者信息作为上传文件的元数据传递。检查http://docs.amazonwebservices.com/AmazonS3/latest/dev/UsingMetadata.html
上传时在php代码中:
// Instantiate the class.
$s3 = new AmazonS3();
$response = $s3->create_object(
$bucket,
$keyname2,
array(
'fileUpload' => $filePath,
'acl' => AmazonS3::ACL_PUBLIC,
'contentType' => 'text/plain',
'storage' => AmazonS3::STORAGE_REDUCED,
'headers' => array( // raw headers
'Cache-Control' => 'max-age',
'Content-Encoding' => 'gzip',
'Content-Language' => 'en-US',
'Expires' => 'Thu, 01 Dec 1994 16:00:00 GMT',
),
'meta' => array(
'uploadedBy' => 'user1',
) )
);
print_r($response);
检查 php api 以获取更多信息。