403:需要权限 iam.serviceAccounts.create 对项目 projects/xyz 执行此操作

cod*_*efx 10 google-cloud-platform

我正在尝试使用 Google Cloud api 创建一个 ServiceAccount。我是代表用户进行身份验证的 Oauth 客户端。我正在使用正确的范围。我仍然收到错误403: Permission iam.serviceAccounts.create is required to perform this operation on project projects/xyz

此代码以前可以使用。我看到新文档也提到了这一点;https://cloud.google.com/iam/reference/rest/v1/projects.serviceAccounts/create

我的问题是我做错了什么。我该如何解决这个问题?

Kee*_*asa 7

要允许用户管理服务帐户,请授予以下角色之一:

  • 服务帐户用户( roles/iam.serviceAccountUser):授予获取、列出或模拟服务帐户的权限。
  • 服务账户管理员( roles/iam.serviceAccountAdmin):包括服务账户用户权限,还授予在服务账户上创建、更新、删除以及设置或获取 Cloud IAM 策略的权限。

根据问题,要创建服务帐户,至少必须向用户授予服务帐户管理员角色 ( roles/iam.serviceAccountAdmin) 或编辑者原始角色 ( roles/editor)。

由于您尚未提供代码,请执行以下操作。

  1. 检查您的服务帐号是否具有上述角色。如果没有,请添加它们
  2. 检查您是否提供了GOOGLE_APPLICATION_CREDENTIALS正确的信息。
  3. 根据您的编程语言,尝试此处给出的示例代码。


rjb*_*bez 5

这真的很旧,但对于其他人来说,这可能是由于之前的尝试失败造成的。这个错误仍然存​​在,即使是一年后,之前失败的尝试似乎传播了这个错误。如果您更改服务帐户的名称,它通常可以工作。