【发布时间】:2017-01-03 01:21:55
【问题描述】:
我正在使用 Google Cloud DNS REST API(带有 Ruby REST 客户端)并且使用我的 google 服务帐户收到 403 错误。当我在我的个人管理员帐户下使用云控制台管理员时,这可以正常工作。
我的服务帐户具有“所有者”权限,因此我认为我不应该收到 403 错误。
{"response":"{
"error ": { "errors ":
[ { "domain": "global ",
"reason ": "forbidden ",
"message ": "Forbidden " } ],
"code ": 403,
"message ": "Forbidden " }
不幸的是,这个错误并没有说明我收到 403 的原因。
【问题讨论】:
-
几乎可以肯定是用户凭据错误。您可以在developers.google.com/apis-explorer/#search/dns/dns/v1 验证凭据吗?
-
我不确定如何在该 UI 中验证我的服务帐户凭据?我已经成功验证了我的个人凭据,并且工作正常。同意这可能是一些凭据错误。只是不太确定如何解决。例如,我可以使用相同的凭据启动 Google Cloud 实例。
-
抱歉,您似乎无法通过服务帐户凭据轻松使用 API Explorer。您是否将相关 IAM 角色授予服务帐户?请参阅 cloud.google.com/compute/docs/access/…。
-
是的,我已将所有者授予服务帐户。 ``` gcloud iam service-accounts get-iam-policy redacted@redacted.iam.gserviceaccount.com 绑定:-成员:-serviceAccount:redacted@redacted.iam.gserviceaccount.com 角色:角色/编辑器-成员:-serviceAccount: redacted@redacted.iam.gserviceaccount.com 角色:角色/iam.serviceAccountActor - 成员:- serviceAccount:redacted@redacted.iam.gserviceaccount.com 角色:角色/所有者```
标签: rest dns google-cloud-platform