温馨提示:本文翻译自stackoverflow.com,查看原文请点击:bash - Is it possible to avoid setting project_id explicitly when authing with service account?
bash gcloud google-cloud-platform service-accounts

bash - 使用服务帐户进行身份验证时是否可以避免显式设置project_id?

发布于 2020-04-21 12:54:32

我正在尝试在bash脚本中进行身份验证并启用我的服务帐户,并且我有cred.json这是我尝试过的:

gcloud auth activate-service-account --key-file=/etc/gcp-cred.json

问题是我必须明确设置项目:

gcloud config set project my_proj

这是多余的,因为gcp-cred.json已经将该项目包含为字段:

"project_id": "my_proj"

有没有办法避免gcloud config set project显式地进行设置并将其设置为gcp-cred.json

查看更多

提问者
Some Name
被浏览
10
Thomas Ruble 2020-02-06 01:19

否- gcloud验证时不会更改您的工作核心项目。

这里的窍门是验证和设置“默认”工作项目是否gcloud是单独的关注点。您可以在不进行身份验证的情况下设置项目,也可以在不更改项目的情况下进行身份验证。

这里的逻辑源于一个事实,即身份可以访问许多项目。即使服务帐户驻留在特定项目中,也很可能被授权访问任何其他项目。因此,该gcloud程序不假设您希望您的服务帐户执行哪个项目。

其次,一般你不必须设置默认的工作项目gcloud-您可以指定该项目是旗你的行动目标--project PROJECT_ID在此处查看文档以获取该gcloud标志