L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Productivité · SKILL.md

implementing-google-workspace-admin-security

implementing-google-workspace-admin-security

实施全面的 Google Workspace 安全加固,包括管理控制台 配置、抗钓鱼 MFA 强制执行、DLP 策略、电子邮件认证 (SPF/DKIM/DMARC)、OAuth 应用控制和外部共享限制。 适用于 Google Workspace 加固、G Suite 安全配置 或云办公安全管理相关请求。

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: implementing-google-workspace-admin-security description: > 实施全面的 Google Workspace 安全加固,包括管理控制台 配置、抗钓鱼 MFA 强制执行、DLP 策略、电子邮件认证 (SPF/DKIM/DMARC)、OAuth 应用控制和外部共享限制。 适用于 Google Workspace 加固、G Suite 安全配置 或云办公安全管理相关请求。 domain: cybersecurity subdomain: identity-access-management tags: [Google-Workspace, admin-security, MFA, DMARC, DLP, OAuth, cloud-security] version: "1.0" author: mahipal license: Apache-2.0

实施 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 租户中最高权限的账户:

# 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 策略:

# 为所有组织单元强制执行两步验证
# 使用 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 和高级钓鱼保护:

# 步骤 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 规则以防止敏感数据泄露:

# 为 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 应用和第三方访问

限制哪些第三方应用可以访问组织数据:

# 配置 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 安全

锁定数据共享控制:

# 配置 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 范围限制:   已启用

共享控制
外部共享:       受限(仅限白名单域)
公共链接共享:   已禁用
外部组成员:     已禁用
共享驱动器创建:  仅限管理员
Skills enregistrées