GSResponseError:GSResponseError:403写入Bucket

时间:2016-04-01 07:30:52

标签: python google-app-engine google-cloud-storage google-compute-engine google-cloud-platform

我正在尝试将计算引擎实例中的文件写入存储桶(两者都属于同一个项目)。

我使用服务帐户跟踪了此处提到的步骤Python Example

但它出现以下错误:

GSResponseError: GSResponseError: 403 Forbidden
[Fri Apr 01 07:12:11 2016] [error] <?xml version='1.0' encoding='UTF-8'?><Error><Code>AccessDenied</Code><Message>Access denied.</Message><Details>Provided scope(s) are not authorized</Details></Error>

但是当我尝试使用相同的凭据,代码和存储桶从本地计算机写入存储桶时,它会写入文件。

我尝试过向服务帐户授予每个可能的权限,将帐户添加到存储桶中。

1 个答案:

答案 0 :(得分:1)

最常见的原因是创建的GCE实例没有必要的云存储范围。

您可以在此处阅读有关范围的信息: https://cloud.google.com/compute/docs/authentication#settingupinstances

具体来说,在这种情况下,实例是使用https://www.googleapis.com/auth/devstorage.read_only创建的,不允许创建存储桶。

您可以在此处查看可用范围的完整列表: https://cloud.google.com/storage/docs/authentication#oauth-scopes