HelloPablo
HelloPablo

Reputation: 625

How do I give multiple users access to a single Amazon S3 account AND determine who's added a file?

I have an AWS S3 account which contains 3 buckets. I need to be able to generate access codes for a new user so that they can access the buckets and add/delete files (preferably only their own, but not a deal breaker).

I have managed to get as far as granting access to new users using IAM. However, when I read the metadata of uploaded objects (in PHP using the AWS SDK) the owner comes back as the main AWS account.

I've read pages of documentation but can't seem to find anything relating to determining who the owner (or uploader) of the file was.

Any advice or direction massively appreciated!

Thanks.

Upvotes: 5

Views: 1466

Answers (1)

shashankaholic
shashankaholic

Reputation: 4122

If your only problem is to find the owner of Uploaded file.

You can pass the owner info as meta-data of uploaded file. Check http://docs.amazonwebservices.com/AmazonS3/latest/dev/UsingMetadata.html

In php code while uploading :

// 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);

Check php api for more info.

Upvotes: 3

Related Questions