在 Dataproc 集群中启用其他身份验证范围

Enable additional authentication scopes in a Dataproc cluster

我正在尝试 运行 Dataproc 集群中的 Spark (scala) 作业,该作业需要连接到同一项目中的 Pub/Sub 拉取订阅,但出现错误下面的消息。我假设我的 Dataproc 集群中的机器缺少“https://www.googleapis.com/auth/pubsub”范围。

我可以向 Dataproc 集群的机器添加额外的身份验证范围吗?

Exception in thread "main" com.google.api.client.googleapis.json.GoogleJsonResponseException: 403     Forbidden
{
  "code" : 403,
  "errors" : [ {
  "domain" : "global",
  "message" : "Request had insufficient authentication scopes.",
  "reason" : "forbidden"
} ],
"message" : "Request had insufficient authentication scopes.",
"status" : "PERMISSION_DENIED"
}

PS: 必要时重新创建集群不会有问题。

自定义服务帐户范围目前可在 Cloud Dataproc API 中指定,但不能在 Cloud SDK 或 Developer Console 中指定。它们应该会在下周左右在 Cloud SDK 中公开。

在任何情况下,您都需要重新创建具有指定范围的集群。