implementing-google-workspace-admin-security
实施全面的 Google Workspace 安全加固,包括管理控制台 配置、抗钓鱼 MFA 强制执行、DLP 策略、电子邮件认证 (SPF/DKIM/DMARC)、OAuth 应用控制和外部共享限制。 适用于 Google Workspace 加固、G Suite 安全配置 或云办公安全管理相关请求。
Best use case
implementing-google-workspace-admin-security is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
实施全面的 Google Workspace 安全加固,包括管理控制台 配置、抗钓鱼 MFA 强制执行、DLP 策略、电子邮件认证 (SPF/DKIM/DMARC)、OAuth 应用控制和外部共享限制。 适用于 Google Workspace 加固、G Suite 安全配置 或云办公安全管理相关请求。
Teams using implementing-google-workspace-admin-security should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/implementing-google-workspace-admin-security/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How implementing-google-workspace-admin-security Compares
| Feature / Agent | implementing-google-workspace-admin-security | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
实施全面的 Google Workspace 安全加固,包括管理控制台 配置、抗钓鱼 MFA 强制执行、DLP 策略、电子邮件认证 (SPF/DKIM/DMARC)、OAuth 应用控制和外部共享限制。 适用于 Google Workspace 加固、G Suite 安全配置 或云办公安全管理相关请求。
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# 实施 Google Workspace 管理员安全
## 适用场景
- 为企业使用部署或加固 Google Workspace 环境
- Google Workspace 配置的 CIS 基准合规性评估
- 防范针对 Google 账户的商业电子邮件欺诈(BEC)和网络钓鱼攻击
- 为 Gmail 和 Google Drive 实施数据丢失防护(DLP)控制
- 限制 OAuth 应用访问和第三方集成
- 使用高级保护计划注册配置管理员账户安全
**不适用于** Microsoft 365 环境;Google Workspace 有独特的管理控制台设置和 API 配置,与 Azure AD/Entra ID 控制有所不同。
## 前置条件
- Google Workspace Business Plus、Enterprise Standard 或 Enterprise Plus 许可证
- 对 Google 管理控制台(admin.google.com)的超级管理员访问权限
- 用于 SPF、DKIM 和 DMARC 记录配置的 DNS 管理权限
- 用于高级安全功能的 Google Cloud Identity 或 Cloud Identity Premium
- 超级管理员账户使用 FIDO2 安全密钥(推荐 YubiKey 5 系列)
## 工作流程
### 步骤 1:加固超级管理员账户
保护 Google Workspace 租户中最高权限的账户:
```bash
# Google Workspace Admin SDK - 配置管理员账户安全
# 使用 gam(Google Apps Manager)CLI 工具
# 列出所有超级管理员账户进行审计
gam print admins role "Super Admin" > super_admins.csv
echo "审查并最小化超级管理员数量(推荐:最多 2-3 个)"
# 为超级管理员强制执行高级保护计划
# APP 提供最强大的账户保护:
# - 登录时需要 FIDO2 安全密钥
# - 阻止第三方应用访问 Gmail 和 Drive
# - 增强账户恢复验证
gam update user superadmin@corp.com \
advanced_protection true
# 创建专用的紧急访问管理员账户
gam create user breakglass-admin@corp.com \
firstname "Break" lastname "Glass Admin" \
password "$(openssl rand -base64 32)" \
changepassword true \
org "/Emergency Accounts"
# 为紧急访问账户分配超级管理员角色
gam create admin breakglass-admin@corp.com "Super Admin"
# 配置管理员活动告警
# Alert Center API - 为管理员操作创建告警
cat > admin_alert_policy.json << 'EOF'
{
"alertPolicies": [
{
"name": "超级管理员登录告警",
"conditions": {
"eventType": "login",
"filterCriteria": "actor.adminRole=SUPER_ADMIN"
},
"notifications": {
"email": ["security-team@corp.com"],
"webhook": "https://siem.corp.com/webhook/google-admin"
}
},
{
"name": "管理员角色变更告警",
"conditions": {
"eventType": "admin_role_change"
},
"notifications": {
"email": ["security-team@corp.com"]
}
}
]
}
EOF
```
### 步骤 2:强制执行抗钓鱼多因素认证
配置消除可钓鱼认证因素的 MFA 策略:
```bash
# 为所有组织单元强制执行两步验证
# 使用 Admin SDK Directory API
# 为整个组织启用 2SV 强制执行
gam update org "/" settings \
2sv_enforcement true \
2sv_enrollment_grace_period 14 \
2sv_new_user_enrollment_period 1
# 配置允许的 2SV 方法 - 仅限抗钓鱼方法
# 高安全性 OU:仅限安全密钥
gam update org "/Executive" settings \
2sv_allowed_methods "SECURITY_KEY_ONLY"
# 普通员工:安全密钥或手机提示(不允许短信/语音)
gam update org "/" settings \
2sv_allowed_methods "SECURITY_KEY,PHONE_PROMPT" \
2sv_disallowed_methods "SMS,VOICE_CALL,BACKUP_CODES"
# 批量检查 2SV 注册状态
gam print users \
fields primaryEmail,isEnrolledIn2Sv,isEnforcedIn2Sv \
query "isEnrolledIn2Sv=false" > users_without_2sv.csv
# 统计未注册 2SV 的用户
echo "未注册 2SV 的用户:"
wc -l < users_without_2sv.csv
# 配置上下文感知访问策略
# 对敏感应用要求 2SV + 托管设备
cat > context_aware_policy.json << 'EOF'
{
"accessLevels": [
{
"name": "需要托管设备",
"conditions": {
"devicePolicy": {
"requireScreenLock": true,
"requireAdminApproval": true,
"allowedEncryptionStatuses": ["ENCRYPTED"],
"requireCorpOwned": false
},
"requiredAccessLevels": ["VERIFIED_2SV"]
}
}
],
"applicationPolicies": [
{
"applications": ["Google Drive", "Gmail", "Admin Console"],
"accessLevel": "需要托管设备"
}
]
}
EOF
```
### 步骤 3:配置电子邮件认证和反钓鱼
设置 SPF、DKIM、DMARC 和高级钓鱼保护:
```bash
# 步骤 3a:配置 SPF 记录
# 添加到 corp.com 的 DNS TXT 记录
echo 'SPF 的 DNS TXT 记录:'
echo 'corp.com TXT "v=spf1 include:_spf.google.com ~all"'
echo ''
echo '测试后,将 ~all 改为 -all(硬失败)以强制执行'
# 步骤 3b:生成并配置 DKIM 签名
# 通过管理控制台或 API 生成 2048 位 DKIM 密钥
gam create dkim domain corp.com selector google bitlength 2048
echo '添加 DKIM DNS TXT 记录:'
echo 'google._domainkey.corp.com TXT "v=DKIM1; k=rsa; p=<管理控制台中的公钥>"'
# 验证 DKIM 是否正常工作
gam info dkim domain corp.com
# 步骤 3c:配置 DMARC 策略
echo 'DMARC 的 DNS TXT 记录(从监控开始):'
echo '_dmarc.corp.com TXT "v=DMARC1; p=none; rua=mailto:dmarc-reports@corp.com; ruf=mailto:dmarc-forensics@corp.com; pct=100; adkim=s; aspf=s"'
echo ''
echo '监控 30 天后,升级为隔离再到拒绝:'
echo '_dmarc.corp.com TXT "v=DMARC1; p=reject; rua=mailto:dmarc-reports@corp.com; pct=100; adkim=s; aspf=s"'
# 步骤 3d:启用高级钓鱼和恶意软件防护
# 在管理控制台 > 安全 > 电子邮件安全中配置
gam update settings email_safety \
protect_against_domain_spoofing true \
protect_against_employee_spoofing true \
protect_against_inbound_spoofing true \
protect_unauthenticated_email true \
identify_spoofed_groups true \
auto_move_suspicious_to_spam true
# 配置附件安全
gam update settings email_safety \
protect_encrypted_attachments true \
protect_anomalous_attachment_types true \
protect_scripts_from_untrusted true \
whitelist_sender_domains "" \
apply_future_recommended_settings true
```
### 步骤 4:实施数据丢失防护(DLP)
配置 DLP 规则以防止敏感数据泄露:
```bash
# 为 Gmail 和 Drive 创建 DLP 规则
# 使用 Google Workspace DLP API
cat > dlp_rules.json << 'EOF'
{
"dlpRules": [
{
"name": "PII 检测 - 社会安全号",
"description": "检测外发邮件和 Drive 共享中的社会安全号",
"trigger": {
"contentMatchers": [
{
"infoType": "US_SOCIAL_SECURITY_NUMBER",
"likelihood": "LIKELY",
"minMatchCount": 1
}
],
"scope": ["GMAIL_OUTBOUND", "DRIVE_EXTERNAL_SHARE"]
},
"action": {
"blockAction": "QUARANTINE",
"notifyAdmin": true,
"notifyUser": true,
"userMessage": "此邮件包含社会安全号,已被隔离等待审查。",
"auditLog": true
}
},
{
"name": "信用卡号检测",
"description": "阻止外发通信中的信用卡号",
"trigger": {
"contentMatchers": [
{
"infoType": "CREDIT_CARD_NUMBER",
"likelihood": "LIKELY",
"minMatchCount": 1
}
],
"scope": ["GMAIL_OUTBOUND", "DRIVE_EXTERNAL_SHARE", "CHAT"]
},
"action": {
"blockAction": "BLOCK",
"notifyAdmin": true,
"notifyUser": true,
"auditLog": true
}
},
{
"name": "机密文档检测",
"description": "检测标记为机密或仅限内部的文档",
"trigger": {
"contentMatchers": [
{
"customRegex": "(?i)(CONFIDENTIAL|INTERNAL ONLY|DO NOT DISTRIBUTE|RESTRICTED)",
"minMatchCount": 2
}
],
"metadataMatchers": [
{
"driveLabels": ["Confidential", "Restricted"]
}
],
"scope": ["DRIVE_EXTERNAL_SHARE"]
},
"action": {
"blockAction": "WARN",
"requireJustification": true,
"auditLog": true
}
}
]
}
EOF
echo "通过管理控制台 > 安全 > 数据保护应用 DLP 规则"
echo "或使用 Google Workspace DLP API 进行程序化部署"
```
### 步骤 5:控制 OAuth 应用和第三方访问
限制哪些第三方应用可以访问组织数据:
```bash
# 配置 OAuth 应用访问控制
# 管理控制台 > 安全 > API 控制 > 应用访问控制
# 默认阻止所有第三方应用,然后将已批准的应用加入白名单
gam update org "/" settings \
third_party_app_access "BLOCKED" \
allow_users_to_install_apps false
# 将已批准的应用加入白名单
cat > approved_apps.json << 'EOF'
{
"allowedApps": [
{
"appId": "slack-app-id",
"name": "Slack",
"scopes": ["gmail.readonly", "calendar.readonly"],
"approvedBy": "security-team",
"reviewDate": "2026-01-15"
},
{
"appId": "zoom-app-id",
"name": "Zoom",
"scopes": ["calendar.events"],
"approvedBy": "security-team",
"reviewDate": "2026-01-15"
},
{
"appId": "salesforce-app-id",
"name": "Salesforce",
"scopes": ["gmail.send", "contacts.readonly"],
"approvedBy": "security-team",
"reviewDate": "2026-01-15"
}
]
}
EOF
# 审计用户授予的当前 OAuth 令牌
gam all users print tokens > oauth_tokens_audit.csv
echo "审查 oauth_tokens_audit.csv 以发现未授权的第三方访问"
# 撤销未批准应用的令牌
gam all users deprovision tokens \
clientid "unapproved-app-client-id"
# 配置 API 范围限制
# 限制第三方应用可以请求的 API 范围
gam update org "/" settings \
api_access_restricted true \
allowed_api_scopes "gmail.readonly,calendar.readonly,drive.readonly"
```
### 步骤 6:配置外部共享和 Drive 安全
锁定数据共享控制:
```bash
# 配置 Google Drive 共享限制
gam update org "/" settings \
drive_sharing_outside_domain "WHITELISTED_DOMAINS" \
drive_sharing_whitelisted_domains "partner1.com,partner2.com" \
drive_allow_file_requests false \
drive_shared_drive_creation "ADMIN_ONLY" \
drive_default_link_sharing "RESTRICTED"
# 配置共享告警
gam create alert \
name "外部共享告警" \
type "drive_external_share" \
condition "shared_outside_domain=true AND file_type IN ('spreadsheet','document','presentation')" \
action "notify_admin security-team@corp.com"
# 审计当前外部共享
gam all users print filelist \
fields id,name,owners,permissions \
query "visibility='anyoneWithLink' or visibility='anyoneCanFind'" \
> external_shares_audit.csv
echo "需要审查的外部共享:"
wc -l < external_shares_audit.csv
# 配置 Google Groups 安全
gam update org "/" settings \
groups_external_members false \
groups_external_posting false \
groups_creation "ADMIN_ONLY" \
groups_allow_external_invitations false
```
## 核心概念
| 术语 | 定义 |
|------|------|
| **高级保护计划(APP)** | Google 最强大的账户安全,要求使用 FIDO2 安全密钥、阻止第三方应用访问,以及增强的账户恢复身份验证 |
| **上下文感知访问** | 在授予访问 Google Workspace 应用程序之前评估设备状态、位置和用户身份的安全策略框架 |
| **DMARC** | 基于域的消息认证、报告和合规协议,通过验证 SPF 和 DKIM 对齐来防止电子邮件域欺骗 |
| **DLP 规则** | 扫描 Gmail、Drive 和 Chat 中内容以查找敏感数据模式,并触发阻止、隔离或警告操作的数据丢失防护策略 |
| **OAuth 应用白名单** | 管理员控制,限制哪些第三方应用可以通过 Google OAuth API 范围访问组织数据 |
| **两步验证(2SV)** | Google 的多因素认证实现,支持安全密钥、手机提示、TOTP 和备份码作为第二因素 |
## 工具与系统
- **Google 管理控制台**:用于管理所有 Google Workspace 安全设置、用户和组织单元的基于 Web 的管理门户
- **GAM(Google Apps Manager)**:用于批量 Google Workspace 管理和自动化的开源命令行工具
- **Google Workspace 告警中心**:安全告警的集中仪表板,包括可疑登录活动、DLP 违规和设备入侵
- **Google BeyondCorp Enterprise**:与 Google Workspace 集成的零信任访问解决方案,用于上下文感知访问策略
## 常见场景
### 场景:保护新收购的 Google Workspace 租户
**背景**:收购后安全审计发现,被收购公司的 Google Workspace 没有 MFA 强制执行,外部共享开放,没有 DLP 策略,多个未授权的 OAuth 应用正在访问用户数据。
**处理方式**:
1. 立即使用 FIDO2 安全密钥为所有超级管理员账户强制执行 2SV
2. 将超级管理员数量减少到 3 个(主要、备用、紧急访问)
3. 从监控模式(p=none)开始部署 SPF、DKIM 和 DMARC
4. 在电子邮件安全中启用所有反钓鱼和反欺骗设置
5. 审计并撤销所有未授权的 OAuth 应用令牌
6. 将第三方应用访问设置为阻止,并制定已批准应用的白名单
7. 将外部 Drive 共享限制为仅限已批准的合作伙伴域
8. 为 PII、财务数据和机密文档部署 DLP 规则
9. 启用上下文感知访问,对敏感应用要求托管设备
10. 配置安全告警和 SIEM 集成以进行持续监控
**注意事项**:
- 在没有注册宽限期的情况下强制执行 MFA 会将用户锁定在账户之外
- 在监控期之前将 DMARC 设置为拒绝会导致合法邮件递送失败
- 在不识别业务关键集成的情况下阻止所有 OAuth 应用会中断工作流程
- 在限制共享之前未审计现有外部共享会使数据暴露在外
## 输出格式
```
GOOGLE WORKSPACE 安全评估报告
=============================================
租户: corp.com
许可证: Enterprise Plus
用户总数: 3,847
组织单元: 12
认证安全
2SV 已强制执行: 是(所有 OU)
2SV 注册: 3,712 / 3,847 (96.5%)
仅限安全密钥: 执行 OU(47 位用户)
高级保护: 3 个超级管理员账户
超级管理员数量: 3(在推荐范围内)
电子邮件认证
SPF: 已配置(硬失败:-all)
DKIM: 已配置(2048 位,选择器:google)
DMARC: 已强制执行(p=reject,100%)
反钓鱼: 所有保护已启用
反欺骗: 已启用(域 + 员工姓名)
数据保护
DLP 规则活跃: 7
PII 检测: SSN、信用卡、护照
内容标签: 机密、受限
自定义模式: 3 条组织特定规则
DLP 违规(30 天):89(67 已阻止,22 已警告)
应用控制
第三方应用策略: 已阻止(白名单模式)
已批准应用: 12
未授权令牌: 0(全部已撤销)
API 范围限制: 已启用
共享控制
外部共享: 受限(仅限白名单域)
公共链接共享: 已禁用
外部组成员: 已禁用
共享驱动器创建: 仅限管理员
```Related Skills
triaging-security-incident
使用 NIST SP 800-61r3 和 SANS PICERL 框架对安全事件进行初始分类,确定严重性、范围和所需响应行动。 按类型对事件分类,根据业务影响分配优先级,并路由到相应的响应团队。适用于事件分类、 安全告警分类、严重性评估、事件优先级排序或初始事件分析等请求场景。
triaging-security-incident-with-ir-playbook
使用结构化 IR Playbook 对安全事件进行分类和优先排序,确定严重性、分配响应团队并启动适当的响应程序。
triaging-security-alerts-in-splunk
在 Splunk Enterprise Security 中对安全告警进行分类,通过 SPL 查询和事件审查(Incident Review) 仪表板对重要事件进行严重性分类、调查、关联相关遥测并做出升级或关闭决策。 适用于 SOC 分析师需要处理关联搜索产生的告警队列、确定调查优先级, 或需要为交接给二/三级分析师记录分类决策时。
testing-websocket-api-security
测试 WebSocket API 实现中的安全漏洞,包括 WebSocket 升级时缺少身份认证、跨站 WebSocket 劫持(Cross-Site WebSocket Hijacking,CSWSH)、通过 WebSocket 消息进行的注入攻击、输入校验不足、通过消息泛洪实施拒绝服务,以及通过 WebSocket 帧造成的信息泄露。测试人员使用 Burp Suite 拦截 WebSocket 握手和消息,构造恶意 payload,并测试 WebSocket 通道上的授权绕过。适用于 WebSocket 安全测试、WS 渗透测试、CSWSH 攻击或实时 API 安全评估相关请求。
testing-jwt-token-security
在安全测试活动中,评估 JSON Web Token(JWT)实现中的密码学弱点、算法混淆攻击和授权绕过漏洞。
testing-api-security-with-owasp-top-10
使用自动化和手工测试技术,针对 OWASP API 安全 Top 10 风险对 REST 和 GraphQL API 端点进行系统性评估。
performing-wireless-security-assessment-with-kismet
使用 Kismet 通过被动射频监控进行无线网络安全评估,检测流氓接入点(Rogue AP)、隐藏 SSID、弱加密和未授权客户端。
performing-ssl-tls-security-assessment
使用 sslyze Python 库评估 SSL/TLS 服务器配置,评估加密套件、证书链、协议版本、HSTS 头部,以及 Heartbleed 和 ROBOT 等已知漏洞。
performing-soap-web-service-security-testing
通过分析 WSDL 定义,测试 XML 注入(XML Injection)、XXE、WS-Security 绕过和 SOAPAction 欺骗,对 SOAP Web 服务执行安全测试。
performing-serverless-function-security-review
对 AWS Lambda、Azure Functions 和 GCP Cloud Functions 中的无服务器函数(Serverless Function)执行安全审查,识别过度宽松的执行角色(Execution Role)、不安全的环境变量、注入漏洞和缺失的运行时保护措施。
performing-scada-hmi-security-assessment
对 SCADA 人机界面(HMI, Human-Machine Interface)系统进行安全评估,识别基于 Web 的 HMI、瘦客户端配置、认证机制以及 HMI 与 PLC 之间通信信道中的漏洞,符合 IEC 62443 和 NIST SP 800-82 指南要求。
performing-s7comm-protocol-security-analysis
对西门子SIMATIC S7 PLC使用的S7comm和S7CommPlus协议进行安全分析,识别漏洞,包括重放攻击、完整性绕过、未授权的CPU停止命令以及针对S7-300、S7-400、S7-1200和S7-1500控制器弱点的程序下载操控。