&引用;访问被拒绝。提供的范围未经授权”;尝试使用REST API公开对象时出错
我正在尝试设置Google云存储桶中单个对象的权限,以使它们可以公开查看,如下所示。当我尝试使用我们的应用程序服务帐户发出这些请求时,它会失败,并显示HTTP status&引用;访问被拒绝。提供的范围未经授权”;尝试使用REST API公开对象时出错,rest,google-cloud-platform,google-cloud-storage,google-cloud-iam,Rest,Google Cloud Platform,Google Cloud Storage,Google Cloud Iam,我正在尝试设置Google云存储桶中单个对象的权限,以使它们可以公开查看,如下所示。当我尝试使用我们的应用程序服务帐户发出这些请求时,它会失败,并显示HTTP status403和以下消息: 访问被拒绝。未授权提供的范围 其他请求也可以。当我尝试做同样的事情,但为我的个人帐户提供一个令牌时,PUT请求对象的ACL起作用。。。大约50%的时间(其余时间是503错误,可能相关也可能无关) 更改服务帐户的IAM策略以匹配我的策略(它通常具有存储管理员和其他一些附带角色)没有帮助,即使我给它指定了总体所
403
和以下消息:
访问被拒绝。未授权提供的范围
其他请求也可以。当我尝试做同样的事情,但为我的个人帐户提供一个令牌时,PUT
请求对象的ACL起作用。。。大约50%的时间(其余时间是503
错误,可能相关也可能无关)
更改服务帐户的IAM策略以匹配我的策略(它通常具有存储管理员和其他一些附带角色)没有帮助,即使我给它指定了总体所有者IAM角色,这也是我的角色
既不使用
XML
API,也不使用JSON
版本,两者都不会有区别。请求有时与我的个人凭据一起工作,这向我表明请求的格式没有错误,但到目前为止,我肯定还忽略了其他一些内容。有什么想法吗?您是否在该存储桶上使用统一的存储桶级别访问策略?您是否在相同的环境中为用户和服务帐户凭据运行该策略?否则,可能是GCE实例的作用域不足。您检查过GCS作用域吗?@OliverAragon不,我们不能只创建一个公共存储桶,因为存储桶中的文件并非都是公共的。@GuillemXercavins是的,我想是的。