首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Google中使用非默认服务帐户

在Google中使用非默认服务帐户
EN

Stack Overflow用户
提问于 2016-07-31 21:27:02
回答 1查看 1.1K关注 0票数 1

我想创建一个在非默认服务帐户下运行的dataproc集群。以下内容适用于计算实例:

代码语言:javascript
复制
gcloud compute instances create instance-1 --machine-type "n1-standard-1" --zone "europe-west1-b" --scopes xxxxxxxx@yyyyyyyy.iam.gserviceaccount.com="https://www.googleapis.com/auth/cloud-platform"

但是,相同的--scopes参数在创建dataproc实例时失败:

代码语言:javascript
复制
gcloud dataproc clusters create --zone "europe-west1-b" --scopes xxxxxxxx@yyyyyyyy.iam.gserviceaccount.com="https://www.googleapis.com/auth/cloud-platform" testdataproc12345

错误:( 'xxxxxxxxx@yyyyyyyy.iam.gserviceaccount.com=https://www.googleapis.com/auth/cloud-platform‘)无效的服务帐户范围:gcloud.dataproc.clusters.create

是否可以在非默认服务帐户下运行dataproc?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-03 00:30:58

不幸的是,目前还无法使用常规的“作用域和元数据”-mediated auth设置来指定自定义服务帐户。但是,这是一个已知的特性请求,因此它应该在未来的Dataproc更新中可用。

同时,即使在使用Dataproc时不能禁用默认GCE服务帐户的“存储读/写”作用域的存在,也可以通过使用IAM & Admin > Service accounts页面下的"Create“选项,使Hadoop端通过键文件使用特定的服务帐户来获取服务帐户的JSON密钥文件,然后执行两项操作:

  1. 在群集创建时添加以下属性: --属性core:fs.gs.auth.service.account.json.keyfile=/etc/hadoop/conf/my-service-account.json
  2. 使用init操作将JSON密钥文件复制到节点;注意,这仍然意味着GCE默认服务帐户必须可以作为读取器访问您的JSON密钥文件,访问JSON密钥文件的GCS位置的任何人现在也能够代表该服务帐户行事,因此您仍然需要在必要时确保项目的安全。 #!bin/bash#将此保存为gs://somepath/my-keyfile-setup.sh gsutil cp gs://path/to/your/json/file/in/gcs/my=service-account.json \ /etc/hadoop/conf/my-service-account.json。 然后应用init动作: gcloud dataproc集群创建-初始化-操作gs://somepath/my-keyfile-setup.sh .
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38688545

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档