拒绝访问(&Q;)。提供的作用域未经授权&尝试使用睡觉接口公开对象时出错 [英] "Access Denied. Provided scope(s) are not authorized" error when trying to make objects public using the REST API

查看:34
本文介绍了拒绝访问(&Q;)。提供的作用域未经授权&尝试使用睡觉接口公开对象时出错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试对Google云存储存储桶中的单个对象设置权限,使它们可以公开查看,遵循the steps indicated in Google's documentation。当我尝试使用我们的应用程序服务帐户发出这些请求时,失败并显示HTTP状态403和以下消息:

访问被拒绝。提供的范围未经授权。

其他请求工作正常。当我尝试做同样的事情,但是通过为我的个人帐户提供令牌时,对对象的ACL的PUT请求起作用了……大约50%的时间(当时的睡觉是503错误,可能与此相关,也可能不相关)。

将服务帐户的IAM策略更改为与我的相匹配-它通常具有存储管理员和其他一些附带角色-没有任何帮助,即使我授予它"总体所有者IAM"角色(这就是我拥有的角色)。

无论是使用XMLAPI还是使用JSON版本都没有区别。该请求有时与我的个人凭据一起工作,这向我表明该请求的格式并不正确,但到目前为止,肯定还有一些我忽略了的东西。有什么想法吗?

推荐答案

如果您使用的是默认计算引擎服务帐户,请检查服务帐户的范围。默认情况下,范围是受限的,对于GCS,它是只读的。清除缓存时使用rm-r~/.gsutil清除缓存

这篇关于拒绝访问(&Q;)。提供的作用域未经授权&尝试使用睡觉接口公开对象时出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