2012-03-08 2 views
2

3 개의 버킷이 포함 된 AWS S3 계정이 있습니다. 새 사용자의 액세스 코드를 생성하여 버킷에 액세스하고 파일을 추가/삭제할 수 있어야합니다 (바람직하게는 자신 만이 아니라 거래 차단기).여러 명의 사용자에게 단일 Amazon S3 계정에 대한 액세스 권한을 부여하고 누가 파일을 추가했는지 확인하려면 어떻게합니까?

나는 IAM을 사용하여 새로운 사용자에게 액세스 권한을 부여하는 데까지 이르렀습니다. 그러나 AWS SDK를 사용하여 PHP에서 업로드 된 객체의 메타 데이터를 읽을 때 소유자는 기본 AWS 계정으로 돌아옵니다.

나는 페이지의 페이지를 읽었으나 파일의 소유자 (또는 업 로더)가 누구인지를 결정하는 것과 관련된 것을 발견하지 못했습니다.

대단히 감사드립니다.

감사합니다.

답변

2

유일한 문제는 업로드 된 파일의 소유자를 찾는 것입니다.

업로드 된 파일의 메타 데이터로 소유자 정보를 전달할 수 있습니다. 업로드하는 동안 PHP 코드에서 http://docs.amazonwebservices.com/AmazonS3/latest/dev/UsingMetadata.html

을 확인 :

// 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를 더 많은 정보를 원하시면.

+0

감사합니다. 콘텐츠가 버킷에 추가되는 방식에 대해 좀 더 자세히 설명 했어야합니다. 다양한 사용자가 사용자 정의 업 로더가 아닌 Panic의 Transmit4를 사용하여 파일/객체를 버킷에 추가합니다. – HelloPablo

관련 문제