谷歌工作区合规审计工具
Google Workspace环境的自动化安全审计工具,旨在评估对多个监管框架的合规性。使用模型上下文协议(MCP)构建,用于具有交互式问答工作流的AI驱动分析。
版本: 2.0.0 支持: 克劳德桌面、ChatGPT桌面
支持的合规框架
| 框架 | 说明 |
|---|---|
| CMMC | 网络安全成熟度模型认证(2级) |
| NIST 800-171 | 保护受控的非机密信息 |
| NIST脑脊液 | 网络安全框架 |
| ISO 27001 | 信息安全管理系统 |
| 《健康保险可携性和责任法案》 | 《健康保险流通与责任法案》 |
| 联邦贸易委员会保障措施 | 联邦贸易委员会金融机构保障规则 |
在开始审计时选择一个或多个框架,以获得量身定制的合规性映射和建议。
______________________________________________________________________
重要提示:人工智能使用和数据访问
🤖 AI驱动工具
该工具使用AI(通过 克劳德桌面版 或 ChatGPT桌面)分析您的Google Workspace配置。在使用此工具之前:
- 获得领导层批准 在合规评估工作流程中使用人工智能
- 了解您的Google工作区中的配置数据将由您选择的AI处理
- 审查贵组织的人工智能使用政策,以确保其符合您的指导方针
🔒 只读访问
此工具在以下情况下运行 只读模式。它将:
- ✅ 阅读 用户列表、组、安全设置和审核日志
- ✅ 分析 根据选定的合规框架进行配置
- ❌ 永不 修改、删除或更改Google工作区中的任何设置
请求的Google API作用域都是只读的(*.readonly).此工具无法更改您的环境。
______________________________________________________________________
先决条件和平台要求
⚙️ 系统要求
支持的平台:
- ✅ macOS -经过全面测试和支持
- ⚠️ Linux -应进行较小的路径调整
- ❌ 视窗 -不支持(使用WSL-Linux的Windows子系统)
所需软件:
- Node.js v18或更高版本 -
- 检查您的版本: node --version - 必须显示v18.0.0或更高版本
- 谷歌工作区域 具有管理员权限
- 谷歌云平台 帐户(免费级别就足够了)
- AI桌面客户端 (一个或两个):
- 克劳德桌面版 - 从claude.ai下载 - ChatGPT桌面 - 从openai.com下载 (需要Plus/Pro/Enterprise)
开始之前:
# Verify Node.js is installed and version is correct
node --version
# Should output: v18.x.x or higher
# If not installed or too old:
# Download LTS version from https://nodejs.org______________________________________________________________________
重要免责声明
此工具仅用于内部安全评估和合规差距识别。
- ❌ 不是官方合规认证 对于任何框架
- ❌ 不能替代专业审计师 或评估员
- ❌ 不保证合规性 任何监管框架
✅ 这个工具是什么:
- 识别潜在合规差距的自我评估工具
- 合规准备的起点
- 了解跨多个框架的当前安全态势的方法
对于官方认证,请与适当的专业人员合作:
- CMMC:认证C3PAO或注册执业者(RP)
- 《健康保险可携性和责任法案》:医疗保健合规专家
- ISO 27001:认可的认证机构
- 联邦贸易委员会保障措施:合格信息安全官(QISO)
该工具提供自动评估功能,但不能取代专业合规评估和认证。
______________________________________________________________________
快速开始
已安装?
- 打开你的AI客户端 (克劳德桌面或ChatGPT桌面)
- 类型:
Start a Google Workspace audit for yourdomain.com - 选择框架 出现提示时(CMMC、HIPAA、NIST 800-171等)
- 回答 商业背景问题
- AI将运行26次检查 分为5个阶段,每个阶段后都有问答环节
- 提供屏幕截图 当被要求手动验证项目时
- 获取您的综合报告 每个框架的合规性得分
重要提示: 说“开始”而不是“运行”-这会触发指导工作流程!
第一次?5分钟内安装
在Mac终端中运行以下命令:
curl -sSL https://raw.githubusercontent.com/sean-m-sweeney/GoogleWorkspaceAudit/main/install.sh | bash安装程序将:
- 询问您要配置哪个AI客户端(Claude、ChatGPT或两者)
- 引导您完成Google Cloud设置和凭据
- 配置您选择的AI客户端
- 测试一切
ChatGPT用户注意事项: 安装后,在ChatGPT中启用MCP: 设置→ 连接器→ 高级→ 开发者模式
______________________________________________________________________
概述
此工具提供 26次自动检查 横跨 5个控制区 与多个合规框架相对应的综合报告:
- 访问控制 -9检查
- 识别与认证 -3检查
- 审计和问责制 -2次检查
- 系统和通信保护 -8检查
- MSP运营 -4项成本优化检查
主要特点
- 26项全面审计检查(自动+手动验证指南)
- 谷歌云身份政策API集成 用于自动策略检索
- 多框架合规性映射 (CMMC、NIST 800-171、NIST CSF、ISO 27001、HIPAA、FTC保障措施)
- 用于收集组织背景的交互式问答工作流程
- 按框架评分的综合报告生成
- MSP价值识别(成本节约、许可证优化)
- 许可影响评估(确定合规性何时需要企业版)
- 通过Claude Desktop的对话界面
- 只读访问(仅审核,无修改)
- 数据源透明度 -每个检查指示数据是否来自策略API、管理SDK,或需要手动验证
当前能力
已实施的审计检查(共26次)
每个检查都映射到所有支持的框架中的控件。显示示例控制映射以供参考。
检查包括 data_source 指示从何处检索数据的字段:
policy_api-从Google Cloud Identity Policy API自动检索admin_sdk-从Google管理SDK自动检索manual_verification-需要在Google管理控制台中进行手动验证
访问控制(9次检查)
- 2FA/MFA状态 (例如,CMMC IA.L2-3.5.3、HIPAA 164.312(d))
- 检查所有用户的执行情况 - 识别没有2FA的管理员帐户 - 数据来源:Admin SDK - 许可:包含在所有版本中
- 2FA实施方法 (CMMC IA.L2-3.5.3) v2.0中的新功能
- 检查允许的第二因素类型(安全密钥、电话等) - 数据来源:政策API - 许可:包含在所有版本中
- 管理员角色审核 (CMMC AC.L2-3.1.5)
- 列出所有超级管理员和委派管理员 - 验证特权帐户的2FA注册 - 数据来源:Admin SDK - 许可:包含在所有版本中
- 超级管理员恢复设置 (CMMC AC.L2-3.1.5) v2.0中的新功能
- 检查超级管理员是否禁用自助恢复 - 数据来源:政策API - 许可:包含在所有版本中
- 会话控制设置 (CMMC AC.L2-3.1.11)
- 通过策略API或手动验证回退实现自动化 - 数据来源:策略API(带手动回退) - 许可: 需要企业版 (约18-23美元/用户/月)
- 外部共享设置 (CMMC AC.L2-3.1.20)
- 通过策略API或手动验证回退实现自动化 - 数据来源:策略API(带手动回退) - 许可证:包括基本控制;DLP需要企业
- API访问控制 (CMMC AC.L2-3.1.2)
- 第三方应用访问的手动验证指南 - 数据来源:人工验证 - 许可:上下文感知访问需要企业
- 有外部成员的团体 (CMMC AC.L2-3.1.20)
- 自动识别具有外部协作者的组 - 数据来源:Admin SDK - 许可:包含在所有版本中
- 不太安全的应用程序 (CMMC IA.L2-3.5.3) v2.0中的新功能
- 检查是否阻止了不太安全的应用程序访问 - 数据来源:政策API - 许可:包含在所有版本中
身份验证(3次检查)
- 密码策略 (CMMC IA.L2-3.5.7)
- 通过策略API或手动验证回退实现自动化 - 数据来源:策略API(带手动回退) - 许可:所有版本都包含基本政策
- 非活动帐户 (CMMC AC.L2-3.1.1)
- 识别90天以上未登录的用户 - 计算从许可证删除中节省的成本 - 数据来源:Admin SDK - 许可:无(成本优化)
- 高级保护程序 (CMMC IA.L2-3.5.3) v2.0中的新功能
- 检查高风险用户的APP注册设置 - 数据来源:政策API - 许可:包含在所有版本中
审计和问责制(2次检查)
- 审核日志设置 (CMMC AU.L2-3.3.1)
- 解释日志保留策略 - 数据来源:人工验证 - 许可:用于延长保留期的Vault需要Business Plus+
- 可疑行为 (CMMC AU.L2-3.3.4)
- 查询登录失败和可疑事件(过去7天) - 数据来源:Admin SDK - 许可:包含在所有版本中
系统保护(8次检查)
- 移动设备管理 (CMMC SC.L2-3.13.11)
- 列出设备和加密状态 - 识别未经批准/未加密的设备 - 数据来源:Admin SDK - 许可:包含在所有版本中
- 电子邮件身份验证 (CMMC SC.L2-3.13.8)
- 通过策略API或手动验证回退实现自动化 - 数据来源:策略API(带手动回退) - 许可:包含在所有版本中
- 电子邮件转发规则 (CMMC AC.L2-3.1.20)
- 手动验证指南 - 数据来源:人工验证 - 许可:DLP阻止转发需要Enterprise
- 日历共享 (CMMC AC.L2-3.1.20)
- 外部日历共享手动验证指南 - 数据来源:人工验证 - 许可:包含在所有版本中
- 日历外部共享策略 (CMMC AC.L2-3.1.3) v2.0中的新功能
- 通过策略API的组织范围日历共享策略 - 数据来源:政策API - 许可:包含在所有版本中
- 聊天外部限制 (CMMC AC.L2-3.1.3) v2.0中的新功能
- 检查Google Chat外部消息限制 - 数据来源:政策API - 许可:包含在所有版本中
- 满足安全设置 (CMMC AC.L2-3.1.1) v2.0中的新功能
- 检查主机控制和外部参与者限制 - 数据来源:政策API - 许可:包含在所有版本中
- 数据区域 (CMMC SC.L2-3.13.16)
- 通过策略API或手动验证回退实现自动化 - 数据来源:策略API(带手动回退) - 许可: 需要Enterprise Plus (约23美元/用户/月)
MSP操作(4次检查)
- 具有外部访问权限的共享驱动器 (CMMC AC.L2-3.1.20)
- 识别与外部用户共享的驱动器 - 数据来源:Admin SDK - 许可:共享驱动器需要业务标准+
- 许可证利用率
- 计算活动/非活动/挂起的用户 - 估算每月成本和潜在节省 - 数据来源:Admin SDK - 许可:无(成本优化)
- 存储使用情况
- 报告每个用户的存储消耗 - 确定顶级存储消费者 - 数据来源:Admin SDK - 许可:无(容量规划)
- BAA状态 (仅限HIPAA)
- 检查HIPAA业务伙伴协议状态 - 数据来源:人工验证 - 许可:需要企业版
报告生成
综合报告生成器
- 按控制区域汇总所有发现
- 计算每个框架的合规性得分
- 按风险级别对建议进行优先级排序
- 包括MSP值摘要
- 结合互动环节的问答内容
建筑
组件
- MCP 服务器 (
server.js):与Google Workspace管理SDK接口的Node.js应用程序 - Google服务帐户:具有域范围委派的只读身份验证
- 克劳德桌面版:为审计工具提供对话界面
安全模型
- 服务帐户仅使用只读OAuth作用域
- 仅限于特定管理员SDK API的域范围授权
- 本地存储的具有限制性文件权限的凭据(600)
- 无修改功能-仅审核
______________________________________________________________________
安装
自动安装(5分钟)
运行以下单个命令:
curl -sSL https://raw.githubusercontent.com/sean-m-sweeney/GoogleWorkspaceAudit/main/install.sh | bash安装程序将:
- ✓ 检查先决条件(macOS、Node.js 18+、Claude Desktop)
- ✓ 在以下位置设置项目目录
~/workspace-compliance-audit - ✓ 自动安装依赖项
- ✓ 逐步指导您完成Google Cloud设置
- ✓ 配置凭据
- ✓ 设置Claude Desktop集成
- ✓ 测试一切
- ✓ 确切地告诉你下一步要做什么
安装完成后:
- 重新启动克劳德桌面(Cmd+Q,然后重新打开)
- 类型:
Start a Google Workspace audit for yourdomain.com
______________________________________________________________________
手动安装
如果您希望完全控制每个步骤:
______________________________________________________________________
手动安装步骤
第一步:安装Node.js(如果你没有)
# Check if you have Node.js
node --version
# If not installed, download from: https://nodejs.org
# Install the LTS version (20.x or later)步骤2:克隆存储库
git clone https://github.com/sean-m-sweeney/GoogleWorkspaceAudit.git
cd GoogleWorkspaceAudit步骤3:安装依赖项
npm install这将安装所需的依赖项:
@modelcontextprotocol/sdk-用于MCP与Claude的集成googleapis-用于访问谷歌工作区管理SDK
______________________________________________________________________
了解身份验证
重要提示:此工具使用服务帐户身份验证,而不是用户OAuth。
这意味着:
- ✅ 无登录提示 -该工具使用服务帐户密钥文件进行身份验证
- ✅ 无2FA/MFA提示 -服务帐户不需要交互式身份验证
- ✅ 没有浏览器弹出窗口 -所有身份验证都在后台默默进行
- ❌ 如果您看到登录提示或2FA请求 -您的服务帐户配置错误
服务帐户如何工作:
- 您在Google Cloud中创建了一个服务帐户(一个特殊的非人类帐户)
- 您下载该服务帐户的凭据文件(JSON密钥)
- 您授予服务帐户访问您的Google Workspace数据的权限(全域委派)
- 该工具使用此密钥文件自动进行身份验证,无需用户交互
为什么这很重要:
- 安全:服务帐户具有只读访问权限,仅限于特定的Admin SDK API
- 自动化:该工具可以无人值守运行,无需您登录
- 审计跟踪:所有API调用都记录在Google Workspace审核日志中的服务帐户名称下
如果您看到身份验证提示,请跳到 故障排除 部分。
______________________________________________________________________
步骤4:配置谷歌云和服务帐户
先决条件:查看GCP组织政策
在创建服务帐户之前,您可能需要禁用阻止服务帐户密钥创建的组织策略:
- 首选https://console.cloud.google.com
- 导航到: IAM和管理员 → 组织政策
- 搜索:
iam.disableServiceAccountKeyCreation
- 您可能会看到此策略的“托管”或“传统”版本
- 如果此政策存在并已执行,请单击它
- 点击 编辑策略 或 管理策略
- 将策略设置为 未激活 或 未强制执行
- 点击 保存
重要提示:
- 这需要 组织策略管理员 GCP组织级别的权限
- 这是 与...分开 谷歌工作区超级管理员权限
- 此政策是谷歌“默认安全”执行的一部分
- 某些组织可能需要批准才能禁用此策略进行合规性测试
- 如果您没有这些权限,请联系您的GCP组织管理员
如果您没有看到此策略或它已处于非活动状态,则可以跳过此步骤并继续创建服务帐户。
______________________________________________________________________
A.创建服务帐户:
- 首选https://console.cloud.google.com
- 创建一个新项目(将其命名为“工作区审核”或类似名称)
- 点击汉堡菜单(☰)→ API和服务 → 启用API和服务
- 搜索“管理SDK API”→ 点击它→ Click 启用
- 搜索“云标识API”→ 点击它→ Click 启用 *(v2.0中的新功能)*
- 返回汉堡菜单→ API和服务 → 凭证
- 点击 创建凭据 → 服务账户
- 姓名:
workspace-audit(单击“创建并继续”) - 跳过可选步骤(单击“继续”,然后单击“完成”)
B.下载凭据文件:
- 点击您刚刚创建的服务帐户
- 去 钥匙 标签
- 点击 添加关键点 → 创建新密钥 → JSON → 创建
- 文件下载- 将其重命名为
credentials.json - 将其移动到项目文件夹:
mv ~/Downloads/your-project-12345-abc.json ~/workspace-compliance-audit/credentials.json
chmod 600 ~/workspace-compliance-audit/credentials.jsonC.设置全域委派:
- 复制 客户端ID 从您的服务帐户页面(长号码)
- 首选https://admin.google.com
- 首选 安全 → 访问和数据控制 → API控制
- 点击 管理域范围内的委派
- 点击 添加新的
- 粘贴客户端ID
- 添加这些OAuth作用域(一次复制粘贴所有内容):
https://www.googleapis.com/auth/admin.directory.user.readonly,https://www.googleapis.com/auth/admin.directory.group.readonly,https://www.googleapis.com/auth/admin.directory.device.mobile.readonly,https://www.googleapis.com/auth/admin.directory.rolemanagement.readonly,https://www.googleapis.com/auth/admin.reports.audit.readonly,https://www.googleapis.com/auth/drive.readonly,https://www.googleapis.com/auth/cloud-identity.policies.readonly- 点击 授权
v2.0升级注意事项: 如果从v1.x升级,则必须添加新的 cloud-identity.policies.readonly 将范围扩展到现有的域范围委派配置。
步骤5:获取服务器代码并配置管理员电子邮件
下载 server.js 从该存储库中取出并放入 ~/workspace-compliance-audit/
重要: 创建 .env 项目目录中包含您的管理员电子邮件的文件:
echo "GOOGLE_WORKSPACE_ADMIN_EMAIL=your-admin@yourdomain.com" > ~/workspace-compliance-audit/.env
chmod 600 ~/workspace-compliance-audit/.env替换 your-admin@yourdomain.com 使用您的实际Google Workspace管理员电子邮件地址。
步骤6:设置Claude桌面
A.查找您的用户名:
whoami记住这一点——你会需要的。
B.编辑Claude桌面配置:
# Create the config if it doesn't exist
mkdir -p ~/Library/Application\ Support/Claude
nano ~/Library/Application\ Support/Claude/claude_desktop_config.jsonC.粘贴此配置(将YOUR_USERNAME替换为步骤A中的实际用户名):
{
"mcpServers": {
"workspace-audit": {
"command": "/usr/local/bin/node",
"args": ["/Users/YOUR_USERNAME/workspace-compliance-audit/server.js"],
"cwd": "/Users/YOUR_USERNAME/workspace-compliance-audit"
}
}
}注: 这 cwd 字段是必需的,以便服务器可以找到 .env 和 credentials.json 文件夹。
D.保存并退出: 按 Ctrl+X那么 Y那么 Enter
第7步:测试
cd ~/workspace-compliance-audit
node server.js您应该看到: Workspace Compliance Audit MCP server running on stdio
按 Ctrl+C 停止。
步骤8:重新启动克劳德桌面
- 完全退出克劳德桌面: Cmd+Q
- 再次打开克劳德桌面
- 开始新的对话
第9步:进行第一次审核
在Claude Desktop中,键入:
Start a Google Workspace audit for yourdomain.comClaude会问你想根据哪些框架进行评估,然后询问你的业务背景,并进行全面审计!
______________________________________________________________________
安全最佳实践
服务帐户管理
保留以供重复使用
- 如果您计划定期运行审核,则应长期保存服务帐户和凭据
- 使用600个权限安全地存储credentials.json(仅限所有者读/写)
- 永远不要将credentials.json提交给版本控制
- 将凭据文件备份到安全、加密的位置
关键点旋转
- 作为安全最佳实践,每90天轮换一次服务帐户密钥
- 旋转:在Google Cloud Console中创建一个新密钥,进行测试,然后删除旧密钥
- 在安全程序中记录密钥创建日期
何时删除服务帐户
仅在以下情况下删除服务帐户:
- 您将永久停用此工具
- Google Workspace域正在关闭
- 您正在迁移到其他审计解决方案
如果出现以下情况,请勿删除:
- 您只是暂时停止审核(保留服务帐户)
- 您正在排除问题(改为修复配置)
- 您正在升级或重新安装该工具(重用相同的服务帐户)
只读安全模型
理解有限范围:
- 服务帐户具有 只读访问 -它无法修改任何谷歌工作区设置
- 访问仅限于特定的管理SDK API(用户、组、设备、审计日志)
- 无法创建、更新或删除用户、组或任何工作区数据
- 无法更改安全设置或管理配置
- 所有API调用都记录在Google Workspace审核日志中,以进行问责
OAuth作用域说明:
https://www.googleapis.com/auth/admin.directory.user.readonly - Read user data
https://www.googleapis.com/auth/admin.directory.group.readonly - Read group data
https://www.googleapis.com/auth/admin.directory.device.mobile.readonly - Read mobile device data
https://www.googleapis.com/auth/admin.directory.rolemanagement.readonly - Read admin roles
https://www.googleapis.com/auth/admin.reports.audit.readonly - Read audit logs
https://www.googleapis.com/auth/drive.readonly - Read Drive metadata
https://www.googleapis.com/auth/cloud-identity.policies.readonly - Read Cloud Identity policies (NEW in v2.0)注意 .readonly 后缀-这保证了没有修改能力。
v2.0中的新功能: 云标识策略API作用域允许自动检索以前需要手动验证的安全策略。
______________________________________________________________________
卸载
快速卸载
运行卸载脚本:
cd ~/workspace-compliance-audit # or wherever you installed it
chmod +x uninstall.sh
./uninstall.sh脚本将:
- 从Claude Desktop中删除MCP服务器配置
- 提供在Google Cloud中删除服务帐户的说明(可选)
- 询问是否要删除项目文件
手动卸载
如果您更喜欢手动卸载:
步骤1:删除Claude桌面配置
# Edit the config file
nano ~/Library/Application\ Support/Claude/claude_desktop_config.json
# Remove the "workspace-audit" entry from mcpServers
# Save and exit (Ctrl+X, Y, Enter)
# Restart Claude Desktop步骤2:删除服务帐户(可选)
只有在永久停用该工具时才这样做:
- 首选https://console.cloud.google.com
- 选择您的项目
- 首选 IAM和管理员 → 服务账户
- 查找
workspace-audit服务账户 - 点击三个点→ 删除
- 首选 谷歌工作区管理控制台 → 安全 → API控制 → 全域授权
- 查找并删除此服务帐户的委派
步骤3:删除项目文件(可选)
# This deletes everything including credentials
rm -rf ~/workspace-compliance-audit
# Or if you want to keep credentials for later:
rm ~/workspace-compliance-audit/node_modules -rf
rm ~/workspace-compliance-audit/server.js
# Keep credentials.json for reinstallation later______________________________________________________________________
故障排除
登录提示或2FA请求
症状: 浏览器打开,要求您登录,或者您看到2FA/MFA提示
原因: 服务帐户身份验证配置不正确
修复:
- 验证credentials.json是否存在 在您的项目目录中
ls -la ~/workspace-compliance-audit/credentials.json
# Should show a file with 600 permissions- 检查是否配置了全域委派:
- 首选https://admin.google.com - 导航至 安全 → API控制 → 全域授权 - 验证您的服务帐户客户端ID是否列出了所有必需的范围
- 验证.env文件中的管理员电子邮件:
- 检查 ~/workspace-compliance-audit/.env 存在 - 必须包含: GOOGLE_WORKSPACE_ADMIN_EMAIL=admin@yourdomain.com - 必须是有效的Google Workspace管理员电子邮件地址
- 检查凭据文件格式:
cat ~/workspace-compliance-audit/credentials.json | grep type
# Should show: "type": "service_account"找不到Node.js或版本太旧
症状: node: command not found 或版本检查失败
修复:
- 从以下位置安装Node.jshttps://nodejs.org/en/download/
- 下载LTS版本(建议使用v20或更高版本)
- 安装后,关闭并重新打开终端
- 验证:
node --version(应显示v18.0.0或更高版本)
无法创建服务帐户密钥
症状: 尝试创建服务帐户密钥时出错:“组织策略禁用了服务帐户密钥创建”
原因: GCP组织拥有 iam.disableServiceAccountKeyCreation 政策执行
修复:
- 首选https://console.cloud.google.com
- 导航至 IAM和管理员 → 组织政策
- 搜索:
iam.disableServiceAccountKeyCreation - 点击政策
- 点击 编辑策略 或 管理策略
- 设置为 未激活 或 未强制执行
- 点击 保存
重要提示:
- 需要 组织策略管理员 权限(GCP组织级别,而非工作区管理员)
- 这与谷歌工作区超级管理员权限是分开的
- 如果您没有这些权限,请联系您的GCP组织管理员
- 由于安全策略,某些组织需要批准才能禁用此策略
- 替代方案:使用工作负载身份联合而不是服务帐户密钥(高级)
“服务器已断开连接”错误
原因: Claude Desktop无法连接到MCP服务器
修复:
- 检查配置文件中的用户名是否正确
- 确保路径
/Users/YOUR_USERNAME/workspace-compliance-audit/server.js存在 - 尝试使用节点的完整路径:
which node找到它 - 验证server.js是否可执行:
ls -la ~/workspace-compliance-audit/server.js
“身份验证失败”错误
原因: 服务帐户无法通过Google Workspace的身份验证
修复:
- 确保
.env文件包含GOOGLE_WORKSPACE_ADMIN_EMAIL=your-admin@yourdomain.com - 验证是否正确设置了域范围的委派(请参阅上面的“登录提示”部分)
- 检查所有OAuth作用域是否完全按照指定添加
- 验证Admin SDK API和Cloud Identity API是否已在Google Cloud控制台中启用
“API未启用”错误
原因: 未启用所需的Google Cloud API
修复:
- 首选https://console.cloud.google.com
- 选择您的项目
- 导航至 API和服务 → 图书馆
- 搜索并启用这些API:
- “管理SDK API”(必需) - “Google Drive API”(共享驱动器检查所需) - “云标识API”(v2.0策略API功能所必需)
______________________________________________________________________
用法
快速入门-交互式审计
建议使用此工具的方式是通过交互式审计工作流程:
User: "Start a Google Workspace audit for valleytechpartners.com"克劳德将:
- 询问您要根据哪些合规框架进行评估
- 运行分为5个阶段的所有26次审计检查
- 在每个阶段之后用框架特定的控制映射呈现结果
- 提出澄清问题以收集组织背景
- 生成一份按框架评分的综合报告
看 工作流.md 以获取交互式审计流程的详细指导。
个人检查使用情况
您还可以通过对话方式运行单个检查:
Check the 2FA status for yourdomain.com
Check the admin roles for yourdomain.com
Check inactive accounts for yourdomain.com
Check license utilization for yourdomain.com示例工作流程
User: "Start a Google Workspace audit for valleytechpartners.com"
Claude:
"I'll conduct a comprehensive compliance audit of valleytechpartners.com.
Which frameworks would you like to assess against? (CMMC, HIPAA, NIST 800-171, etc.)"
User: "CMMC and HIPAA"
Claude:
"Great, I'll assess against CMMC and HIPAA.
PHASE 0: BUSINESS CONTEXT
Before we begin, I need some context:
1. Can you describe in a couple of sentences what your business does?
2. How many employees does your organization have?"
User: "We're an IT managed service provider focused on defense contractors. We have 15 employees."
Claude:
"Perfect! That context will help me tailor the findings.
Let's begin. I'll run this in 5 phases with Q&A after each section...
PHASE 1: ACCESS CONTROL CHECKS
Running 9 checks...
Results:
- 2FA Status: 3 users without 2FA
- 2FA Enforcement Method: Security keys allowed
- Admin Roles: 2 super admins, 1 delegated admin
- Super Admin Recovery: Disabled (good)
- Groups: 1 group with external members
- Session Settings: Retrieved from Policy API - 8hr max
- External Sharing: Retrieved from Policy API - Internal only
- API Access: Manual verification required
- Less Secure Apps: Blocked (good)
Questions:
1. Are any of the 3 users without 2FA service accounts or other exceptions?
2. The 'Marketing' group has contractor@vendor.com. Is this authorized access?"
User: "The contractor is authorized until Q4 2024. One user without 2FA is a service account."
Claude: [Records context, moves to Phases 2-5...]
[After Phase 5]
Claude:
"Before I generate the final report, I need to verify several settings that require manual
checks in the Google Admin Console. I'll walk you through each one.
Let's verify your session control settings:
1. Go to: Google Admin Console > Security > Session control
2. Take a screenshot showing session length and idle timeout settings
3. Share the screenshot with me
This helps verify compliance with CMMC's 15-minute idle timeout requirement."
User: [Provides screenshot]
Claude: "Thank you! I can see:
- Web session: 8 hours ✓
- Idle timeout: 15 minutes ✓
- COMPLIANT with CMMC AC.L2-3.1.11
Let's check the next item - external sharing settings..."
[After all screenshots collected]
Claude:
"Thank you for providing those screenshots. I've verified all manual configuration items.
Let me generate your comprehensive report...
EXECUTIVE SUMMARY:
Organization: IT MSP for defense contractors (15 employees)
Domain: valleytechpartners.com
Compliance Score: 85%
Critical Issues: 1
- 2FA not enforced (2 users without 2FA - excluding service account)
High Priority: 2
- 12 inactive accounts identified
- 1 group with external member (authorized contractor)
Medium Priority: 0
Strengths:
- Session controls properly configured (8hr max, 15min idle timeout)
- Password policy compliant (12 char minimum, 24 password history)
- Email authentication configured (SPF, DKIM, DMARC=quarantine)
Cost Optimization:
- Potential savings: $144/month from removing 12 inactive licenses
Would you like me to:
1. Export this report to JSON or Markdown?
2. Provide detailed remediation steps for the 2FA critical finding?
3. Generate a licensing upgrade recommendation?"个人检查输出示例
{
"domain": "example.com",
"total_users": 25,
"mfa_enforced": false,
"users_without_mfa": 8,
"admin_accounts_without_mfa": 0,
"cmmc_control": "IA.L2-3.5.3",
"recommendation": "Enable 2FA enforcement for all users...",
"licensing_note": "2FA is included in all Google Workspace editions."
}项目结构
workspace-compliance-audit/
├── server.js # MCP server implementation (26 checks + report generator)
├── credentials.json # Google service account credentials (gitignored)
├── .env # Environment variables including admin email (gitignored)
├── README.md # This file (setup and usage)
├── package.json # Node.js dependencies
├── uninstall.sh # Uninstaller script
└── .gitignore # Prevents credential exposure安全考虑
凭据管理
- 凭据文件具有600个权限(仅限所有者读/写)
- 永不承诺
credentials.json到版本控制 - 服务帐户仅具有只读作用域
- 考虑每90天轮换一次用于生产
审计跟踪
- 所有API调用都记录在Google Workspace审核日志中
- 服务帐户活动对超级管理员可见
- 无法修改配置(设计为只读)
组织政策
- 某些组织可能会限制服务帐户密钥的创建
- 开发项目可能需要组织政策豁免
- 生产部署应使用工作负载身份联合,而不是服务帐户密钥
许可对CMMC合规性的影响
无需升级
- 2FA/MFA执法
- 管理员角色管理
- 基本密码策略(长度、复杂性、防止重复使用)
需要企业版
- 会话控制策略 (空闲超时,最大会话长度)
- CMMC AC.L2-3.11.1要求 - 企业标准:约18美元/用户/月 - 企业升级版:约23美元/用户/月
- 高级上下文感知访问策略
路线图
已完成(v1.0)
- 18次全面的CMMC审计检查
- 用于上下文收集的交互式问答工作流程
- 具有风险评分的综合报告生成
- MSP价值识别(成本优化)
- 移动设备管理检查
- 外部共享检测(组、共享驱动器)
- 审计日志指导和可疑活动监控
- 许可证利用率和存储分析
已完成(v2.0)-当前
- 总共26次合规检查 (新增7项检查)
- 谷歌云身份政策API集成 用于自动策略检索
- 数据源透明度 -每个检查都指示其数据源(policy_api、admin_sdk、manual_verification)
- 新检查:不太安全的应用程序、2FA强制方法、超级管理员恢复、高级保护程序、日历外部共享策略、聊天外部限制、满足安全设置
- 将5项现有检查从手动验证迁移到自动策略API查询
- 当策略API不可用时,优雅地回退到手动验证
计划添加(v3.0)
- 自动将报告导出为PDF/HTML/Markdown
- 带更改检测的计划审核运行
- 历史合规性跟踪(趋势分析)
- 与CISA ScubaGear评估集成
- 自动修复脚本(可选)
考虑中
- Microsoft 365支持(并行审计功能)
- MSP的多租户报告仪表板
- 合规性漂移的Webhook通知
- 与票务系统集成(Jira、ServiceNow)
- 连续监控模式(实时警报)
CMMC控制映射
全覆盖(12个CMMC控制中的26个检查):
门禁(AC)
- AC.L2-3.1.1:授权访问控制(非活动帐户,符合安全要求)
- AC.L2-3.1.2:事务和功能控制(API访问)
- AC.L2-3.1.3:CUI流量控制(日历外部共享、聊天限制)
- AC.L2-3.1.5:最小特权原则(管理员角色、超级管理员恢复)
- AC.L2-3.1.11:会话锁定/终止(会话设置)
- AC.L2-3.1.20:外部连接(共享、组、驱动器、电子邮件、日历)
身份验证(IA)
- IA.L2-3.5.3:多因素身份验证(2FA状态、执行方法、不太安全的应用程序、高级保护)
- IA.L2-3.5.7:密码复杂性和管理
审计和问责制(AU)
- AU.L2-3.3.1:系统审核(审核日志设置)
- AU.L2-3.3.4:警报生成(可疑活动)
系统和通信保护(SC)
- 第12-3.13.8节:传输保密(电子邮件身份验证)
- 第12-3.13.11节:加密保护(移动设备加密)
- 第12-3.13.16节:静态数据保护(数据区域/ITAR)
故障排除
Claude Desktop中的“服务器已断开连接”
- 检查MCP服务器日志:
tail -f ~/Library/Logs/Claude/mcp-server-workspace-audit.log - 验证credentials.json路径是绝对的,而不是相对的
- 确保服务帐户已配置全域委派
“无效授权”错误
- 验证全域委派范围是否正确
- 检查一下
.env文件包含有效的管理员电子邮件 - 确认服务帐户的唯一ID与委派中的客户端ID匹配
节点模块错误
- 跑
npm install在项目目录中 - 验证Node.js版本:
node --version(应该是v18+)
贡献
这是一个开放式学习项目。欢迎反馈和贡献。
开发设置
# Test authentication separately
node test-auth.js
# Check for syntax errors
node --check server.js
# Monitor server logs
tail -f ~/Library/Logs/Claude/mcp*.log许可证
MIT许可证-有关详细信息,请参阅许可证文件
致谢
- 基于Anthropic的模型上下文协议(MCP)构建
- 使用谷歌工作区管理SDK
- 基于CMMC模型v2.0的CMMC控制映射
作者
肖恩·斯威尼\ Valley技术合作伙伴\ valleytechpartners.com
免责声明
该工具提供自动评估功能,但不保证CMMC合规性。官方CMMC合规性验证需要专业合规性评估和C3PAO认证。该工具旨在支持内部安全评估,并确定潜在的合规差距。
