0

ユーザーが自分のバケットにアップロードするファイルに Open/Download 権限を付与する方法を見つけようとしています。私はこれを読んでいました:アマゾン S3 バケット ポリシー - リファラーによるアクセスを制限しますが、クエリ文字列認証を介して URL が生成される場合は制限せず、それを使用して紹介ベースのダウンロードを実装しましたが、私がやろうとしているのは: ユーザー A がファイルをアップロードする、ユーザー A とルートのみが上記のファイルにアクセスできます。ユーザー B がファイルをアップロードすると、ユーザー B とルートだけがそのファイルにアクセスできます。

各ファイルのメタデータにアカウント ID を既に追加しています。それを認証に使用することは可能ですか?if($s3->get_object_metadata('account_id', $file))=='123'{provide access}? を実行しますか?

4

1 に答える 1

1

いくつかのこと。

  1. まず、神様の愛のために、AWS SDK for PHP 2に移行してください。SDK 1.x は間もなくリリースされ、しばらく更新されていません。

  2. これが完了したら、S3Client::putBucketPolicy()を使用して、正規ユーザー ID (別名、アカウント ID) によってバケットへのアクセスを許可できます。そうすれば、アクセス制御を管理する責任を S3 サービスに押し戻すことができます。ユーザーがオブジェクトにアクセスしようとすると、200 (201、204、304、307) が返されるか、アクセスが許可されていない場合は 403 が返されます。

  3. SDK 1.x を使用することを選択した場合、同等のメソッドはAmazonS3::set_bucket_policy()です。

于 2013-08-03T05:59:29.100 に答える