为了账号安全,请及时绑定邮箱和手机立即绑定

谷歌存储签名网址公开阅读

谷歌存储签名网址公开阅读

Go
MMMHUHU 2022-01-10 17:27:06
我正在尝试为公共图像创建签名 URL是否可以在 URL 上设置权限级别,或者我是否需要在文件上传后进行设置?我试图通过传递一些标题来做到这一点,但我不确定正确的方法。opts := &storage.SignedURLOptions{    GoogleAccessID: googleAccessID,    PrivateKey:     data,    Method:         "PUT",    Expires:        time.Now().Add(time.Hour * 1),    ContentType:    r.MimeType,    Headers:        []string{"x-goog-acl"},or maybe Headers:        []string{"x-goog-acl:public-read"},}那么客户端也需要设置标头吗?
查看完整描述

2 回答

?
手掌心

TA贡献1942条经验 获得超3个赞

使用签名 URL 的任何人都以签署 URL 的实体的权限行事。假设您创建服务帐户 A 并使用 A 的私钥对 URL 进行签名。当最终用户尝试使用该 URL 获取资源时,GCS 将检查服务帐户 A 是否具有读取权限。


查看完整回答
反对 回复 2022-01-10
?
慕码人2483693

TA贡献1860条经验 获得超9个赞

您可以在创建新的存储桶编写器时执行此操作。您可以设置标题并创建 ACLRule。我使用“google.golang.org/cloud/storage”包在我在 Google App Engine 上托管的应用程序中执行此操作。希望这可以帮助。


wc := bucket.Object(filename).NewWriter(ctx)

wc.ContentType = contentType

wc.CacheControl = "public, max-age=86400"

wc.ObjectAttrs.ACL = append(wc.ObjectAttrs.ACL, storage.ACLRule{Role: storage.RoleReader, Entity: storage.AllUsers})



查看完整回答
反对 回复 2022-01-10
  • 2 回答
  • 0 关注
  • 149 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号