匿名ユーザーが自分の GCS バケットにファイルをアップロードできるページを開発しました。バケットのアクセス許可は " All Users: WRITER
" で、アップロード URL を作成するための AppEngine コードは次のとおりです。
BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService();
UploadOptions uploadOptions = UploadOptions.Builder.withGoogleStorageBucketName(FULL_BUCKET_NAME);
return blobstoreService.createUploadUrl(FULL_CALLBACK_URL, uploadOptions);
ドキュメントによると:
認証されていない(匿名の) ユーザーがオブジェクトをアップロードした場合 (バケットが AllUsers グループに WRITE または FULL_CONTROL 権限を付与している場合に可能)、上記のようにデフォルトのバケット ACL がオブジェクトに適用されます。
このプロジェクトでは、デフォルトのオブジェクト ACLを変更し、このツールを使用して READER 権限を持つユーザーの電子メールを追加しました。
ここに問題があります。GCS ブラウザを使用してファイルをアップロードすると、デフォルトのオブジェクト ACL が適用されます。
ファイルが AppEngine から createUploadURL を使用してアップロードされると、オブジェクトに適用される ACL はシステムのデフォルト (プライベート) であり、カスタムのデフォルトのものではありません。
私は何を間違っていますか?