创建Google Cloud服务帐户时,您是否必须在创建密钥后对其进行授权?

时间:2017-07-17 22:08:04

标签: google-cloud-platform gcloud

使用gcloud命令行界面创建Google Cloud服务帐户时,需要gcloud iam service-accounts keys create来创建密钥。查看Web控制台,看起来命令会创建并使用该帐户注册密钥。

是否足以激活服务帐户以使用它们生成的JSON密钥文件?或者你也必须打电话:

gcloud auth activate-service-account <IAM> --key-file=<JSON file from the keys create command>

Google文档在这里有点不清楚最后一步是否必要。控制台显示服务帐户没有更改,但如果您进行了呼叫,则命令会成功执行。

2 个答案:

答案 0 :(得分:4)

通过gcloud iam service-accounts keys create创建密钥并不会立即使其可用于gcloud命令。您确实需要通过gcloud auth activate-service-account激活。

使用

gcloud auth list

查看您的凭据集。此外,gcloud使用当前活动的凭据。您可以通过运行

查看当前设置
gcloud config list

也可以通过向任何--account命令添加额外的gcloud标志来使用各种凭证。例如:

gcloud compute zones list --account my_account@gmail.com

之前的帐户是通过gcloud auth logingcloud auth activate-service-account获得的,并显示在gcloud auth list

答案 1 :(得分:2)

您不必使用激活服务帐户。您可以改为使用环境变量'CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE'指定您的服务帐户json密钥。

CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE="./service-account.json" \
  gcloud deployment-manager deployments \
  create $DEPLOYMENT \
  --project $PROJECT \
  --template resources.jinja \
  --properties deployment:$DEPLOYMENT,project:$PROJECT

我在这里找到此选项: https://serverfault.com/questions/848580/how-to-use-google-application-credentials-with-gcloud-on-a-server