Google Cloud API 服务授权失败 - 禁止访问

Jos*_* MT 9 java google-cloud-storage google-cloud-datastore google-cloud-platform

我目前在尝试通过 Java 客户端访问谷歌云服务时收到以下错误:

Caused by: 
com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 
Forbidden
{
  "code" : 403,
  "errors" : [ {
    "domain" : "global",
    "message" : "xyz.iam.gserviceaccount.com does not have 
    storage.buckets.list access to project 123456.",
    "reason" : "forbidden"
  } ],
  "message" : "xyz.iam.gserviceaccount.com does not have 
storage.buckets.list access to project 123456."
}
Run Code Online (Sandbox Code Playgroud)

到目前为止,我有:

  • 使用谷歌云账号的登录信息安装并授权sdk
  • 将服务帐户 xyz 的 GOOGLE_APPLICATION_CREDENTIALS 添加到我的环境变量以及 json 密钥的路径
  • 给定项目的服务帐户 (xyz) 权限 (123456)
  • 启用对存储 API 和语音 API(未来的预期目标)的权限

如何为给定项目的给定列表或 API 提供对服务帐户的访问权限?

A.Q*_*eue 6

该消息非常具体,不会留下太多疑问,但如果有问题,请分享当前分配给您的服务帐户的角色:

“xyz.iam.gserviceaccount.com 没有项目 123456 的 storage.buckets.list 访问权限。”

可能是您分配给服务帐户的角色https://console.cloud.google.com/iam-admin/iam/project没有 storage.buckets.list访问权限。

为了看具体的角色具有storage.buckets.list访问中,搜索访问https://console.cloud.google.com/iam-admin/roles。这将输出具有此访问权限的角色列表,您可以查看您的服务帐户是否具有其中之一。

  • 角色列表显示此特定角色已启用,但我仍然收到此错误 (2认同)