AI PLAY玩法更新持续收录
← 回到更新流

2026-10-07 · 原文发布日

n8n自动收集SOC 2与ISO 27001合规证据

面向要过审计的团队的n8n免费模板:每月1日早上6点自动从GitHub组织拉取仓库并检查默认分支保护,从Google Admin目录核查用户两步验证(含管理员单独检查),下载AWS IAM凭证报告评估root加固、MFA、密钥轮换和闲置账号;所有检查映射到SOC 2与ISO 27001控制项并算出就绪度,证据写入Google Sheets两个标签页、JSON快照存Drive,再由OpenAI生成差距分析摘要发到Slack。

原文要点

原模板说明:每月1日06:00运行;从 GitHub 组织拉仓库,过滤活跃仓库并用 GitHub API 查默认分支保护;用 Google Admin SDK Directory 列活跃用户,评估两步验证注册/强制,管理员单独检查;生成并下载 AWS IAM credential report,按阈值评估 root 加固、用户 MFA、access key 轮换年龄和闲置账号;证据映射到 SOC 2 与 ISO 27001 控制项,算每控制项与总体就绪度;写 Google Sheets 的 Evidence Log/Control Dashboard,JSON 快照存 Drive,OpenAI 生成差距分析发 Slack。需替换 org、Sheet ID、Drive folder、Slack channel,并可调 stale-days/key-rotation。

这次做成什么

搭一个“月度合规证据采集”练习版:Schedule→GitHub/Google/AWS 三路采集→控制项映射与评分→Sheets/Drive 归档→OpenAI 摘要→Slack。仅做隔离账号与合成阈值;原模板节点、权限范围和控制ID映射需核对,不声称已实测。

准备什么

  • GitHub token 可读目标组织仓库与分支保护;先在测试组织验证
  • Google OAuth2 具备 Admin SDK Directory 只读权限,且管理员已授权域-wide 或相应范围
  • AWS 凭据仅允许 iam:GenerateCredentialReport 与 iam:GetCredentialReport 等只读动作
  • OpenAI 与 Slack 凭据;Google Sheet 含 Evidence Log/Control Dashboard,Drive 有归档文件夹
  • 使用测试组织/测试账号,不审计生产真实客户环境

具体怎么做

  1. 建输出与阈值

    Sheets 建 Evidence Log(Period,Source,Check,Control_SOC2,Control_ISO27001,Status,Evidence_JSON)与 Control Dashboard(Period,Control_ID,Passed,Total,Readiness)。Config 设 GITHUB_ORG、SHEET_ID、DRIVE_FOLDER_ID、SLACK_CHANNEL_ID、STALE_DAYS=90、KEY_ROTATION_DAYS=90。

  2. GitHub 分支保护证据

    每月1日06:00 Schedule 触发。GitHub 节点列组织仓库,Filter 掉 archived/disabled;对每个活跃仓库请求默认分支 protection,输出 repo,default_branch,protection_enabled,required_reviews,enforce_admins,映射到变更管理类控制。

  3. Google 与 AWS 身份证据

    Admin SDK Directory 列用户,检查 isEnrolledIn2Sv/isEnforcedIn2Sv,isAdmin 单独成项。AWS 先 GenerateCredentialReport,轮询/等待后 GetCredentialReport,解析 root MFA/access keys、user mfa_enabled、key_last_rotated、password_last_used 判断是否 stale。

  4. 映射、归档与摘要

    Code 合并三路证据,按下方 mapping 写 Control_ID,计算 Passed/Total/Readiness=Passed/Total;追加 Evidence Log,upsert Control Dashboard;JSON 快照按 period 命名存 Drive;OpenAI 用摘要提示词生成差距Top5与建议,Slack 发帖。

可直接复制的材料

控制项映射示例配置

本站示例映射,非审计意见;SOC2/ISO 编号需由合规人员确认,原模板映射以其文件为准。

{"github_branch_protection":{"soc2":"CC7.1","iso27001":"A.12.1.2"},"google_2sv_user":{"soc2":"CC6.1","iso27001":"A.9.4.2"},"google_2sv_admin":{"soc2":"CC6.1","iso27001":"A.9.2.3"},"aws_root_mfa":{"soc2":"CC6.1","iso27001":"A.9.4.2"},"aws_key_rotation":{"soc2":"CC6.1","iso27001":"A.9.4.3"},"aws_stale_account":{"soc2":"CC6.2","iso27001":"A.9.2.6"}}

Evidence Log 合成行

合成证据行;JSON 内引号已按 CSV 双写,导入 Sheets 前可改为单元格纯文本。

Period,Source,Check,Control_SOC2,Control_ISO27001,Status,Evidence_JSON
2026-11,github,branch_protection,CC7.1,A.12.1.2,fail,"{""repo"":""demo-api"",""default_branch"":""main"",""protection_enabled"":false}"
2026-11,aws,root_mfa,CC6.1,A.9.4.2,pass,"{""root_mfa"":true,""root_access_keys"":0}"

OpenAI 差距摘要提示词

本站独立编写;{{$json.auditBundle}}需替换,模型与费用以OpenAI账号为准。

你是合规证据摘要助手。只根据输入的 Evidence Log 与 Control Dashboard JSON 写作,不得补造系统状态。输出中文,包含:1) 本期总体就绪度百分比与计算口径;2) 失败控制项Top5,每项给 Source/Check/Control_ID/影响/建议修复;3) 需人工复核项;4) 一句话Slack导语。若某来源无数据,明确写“本期未采集”。输入:{{$json.auditBundle}}

输入与输出示例

本站虚构演示,非对真实环境审计;百分比为演示口径,不作合规承诺。

输入

合成测试组织 demo-org 有 demo-api 仓库 main 未启用保护;Google 测试用户 admin@example.com isAdmin=true 且未强制2SV;AWS 报告显示 root_mfa=true、root_access_keys=0,一把用户密钥 age=120天,阈值90天。

对应输出

Evidence Log 至少三行:github branch_protection fail、google_2sv_admin fail、aws_key_rotation fail;root_mfa pass。Control Dashboard 中 CC6.1/A.9.4.2 计数 Total=3、Passed=1、Readiness=33%;Drive 存 2026-11-evidence.json;Slack 摘要Top3为默认分支未保护、管理员未强制2SV、密钥超期90天未轮换。

做完检查这些

  • 触发器为每月1日06:00,Period 格式统一如2026-11,三路来源都有Source标记
  • GitHub 只统计活跃仓库,archived/disabled 被过滤且证据含 default_branch
  • Google 管理员2SV与普通用户分开成 Check,不能混入同一通过率
  • AWS credential report 失败时本次运行标 fail 并不沿用上月缓存
  • Evidence Log、Control Dashboard、Drive JSON、Slack 摘要四者的Period与控制项计数一致

容易卡住的地方

  • GitHub 分支保护对私有/组织权限不足会403,token 范围过小表现为空证据而非失败
  • Admin SDK 需要管理员授权与正确范围,普通OAuth登录拿不到目录数据
  • GenerateCredentialReport 是异步生成,立即Get可能拿到旧报告或报错,需要重试但别承诺固定秒数
  • 控制ID映射不是法律结论,错误映射会误导审计;就绪度不能替代正式评估

原文与作者资料 ↗

本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。

原文标题
Collect SOC 2 and ISO 27001 evidence with GitHub, Google Workspace, AWS, and GPT-4o
原作者
Rahul Joshi
原始发布日期
2026-10-07T07:27:12.971Z
来源
https://n8n.io/workflows/20606