我开发了一个页面,任何匿名用户都可以将文件上传到我的GCS Bucket。存储桶权限为“All Users: WRITER
”,这是用于创建上传网址的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 ,使用this tool添加了具有READER权限的用户电子邮件。
问题在于:如果我使用GCS浏览器上传文件,则会应用默认对象ACL。
当使用AppEngine中的createUploadURL上传文件时,对象的应用acls是系统默认值(私有),而不是我的自定义默认值。
我做错了什么?