Google Cloud DNS REST上的403错误Api

问题描述:

我使用Google Cloud DNS REST API(使用Ruby REST客户端),并且使用我的Google服务帐户收到403错误。当我在我的个人管理帐户下使用云控制台管理员时,此功能正常工作。Google Cloud DNS REST上的403错误Api

我的服务帐户拥有“所有者”权限,因此我认为我不应该收到403错误。

{"response":"{ 
"error ": {  "errors ": 
[ {  "domain": "global ", 
    "reason ": "forbidden ", 
    "message ": "Forbidden " } ], 
"code ": 403, 
"message ": "Forbidden " } 

不幸的误差不能够解释为什么我收到一个403

+0

几乎可以肯定用户凭证的错误。您可以通过https://developers.google.com/apis-explorer/#search/dns/dns/v1/验证凭据吗? – jarmod

+0

我不确定如何在该UI中验证我的服务帐户凭据?我已成功验证了我的个人凭证,并且工作正常。 同意这可能是一些证书错误。只是不太确定如何解决。例如,我可以使用相同的凭据启动Google Cloud实例。 – Doug

+0

道歉,看起来您无法轻松使用带有服务帐户凭据的API Explorer。您是否将相关IAM角色授予该服务帐户?请参阅https://cloud.google.com/compute/docs/access/create-enable-service-accounts-for-instances。 – jarmod

任何光线有2个“所有者”的权限是在谷歌云IAM控制台可用。

正确的通过点击访问:

IAM &管理 - > IAM - > [服务帐户] - >(角色下拉) - >所有者(然后点击保存)

的一个没有帮助对我来说是在:

IAM &管理 - >服务帐户 - > [服务帐户] - >权限 - >添加成员 - >(服务帐户类型) - >(选择所有者角色)

我觉得sec ond一个不起作用?或者什么都不做。

+0

后者不会将角色分配给服务帐户。相反,它授予第三方权限,以便他们可以访问服务帐户(作为所有者,编辑者,查看者或服务帐户角色)。 – jarmod