Warm tip: This article is reproduced from serverfault.com, please click

google cloud platform-Dataproc 操作失败:INVALID_ARGUMENT:用户无权充当服务帐号

(google cloud platform - Dataproc operation failure: INVALID_ARGUMENT: User not authorized to act as service account)

发布于 2020-08-03 01:10:00

我想从 Cloud Data Fusion 运行管道,但我收到以下错误:

io.cdap.cdap.runtime.spi.provisioner.dataproc.DataprocRuntimeException: Dataproc operation failure: INVALID_ARGUMENT: User not authorized to act as service account 'XXXXXXXX-compute@developer.gserviceaccount.com'. To act as a service account, user must have one of [Owner, Editor, Service Account Actor] roles. See https://cloud.google.com/iam/docs/understanding-service-accounts for additional details.

有人已经遇到过这个错误吗?

Questioner
lucas.coelho
Viewed
0
Alexandre Moraes 2020-08-04 17:12:17

此错误与缺少与用于运行 DataProc 作业的用户/服务帐户相关联服务帐户用户角色( roles/iam.serviceAccountUser) 相关。

为了克服这个错误,你需要去IAM策略控制台,并给予服务帐户的用户角色,如所描述这里,当前用户/服务帐户你正在使用运行作业。如下图所示:

  1. 转到 IAM 和管理控制台
  2. 点击 IAM
  3. 选择你用于运行作业的成员
  4. 点击会员信息右侧钢笔图标
  5. 添加服务帐户用户角色

指出一些重要的主题,服务帐户用于通过服务帐户本身或通过其中的委派用户进行授权的 API 调用。此外,关于模拟服务帐户,具有特定权限的用户可以充当另一个具有执行特定作业所需权限的服务帐户。

注意:在第 3 步中,你还可以roles/iam.serviceAccountUser通过单击 +ADD (在控制台顶部)给特定用户(电子邮件)。然后,编写电子邮件并选择权限。尽管如此,我必须强调,此许可将在项目级别授予。因此,该用户将能够模拟任何现有的服务帐户。