我希望从Colab应用程序中获得访问我的文件的正确权限设置方面的帮助。
目标
我希望能够从运行";任意样式的样式转移";Tensorflow演示。
情况
我设置了一个GCS存储桶,将其公开,并能够检索文件并在演示中使用它们。
为了避免公开访问GCS存储桶,我删除了allUsers
,并更改为与Colab和GCS相关的帐户/电子邮件。
这导致了以下错误消息:
错误消息
Exception: URL fetch failure on https://storage.googleapis.com/01_bucket-02/Portrait-Ali-02-PXL_20220105_233524809.jpg: 403 -- Forbidden
其他方法
我正在努力理解我应该如何处理这件事。
是URL问题吗?
"经过身份验证的URL"导致了上述403错误。
https://storage.cloud.google.com/01_bucket-02/Portrait_82A6118_r01.png
和gsutil
链接:
gs://01_bucket-02/Portrait_82A6118_r01.png
返回此错误消息:
Exception: URL fetch failure on gs://01_bucket-02/Portrait_82A6118_r01.png: None -- unknown url type: gs
身份验证设置
IAM我在项目中有一个服务帐户,还有我的用户帐户(电子邮件:d@arrovox.com(,它与Colab和GCP帐户都有关联。
服务帐户角色为Storage Admin
。服务帐户继承自项目。我的用户帐户,我的电子邮件,是Storage Object Viewer
评估
似乎Authenticated URL
是正确的,这是一个权限问题。
这只是关于在GCS中设置正确的权限,还是在尝试返回GCS URL处的图像之前,我需要调用代码中的任何内容?
我非常感谢在如何解决此问题方面提供的任何帮助或建议。
感谢
doug
storage.objects.get
是从GCS查看文件的需求,但看起来您的用户帐户或电子邮件已经拥有了正确的权限。
我应该如何知道我的帐户拥有正确的权限?
我认为有一个简单的解决方案。
- 复制经过身份验证的URL
- 粘贴在任何网站上并进行搜索
如果您的当前帐户没有正确的权限,将返回@Gmail-account does not have storage.objects.get access to the Google Cloud Storage object.
或者,您可以访问bucket详细信息的权限,以检查您的电子邮件和服务是否在那里,并具有正确的角色。