yun*_*ain 38 google-cloud-storage google-cloud-platform meteor-slingshot
我试图允许匿名(或仅从我的应用程序域)读取我的存储桶中的文件的访问权限.
当我试图读取我得到的文件时
```
<Error>
<Code>AccessDenied</Code>
<Message>Access denied.</Message>
<Details>
Anonymous users does not have storage.objects.get access to object.
</Details>
</Error>
Run Code Online (Sandbox Code Playgroud)
```
我还尝试在Google云端控制台中添加具有对象默认权限对话框的域.这给了我错误"您的一个权限无效.请确保您为组和用户以及域的域输入授权ID或电子邮件"
我还研究了为桶做ACL public-read.我唯一的问题是它删除了我对存储桶的所有权.我需要拥有该所有权,因为我希望允许从特定的Google Access ID上传.
Tra*_*rla 40
您可以使用gsutil将存储桶中创建的新对象公开读取,而无需删除您的所有权.要使在桶中创建的新对象可公开读取:
gsutil defacl ch -u AllUsers:R gs://yourbucket
如果存储桶中存在要公开读取的现有对象,则可以运行:
gsutil acl ch -u AllUsers:R gs://yourbucket/**
ada*_*een 35
您也可以从控制台执行此操作.
https://console.cloud.google.com/storage/
选择编辑存储桶权限:
在"添加成员"选项中输入"allUsers",在"存储对象查看器"中输入角色.然后转到"选择角色"并将"存储"和"存储对象旧版"设置为"存储对象视图"
使用IAM角色,使文件可读,并阻止列表:
gsutil iam ch allUsers:legacyObjectReader gs://bucket-name
Run Code Online (Sandbox Code Playgroud)
要使文件可读,并允许列出:
gsutil iam ch allUsers:objectViewer gs://bucket-name
Run Code Online (Sandbox Code Playgroud)
为allUsers添加权限。
公开共享后,链接图标将出现在“公共访问权限”列中。您可以单击此图标来获取对象的URL。
从Google Cloud Docs 公开数据的说明
| 归档时间: |
|
| 查看次数: |
21498 次 |
| 最近记录: |