Chr*_*phe 78 google-cloud-storage
我通过SSH登录到GCE实例.从那里我想借助服务帐户访问存储:
GCE> gcloud auth list
Credentialed accounts:
- 1234567890-compute@developer.gserviceaccount.com (active)
Run Code Online (Sandbox Code Playgroud)
我首先确保此服务帐户在我正在处理的项目的权限中被标记为"可以编辑".我还确保在存储桶上写入ACL,我希望他复制文件:
local> gsutil acl ch -u 1234567890-compute@developer.gserviceaccount.com:W gs://mybucket
Run Code Online (Sandbox Code Playgroud)
但是以下命令失败:
GCE> gsutil cp test.txt gs://mybucket/logs
Run Code Online (Sandbox Code Playgroud)
(我还确保在"mybucket"下创建"logs").
我得到的错误信息是:
Copying file://test.txt [Content-Type=text/plain]...
AccessDeniedException: 403 Insufficient Permission 0 B
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
jte*_*ace 102
另一个需要注意的是确保在创建GCE VM时设置适当的范围.即使VM附加了服务帐户,也必须为其分配devstorage范围才能访问GCS.
例如,如果您使用devstorage.read_only作用域创建了VM ,则即使您的服务帐户具有写入存储桶的权限,尝试写入存储桶也会失败.你需要devstorage.full_control或devstorage.read_write.
有关详细信息,请参阅准备实例以使用服务帐户一节.
小智 42
gsutil config -b
然后浏览它提供的URL, [CLICK Allow]
然后复制验证码并粘贴到终端.
Jav*_*ini 38
您必须使用具有该项目所需权限的帐户登录:
gcloud auth login
Run Code Online (Sandbox Code Playgroud)
小智 14
Run Code Online (Sandbox Code Playgroud)
我已经写了这个问题的答案,因为我不能发表评论:
如果在某些情况下运行gsutil带sudo前缀的命令,也会发生此错误.
| 归档时间: |
|
| 查看次数: |
45343 次 |
| 最近记录: |