SEO数据分析 谷歌BigQuery

如何创建 AI Agent 使用的 BigQuery Service Account?

Danny · 2026年8月21日 · 6 分钟阅读 · 更新于 2026年8月31日

Search Console、GA4、Google Ads 数据都导进 BigQuery 之后,VPS 上的 AI Agent 需要一把机器身份才能访问数据。这篇记录完整流程:确认 BigQuery API、创建 Service Account、分配最小权限、生成 JSON Key,并用 Python 验证查询链路。

为什么需要单独创建 Agent Service Account?

Google Search Console 数据导出到 BigQueryGA4 数据导出到 BigQueryGoogle Ads 数据导出到 BigQuery 之后,搜索、流量、广告三类数据都落在了同一个数据仓库里。接下来要做的事是让 AI Agent 自己读取这些数据,按周自动生成分析报告。

但这里有一个卡点:VPS 上运行的 Python 脚本、AI Agent、自动化程序,不能直接使用你的 Google 登录账号访问 BigQuery。登录账号走的是浏览器 OAuth 流程,需要人工点同意,脚本里没法自动化。正确做法是为 Agent 单独创建一个 Service Account(服务账号),它是给机器用的身份,配一把 JSON Key 就能长期免登录访问 BigQuery。

数据流向:三个数据源到 AI Agent

Google Search Console

搜索数据

GA4

流量数据

Google Ads

广告数据

↓ ↓ ↓

BigQuery 数据仓库

searchconsole / analytics / google_ads 数据集

AI Agent

VPS 上的脚本和自动化

Service Account

机器身份 + JSON Key

BigQuery API

查询与分析

自动读取 / 分析数据

按周生成报告

如果还没有一台 VPS 来跑这些脚本,可以先用 Hostinger 之类的服务商开一台,一年几十美元就能满足轻量数据任务的算力。

第一步:确认 BigQuery API 已开启

打开 Google Cloud Console,在顶部确认当前项目是 yourwebsite-dataset。进入 APIs & Services,点击 Enabled APIs & Services,搜索 BigQuery API,确认状态是 Enabled。

如果之前没有开启,进入 APIs & Services 的 Library,搜索 BigQuery API,点击 Enable 即可。

第二步:创建 Agent 专用 Service Account

进入 Google Cloud Console 的 IAM & Admin,选择 Service Accounts。注意这里选的是 Service Accounts,不是 IAM。IAM 是给已有账号授权,Service Accounts 才是创建机器账号的地方。

点击 Create Service Account,在 Service Account Details 里填写名称。例如 Service Account Name 填 seo-analytics-agent-yourwebsite,系统会自动生成对应的邮箱 seo-analytics-agent-yourwebsite@yourwebsite-dataset.iam.gserviceaccount.com。Description 可以填 SEO analytics AI Agent access to BigQuery data,方便以后同时管理多个网站的数据账号。填完点击 Create and Continue。

第三步:给 Agent Service Account 分配权限

创建后会进入 Grant This Service Account Access to Project 页面,这一步决定 Agent 能对 BigQuery 做什么。按下面的表添加角色,前两个必选,后两个按需。

Role作用必选
BigQuery Job User允许 Agent 执行 SQL 查询、创建 Query Job
BigQuery Data Viewer允许读取 GA4、Search Console、Google Ads 的表和视图
BigQuery Data Editor允许创建分析表、更新导出表、保存分析结果可选
Storage Object Admin允许通过 EXPORT DATA 把结果写入 Google Cloud Storage可选

以查询广告数据为例,Agent 拿到 BigQuery Job User 和 BigQuery Data Viewer 之后,就能执行 SELECT * FROM google_ads_yourwebsite.campaign 这类查询。如果 Agent 需要自动生成 seo_weekly_report_table 之类的分析表,就要补 BigQuery Data Editor。如果还要把结果导出到 GCS 存档,再加 Storage Object Admin。配完点击 Done。

第四步:Principals With Access 保持留空

