You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用gcloud CLI自动登录GCP并完成项目等资源自动化配置

GCP账号自动化配置落地实现方案

前置校验

执行脚本前先在EC2上运行gcloud version确认CLI安装正常,返回版本信息即可继续。

注意:GCP的project-id是全局唯一资源,命名建议遵循业务标识-环境-用途-创建年月格式,避免和其他用户的项目重名;服务账号ID建议按实际用途命名,方便后续权限审计。

前置凭证配置

不要把GCP账号密码硬编码在脚本里,先在当前shell会话配置环境变量:

export GCP_USER="你的GCP登录邮箱(通常是gmail邮箱)"
export GCP_PASS="你的GCP账号密码"

如果账号开启了二次验证(MFA),需要先在GCP账号安全中心生成应用专用密码,替换上面的GCP_PASS值,否则自动登录会被拦截

自动化执行脚本

把下面的内容保存为gcp_auto_setup.sh,先修改开头配置块的自定义参数,再执行即可:

#!/bin/bash
set -euo pipefail

# -------------------------- 自定义配置 请提前修改为实际值 --------------------------
PROJECT_ID="your-business-prod-data-202409"  # 全局唯一的项目ID
PROJECT_NAME="生产环境数据业务项目"            # 控制台展示的项目名称
SA_ID="data-deploy-sa"                       # 服务账号ID
SA_DISPLAY_NAME="生产数据部署服务账号"         # 服务账号展示名
KEY_SAVE_PATH="./${SA_ID}-${PROJECT_ID}-key.json" # 密钥本地保存路径
# --------------------------------------------------------------------------------

# 1. 非交互模式登录GCP个人账号
gcloud auth login --no-launch-browser <<EOF
$GCP_USER
$GCP_PASS
EOF
echo "[完成] GCP个人账号登录成功"

# 2. 创建新项目并设置为默认操作项目
gcloud projects create "$PROJECT_ID" --name="$PROJECT_NAME"
gcloud config set project "$PROJECT_ID"
echo "[完成] 项目 $PROJECT_ID 创建成功,已设为CLI默认项目"

# 3. 创建服务账号
gcloud iam service-accounts create "$SA_ID" \
  --display-name="$SA_DISPLAY_NAME"
SA_FULL_EMAIL="${SA_ID}@${PROJECT_ID}.iam.gserviceaccount.com"
echo "[完成] 服务账号 $SA_FULL_EMAIL 创建成功"

# 4. 为服务账号绑定项目级Owner角色
gcloud projects add-iam-policy-binding "$PROJECT_ID" \
  --member="serviceAccount:${SA_FULL_EMAIL}" \
  --role="roles/owner" \
  --quiet
echo "[完成] 已为服务账号绑定项目Owner角色"

# 5. 生成并下载服务账号JSON密钥
gcloud iam service-accounts keys create "$KEY_SAVE_PATH" \
  --iam-account="$SA_FULL_EMAIL"
echo "[完成] 服务账号JSON密钥已保存到 $KEY_SAVE_PATH,请妥善保管"

执行步骤

  • 给脚本添加执行权限:chmod +x gcp_auto_setup.sh
  • 替换脚本开头配置块的所有自定义参数,确保项目ID符合全局唯一要求
  • 执行脚本:./gcp_auto_setup.sh

注意事项

  • Owner角色拥有项目所有资源的最高操作权限,生产环境建议遵循最小权限原则,按需分配对应角色,不建议直接授予Owner
  • 个人账号密码自动登录仅适合临时初始化场景,后续自动化操作建议直接使用生成的服务账号密钥做认证,避免个人账号密码泄露、权限变更导致脚本失效
  • 若创建项目时报权限错误,请确认使用的个人GCP账号拥有项目创建权限,且未超出账号的项目数量配额
  • 脚本执行完成后生成的JSON密钥是服务账号的唯一凭证,泄露后会导致项目资源被未授权访问,请妥善存储

内容的提问来源于stack exchange,提问作者Nitin G

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.03 03:57:37