如何导出Google Workspace审核日志

如何导出Google Workspace审核日志

SOC Prime Team
SOC Prime Team linkedin icon 关注

在 Google 管理控制台中, 报告 → 审计和调查 保存日志(登录、管理员、云端硬盘、OAuth 等),每个都可以从那里导出。对于 JSON,使用 Admin SDK Reports API,方法 activities.list。对于一次性导出,甚至不需要编码:API 参考页面有一个“尝试此方法”面板,可以以您的身份运行调用。大多数工作区审计数据会保留六个月。

工作区审计日志显示谁从哪里登录,哪些第三方应用获得了邮件和文件的访问权限,以及哪些文档突然与外界共享。Prime Core 为 Google Workspace 数据提供了 {N} 条检测规则,映射到 {M} MITRE ATT&CK 技术。其中包括:滥用云账户(T1078.004)、恶意 OAuth 授权(T1528)和邮件转发到外部地址(T1114.003)。

免费开始

在您开始之前

权限。 超级管理员或具有报告权限的管理员角色。

选择正确的日志。 在 API 中,每个日志都是一个 applicationName:login、admin、drive、token(OAuth 授权)、user_accounts、saml、groups 等。Gmail 消息日志不属于此 API。对于这些,请使用管理控制台中的 Email Log Search,或您的版本提供的 BigQuery 导出。

保留和延迟。 大多数审计日志可追溯到约六个月前。新事件可能需要几分钟到几小时才会出现,具体取决于日志。

简单的 Python 脚本

对于可重复的导出,使用具有域范围内委派的服务帐号模仿管理员。它需要 google-api-python-client 和 google-auth:

import json

from google.oauth2 import service_account

from googleapiclient.discovery import build


creds = service_account.Credentials.from_service_account_file(

"sa.json",

scopes=["https://www.googleapis.com/auth/admin.reports.audit.readonly"],

subject="admin@example.com",

)

svc = build("admin", "reports_v1", credentials=creds)


with open("workspace_login_1019.jsonl", "w") as out:

req = svc.activities().list(

userKey="all", applicationName="login",

startTime="2026-10-19T00:00:00Z", endTime="2026-10-20T00:00:00Z",

maxResults=1000,

)

while req is not None:

resp = req.execute()

for item in resp.get("items", []):

out.write(json.dumps(item) + "n")

req = svc.activities().list_next(req, resp)

域范围的委托功能强大。仅授予此只读范围,将密钥文件保存在共享驱动器之外,完成后移除委托。每个需要的 applicationName 运行一次脚本。

要查找的内容

日志和事件重要性
login: 大量 login_failure 或任何 suspicious_login密码猜测或 Google 本身标记的登录
token: 授权授予第三方应用程序授权;检查它可以读取的内容
admin: 角色分配、用户创建、2 步验证策略更改特权更改和安全设置减弱
drive: 更改对外部或“拥有链接的任何人”的访问或可见性数据向外部开放
user_accounts: 已禁用2SV,密码已更改账户劫持清理或准备

上传、清理并在 LogTotal 中检查

  1. 上传。 打开 logtotal.com 并放入 .jsonl 文件。
  2. 清理。 
  3. 检查。 

出现问题时

症状可能原因Fix
403 或权限不足管理员缺乏报告权限,或委托的范围未授权检查管理员角色;检查域范围内委托项
结果为空错误的 applicationName,事件太新或超出保留期检查名称;等待;检查日期
停在 1,000 事件未跟进分页使用 pageToken 或 list_next
没有 Gmail 消息事件不属于报告 API使用 Email Log Search 或 BigQuery

FAQ

我可以通过 Google 云获取这些日志吗?

如果您的组织与 Google 云共享工作区数据,审计日志将在组织级别出现在云日志中,我们的[Google 云审计日志指南]适用。

警报中心不够吗?

警报中心显示的是 Google 决定标记的内容。审计日志显示所有内容,包括未标记的内容。

加入 SOC Prime 的 Detection as Code 平台 以提高对与您的业务最相关的威胁的可见性。为了帮助您开始并带来即时价值,现在与 SOC Prime 专家预约会议。