创建 Service Account 时页面下方有 Principals With Access (Optional) 这一项,不需要填写。它的作用是允许其他用户 impersonate(模拟)这个服务账号,比如让 [email protected] 借用 seo-agent-service-account 的身份去调用 API。

你的场景是 VPS 上的 Cron 任务持有 JSON Key 直接使用服务账号,没有其他人需要代理它,保持 Empty 即可。

第五步:创建 JSON Key

Service Account 创建完成后,回到 IAM & Admin,进入 Service Accounts,点开 seo-analytics-agent-yourwebsite,选择 Keys 标签页,点击 Add Key,选择 Create New Key,格式选 JSON,然后点击 Create。浏览器会下载一个 seo-analytics-agent-yourwebsite-xxxx.json 文件,这个文件就是 Agent 的身份凭证。

第六步:保护 JSON Key

这个 JSON 文件的敏感程度相当于 API Secret 或 SSH Private Key,泄露等于把 BigQuery 的读取权限交出去,必须妥善保管。下面几条是红线:

  • 不要上传到 GitHub,也不要提交进任何代码仓库
  • 不要发给别人
  • 不要放在公开服务器或公开目录

推荐的做法是放在服务器上的独立目录,例如 /opt/seo-agent/credentials/,然后把权限收紧到只有当前用户能读写:

chmod 600 seo-analytics-agent-yourwebsite.json

如果项目用 Git 管理,把凭证路径和 JSON 文件加进 .gitignore,防止误提交:

*.json
credentials/

第七步:用 Service Account 测试调用 BigQuery

凭证就绪后,先在服务器上安装官方客户端库,再跑一段测试脚本,确认整条链路是通的:

pip install google-cloud-bigquery

from google.cloud import bigquery

client = bigquery.Client.from_service_account_json(
    "/opt/seo-agent/credentials/seo-analytics-agent-yourwebsite.json"
)

query = """
SELECT *
FROM `yourwebsite-dataset.google_ads_yourwebsite.campaign`
LIMIT 10
"""

result = client.query(query)
for row in result:
    print(row)

如果脚本能输出数据,说明 VPS 到 Service Account 到 BigQuery API 再到 Dataset 的整条链路已经打通,Agent 后续的查询、分析、建表都可以基于这个身份执行。

第八步:确认最终数据自动化架构

到这里,整个数据自动化链路就完整了。四类身份各司其职:三个数据源分别把自己的数据写进 BigQuery,AI Agent 通过 seo-analytics-agent-yourwebsite 读取和分析:

yourwebsite-dataset
├── searchconsole_yourwebsite
│       ↑ search-console-data-export
├── analytics_xxxxxxxx
│       ↑ GA4 Export
├── google_ads_yourwebsite
│       ↑ google-ads-transfer-yourwebsite
└── AI Agent
        ↑ seo-analytics-agent-yourwebsite
        ↑ VPS Cron
        ↑ Python / LLM

Service Account 职责划分总结

Service Account用途
[email protected]Google Search Console 写入 BigQuery
google-ads-transfer-yourwebsiteGoogle Ads Transfer 写入 BigQuery
seo-analytics-agent-yourwebsiteAI Agent 查询和分析 BigQuery

把写入和读取分开,每个 Service Account 只保留自己需要的最小权限。以后加新的 Agent、新的数据源,按同样的方式新建账号和分配角色,不会互相影响。

完整流程回顾

创建 Service Account 全流程:八步

01

确认 API

确认项目已开启 BigQuery API。

02

创建服务账号

新建 Service Account 并命名。

03

分配角色

Job User 加 Data Viewer,按需补 Editor。

04

保持留空

Principals With Access 不填。

05

生成 Key

创建 JSON 格式的身份凭证。

06

保护凭证

chmod 600 并加入 .gitignore。

07

测试调用

Python 脚本验证查询链路。

08

确认架构

四类身份各司其职,交给 Agent。

相关阅读

更多类似指南,
每周四送达。

主机评测、建站对比、性能优化技巧和插件推荐 — 每周为 WordPress 站长和建站者精选。