使用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文档在这里有点不清楚最后一步是否必要。控制台显示服务帐户没有更改,但如果您进行了呼叫,则命令会成功执行。
答案 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 login
或gcloud 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