5

3 つのバケットを含む AWS S3 アカウントを持っています。新しいユーザーがバケットにアクセスしてファイルを追加/削除できるように、新しいユーザー用のアクセス コードを生成できる必要があります (できれば自分のファイルのみで、取引を妨げるものではありません)。

IAM を使用して新しいユーザーにアクセスを許可するところまで到達しました。ただし、アップロードされたオブジェクトのメタデータを (AWS SDK を使用して PHP で) 読み取ると、所有者がメインの AWS アカウントとして戻ってきます。

ドキュメントのページを読みましたが、ファイルの所有者 (またはアップローダー) の特定に関連するものは何も見つかりません。

アドバイスや指示は大歓迎です!

ありがとう。

4

1 に答える 1

3

唯一の問題がアップロードされたファイルの所有者を見つけることである場合。

アップロードされたファイルのメタデータとして所有者情報を渡すことができます。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 を確認してください。

于 2012-03-24T06:49:53.413 に答える