Google Cloud 配置指南
目录
- Google Cloud 概述
- 项目创建与配置
- Google OAuth 2.0 配置
- Cloud Run 配置
- Cloud Build 配置
- Artifact Registry 配置
- 服务账号配置
- API 启用
Google Cloud 概述
什么是 Google Cloud?
Google Cloud Platform(GCP)是 Google 提供的云计算服务平台,提供计算、存储、网络、大数据、机器学习等各种云服务。在本项目中,我们使用 Google Cloud 的以下服务:
- Cloud Run:运行容器化的应用(无服务器容器运行环境)
- Cloud Build:自动构建和部署应用(CI/CD 服务)
- Artifact Registry:存储 Docker 镜像(容器镜像仓库)
- IAM(身份和访问管理):管理用户和服务账号的权限
为什么选择 Google Cloud?
- Google 生态集成:与 Google Workspace(Sheets、Slides)无缝集成
- 企业内网支持:支持 Google 内部网络部署(Corp Run)
- 成本可控:按使用量计费,适合内部项目
- 技术栈统一:与项目使用的其他 Google 服务(Gemini、OAuth)保持一致
项目创建与配置
创建 Google Cloud 项目
-
访问 Google Cloud Console
- 打开 Google Cloud Console
- 使用您的 Google 企业账号登录
-
创 建新项目
- 点击项目选择器,选择"新建项目"
- 输入项目名称(如
insighthub-production) - 选择组织(如果适用)
- 点击"创建"
-
记录项目 ID
- 项目创建后,记录项目 ID(格式:
grcn-sca-bigquery) - 项目 ID 将用于后续配置
- 项目创建后,记录项目 ID(格式:
启用计费
注意:即使使用企业内网,某些服务(如 Cloud Run、Cloud Build)仍可能需要启用计费。
-
关联结算账号
- 在项目设置中,关联组织的结算账号
- 或创建新的结算账号
-
设置预算警报(可选)
- 在"预算和提醒"中设置预算上限
- 配置警报,避免意外费用
Google OAuth 2.0 配置
什么是 OAuth 2.0?
OAuth 2.0 是一种授权协议,允许用户授权第三方应用访问他们的 Google 账号信息,而无需提供密码。在本项目中,OAuth 2.0 用于:
- 用户登录:验证用户身份
- 访问 Google Sheets:读取用户有权限访问的 Google Sheet 数据
创建 OAuth 2.0 凭据
1. 启用 Google+ API
- 打开 API 库
- 在 Google Cloud Console 中,导航到"API 和服务" > "库"
- 搜索"Google+ API"(或"Google Identity Services API")
- 点击"启用"
注意:Google+ API 已弃用,但某些 OAuth 流程仍需要。如果找不到,可以跳过此步骤。
2. 配置 OAuth 同意屏幕
-
打开 OAuth 同意屏幕
- 导航到"API 和服务" > "OAuth 同意屏幕"
- 选择用户类型(内部或外部)
- 点击"创建"
-
填写应用信息
- 应用名称:
CSA 3A (InsightHub) - 用户支持电子邮件:您的邮箱
- 应用徽标:(可选)上传应用图标
- 应用主页链接:Cloud Run 服务的 URL
- 应用隐私政策链接:(可选)
- 应用服务条款链接:(可选)
- 应用名称:
-
配置作用域(Scopes)
- 点击"添加或移除作用域"
- 添加以下作用域:
https://www.googleapis.com/auth/userinfo.email(用户邮箱)https://www.googleapis.com/auth/userinfo.profile(用户基本信息)https://www.googleapis.com/auth/spreadsheets.readonly(只读访问 Google Sheets)
-
添加测试用户(如果选择"外部"用户类型)
- 在"测试用户"部分,添加允许访问的用户邮箱
- 生产环境发布后,所有用户都可以访问
-
保存并继续
- 完成所有步骤后,点击"保存并继续"
- 确认配置信息
3. 创建 OAuth 2.0 客户端 ID
-
打开凭据页面
- 导航到"API 和服务" > "凭据"
- 点击"创建凭据" > "OAuth 客户端 ID"
-
选择应用类型
- 选择"Web 应用"
-
配置客户端
- 名称:
InsightHub Web Client - 已授权的 JavaScript 来源:
- 开发环境:
http://localhost:5173(Vite 默认端口) - 生产环境:
https://your-cloud-run-url.run.app
- 开发环境:
- 已授权的重定向 URI:
- 开发环境:
http://localhost:5173/auth/callback - 生产环境:
https://your-cloud-run-url.run.app/auth/callback
- 开发环境:
- 名称:
-
创建并记录凭据
- 点击"创建"
- 重要:记录以下信息:
- 客户端 ID:格式如
123456789-abcdefghijklmnop.apps.googleusercontent.com - 客户端密钥:格式如
GOCSPX-abcdefghijklmnopqrstuvwxyz
- 客户端 ID:格式如
- 客户端密钥只显示一次,请妥善保存
配置环境变量
将 OAuth 凭据配置到环境变量中:
开发环境(.env 文件):
VITE_GOOGLE_OAUTH_CLIENT_ID=123456789-abcdefghijklmnop.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=GOCSPX-abcdefghijklmnopqrstuvwxyz
生产环境(Cloud Build 触发器):
- 添加替换变量
_VITE_GOOGLE_OAUTH_CLIENT_ID - 添加替换变量
_GOOGLE_CLIENT_SECRET
Cloud Run 配置
创建 Cloud Run 服务
1. 首次部署
Cloud Run 服务会在首次部署时自动创建,无需手动创建。
2. 服务配置
在 cloudbuild.yaml 中配置服务参数:
- '--region'
- '${_DEPLOY_REGION}' # 如 asia-northeast1
- '--platform'
- 'managed'
- '--allow-unauthenticated' # 允许未认证访问
配置说明:
- region:选择离用户最近的区域(如
asia-northeast1用于亚太地区) - platform:
managed表示完全托管,无需管理基础设施 - allow-unauthenticated:允许公开访问(如果需要内部访问,可以移除此选项)