创建Google个云服务账号时,创建后需要授权密钥吗?

When creating Google Cloud service accounts do you have to authorize the key after you create it?

当您使用 gcloud 命令行界面创建 Google 云服务帐户时,有一个 gcloud iam service-accounts keys create 用于创建密钥。查看 Web 控制台,命令似乎创建了密钥并将其注册到帐户。

是否足以激活服务帐户以与他们生成的 JSON 密钥文件一起使用?或者您还必须致电:

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

Google 文档在这里对于最后一步是否必要有点不清楚。控制台未显示对服务帐户的任何更改,但如果您进行调用,命令会成功执行。

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

激活

使用

gcloud auth list

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

查看您当前的设置
gcloud config list

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

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

where account is previously is obtained via gcloud auth login or gcloud auth activate-service-account and appears in gcloud auth list.

您不必使用激活服务帐户。您可以改为使用环境变量 '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