拒绝访问(&Q;)。提供的作用域未经授权&尝试使用睡觉接口公开对象时出错 [英] "Access Denied. Provided scope(s) are not authorized" error when trying to make objects public using the REST API
本文介绍了拒绝访问(&Q;)。提供的作用域未经授权&尝试使用睡觉接口公开对象时出错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试对Google云存储存储桶中的单个对象设置权限,使它们可以公开查看,遵循the steps indicated in Google's documentation。当我尝试使用我们的应用程序服务帐户发出这些请求时,失败并显示HTTP状态403
和以下消息:
访问被拒绝。提供的范围未经授权。
其他请求工作正常。当我尝试做同样的事情,但是通过为我的个人帐户提供令牌时,对对象的ACL的PUT
请求起作用了……大约50%的时间(当时的睡觉是503
错误,可能与此相关,也可能不相关)。
将服务帐户的IAM策略更改为与我的相匹配-它通常具有存储管理员和其他一些附带角色-没有任何帮助,即使我授予它"总体所有者IAM"角色(这就是我拥有的角色)。
无论是使用XML
API还是使用JSON
版本都没有区别。该请求有时与我的个人凭据一起工作,这向我表明该请求的格式并不正确,但到目前为止,肯定还有一些我忽略了的东西。有什么想法吗?
推荐答案
如果您使用的是默认计算引擎服务帐户,请检查服务帐户的范围。默认情况下,范围是受限的,对于GCS,它是只读的。清除缓存时使用rm-r~/.gsutil清除缓存
这篇关于拒绝访问(&Q;)。提供的作用域未经授权&尝试使用睡觉接口公开对象时出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文