如何使用gcloud CLI与SDK获取Google用户凭证并脚本化流程
使用gcloud CLI脚本化生成Google服务账号JSON凭证流程
以下是完整的脚本化流程,所有操作均通过gcloud CLI完成,你可以将这些命令整合为shell脚本批量执行:
1. 定义项目变量并创建新项目
先设置唯一的项目ID(需符合Google项目ID规则:小写字母、数字、连字符,全局唯一),然后创建项目并切换到该项目:
# 替换为你的唯一项目ID PROJECT_ID="your-unique-project-id-123" # 创建新项目 gcloud projects create ${PROJECT_ID} # 设置当前gcloud上下文为新项目 gcloud config set project ${PROJECT_ID}
2. 启用目标API服务
根据需求启用对应的API,比如Cloud Vision API和Maps相关API,多个API用空格分隔:
# 启用Cloud Vision API + Maps Backend API(可根据需求替换为其他API) gcloud services enable vision.googleapis.com maps-backend.googleapis.com
提示:你可以通过
gcloud services list --available命令查看所有可用的API服务名。
3. 创建服务账号
创建用于生成凭证的服务账号:
# 创建服务账号(display-name可自定义) gcloud iam service-accounts create sa-credential-holder --display-name "Credential Service Account"
4. 为服务账号分配所有者权限
将所有者角色绑定到刚创建的服务账号(如需更精细权限,可替换roles/owner为对应角色,比如roles/vision.admin):
gcloud projects add-iam-policy-binding ${PROJECT_ID} \ --member "serviceAccount:sa-credential-holder@${PROJECT_ID}.iam.gserviceaccount.com" \ --role "roles/owner"
5. 生成JSON格式凭证
生成并下载JSON密钥文件到当前目录:
# 生成凭证文件,保存为credentials.json gcloud iam service-accounts keys create ./credentials.json \ --iam-account sa-credential-holder@${PROJECT_ID}.iam.gserviceaccount.com
注意事项
- 执行前确保已完成gcloud SDK初始化(运行
gcloud init完成登录和初始配置) - 项目ID必须全局唯一,若创建失败需更换ID
- 生成的
credentials.json包含敏感信息,需妥善保管,不要提交到版本控制系统
内容的提问来源于stack exchange,提问作者wiilan
相关产品推荐
相关产品推荐

