# Implementing Google Workspace Sso Configuration

> 为 Google Workspace 配置基于 SAML 2.0 的单点登录（SSO），与第三方身份提供商集成，实现集中认证并强制执行全组织范围的访问策略。

- Skill: `killvxk/implementing-google-workspace-sso-configuration` (Agent Skill, multi-file: 8 files)
- Install (CLI): `npx skillmds@latest add killvxk/implementing-google-workspace-sso-configuration`
- Raw SKILL.md: https://api.skillmd.com/api/skills/killvxk/implementing-google-workspace-sso-configuration/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- License: Apache-2.0
- Author: killvxk (https://skillmd.com/u/killvxk)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/killvxk/implementing-google-workspace-sso-configuration

---


# 实施 Google Workspace SSO 配置

## 概述

Google Workspace 的单点登录（SSO）允许组织通过其现有的身份提供商（IdP，如 Okta、Azure AD（Microsoft Entra ID）或 ADFS）对用户进行认证，而无需管理单独的 Google 密码。这通过 SAML 2.0 协议实现，其中 Google Workspace 充当服务提供商（SP），组织的 IdP 处理认证。SSO 集中了凭据管理，在 IdP 处强制执行 MFA 策略，并可在用户离开组织时立即撤销访问权限。

## 前置条件

- Google Workspace Business、Enterprise 或 Education 版本
- 对 Google 管理控制台的超级管理员访问权限
- 支持 SAML 2.0 的身份提供商（Okta、Azure AD、ADFS、Ping Identity）
- IdP 签名证书（X.509 PEM 格式，RSA 或 DSA）
- Google Workspace 域的 DNS 验证

## 核心概念

### SAML 2.0 SSO 流程

```
用户导航到 Google Workspace 应用（Gmail、Drive 等）
        │
        ├── Google 检查：此域是否配置了 SSO？
        │
        ├── 是 → 将用户重定向到 IdP 登录页面 URL
        │          （通过浏览器重定向发送 SAML AuthnRequest）
        │
        ├── 用户在 IdP 处认证（凭据 + MFA）
        │
        ├── IdP 生成带有签名断言的 SAML 响应
        │
        ├── 浏览器将 SAML 响应 POST 到 Google ACS URL：
        │   https://www.google.com/a/{domain}/acs
        │
        ├── Google 根据上传的证书验证 SAML 签名
        │
        └── 用户获得 Google Workspace 访问权限
```

### 关键 SAML 参数

| 参数 | 值 |
|-----------|-------|
| ACS URL | `https://www.google.com/a/{your-domain}/acs` |
| Entity ID | `google.com/a/{your-domain}` 或 `google.com` |
| NameID 格式 | `urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress` |
| NameID 值 | 用户的主要 Google Workspace 邮箱 |
| 绑定方式 | HTTP-POST（用于 ACS），HTTP-Redirect（用于 SSO URL） |

## 实施步骤

### 步骤 1：准备身份提供商

**对于 Okta：**
1. 导航到应用程序 > 添加应用程序 > 搜索"Google Workspace"
2. 配置 Google Workspace 应用与您的域
3. 为应用程序分配用户/组
4. 下载 IdP 元数据或记录：SSO URL、Entity ID、证书

**对于 Azure AD（Microsoft Entra ID）：**
1. 导航到企业应用程序 > 新建应用程序 > Google Cloud/Workspace
2. 配置单点登录 > SAML
3. 设置基本 SAML 配置：
   - 标识符（Entity ID）：`google.com`
   - 回复 URL（ACS）：`https://www.google.com/a/{your-domain}/acs`
   - 登录 URL：`https://www.google.com/a/{your-domain}/ServiceLogin`
4. 下载联合元数据 XML 或证书（Base64）

**对于 ADFS：**
1. 使用联合元数据添加信赖方信任
2. 配置声明规则以将 NameID 作为电子邮件地址传递
3. 导出令牌签名证书

### 步骤 2：配置 Google Workspace SSO

1. 以超级管理员身份登录 Google 管理控制台（admin.google.com）
2. 导航到安全 > 认证 > 使用第三方 IdP 的 SSO
3. 点击"添加 SSO 配置文件"或配置默认配置文件

**第三方 SSO 配置文件设置：**

| 设置 | 值 |
|---------|-------|
| 使用第三方 IdP 设置 SSO | 已启用 |
| 登录页面 URL | IdP 的 SAML SSO 端点（如 `https://idp.example.com/sso/saml`） |
| 注销页面 URL | IdP 的注销 URL（如 `https://idp.example.com/slo`） |
| 更改密码 URL | IdP 的密码更改 URL |
| 验证证书 | 上传 IdP 的 X.509 签名证书 |
| 使用域特定颁发者 | 已启用（使用 `google.com/a/{domain}` 作为 Entity ID） |

### 步骤 3：将 SSO 配置文件分配给用户

SSO 配置文件可在不同范围应用：

```
组织范围（所有用户）
    │
    ├── 组织单元级别（特定部门）
    │   ├── 工程 OU → 通过 Okta 的 SSO
    │   ├── 市场 OU → 通过 Azure AD 的 SSO
    │   └── 承包商 OU → 通过特定 IdP 的 SSO
    │
    └── 组级别（特定安全组）
        └── VPN 用户 → 带附加 MFA 的 SSO
```

1. 导航到安全 > 认证 > 使用第三方 IdP 的 SSO
2. 选择要分配的 SSO 配置文件
3. 选择组织单元或组
4. 保存并等待传播（最多 24 小时，通常几分钟）

### 步骤 4：配置网络掩码（可选）

网络掩码根据用户的 IP 控制何时强制执行 SSO：

- 如果用户的 IP 与网络掩码匹配，则使用 Google 登录页面
- 如果用户的 IP 不匹配，则重定向到 IdP

这对于允许从企业网络直接登录 Google，同时对外部访问强制执行 SSO 非常有用。

### 步骤 5：测试 SSO

1. 打开无痕浏览器窗口
2. 导航到 `https://mail.google.com/a/{your-domain}`
3. 验证重定向到 IdP 登录页面
4. 在 IdP 处认证
5. 验证成功重定向回 Google Workspace
6. 测试注销流程重定向到 IdP 注销页面
7. 测试未在 IdP 中分配的用户（应失败）

## 验证清单

- [ ] IdP SAML 应用程序已配置正确的 ACS URL 和 Entity ID
- [ ] IdP 签名证书已上传到 Google 管理控制台
- [ ] SSO 配置文件已分配给目标组织单元/组
- [ ] SAML 断言包含正确的 NameID（邮箱格式）
- [ ] IdP 为所有 Google Workspace 用户强制执行 MFA
- [ ] 注销 URL 已配置为终止 IdP 会话
- [ ] 如果内外部访问不同，已配置网络掩码
- [ ] 紧急访问超级管理员账户绕过 SSO（使用 Google 认证）
- [ ] 已使用多种用户类型（管理员、标准用户、承包商）测试 SSO
- [ ] SAML 响应签名验证成功
- [ ] 已测试错误处理（证书过期、无效用户、时钟偏差）

## 参考资料

- [Google Workspace SSO 配置指南](https://support.google.com/a/answer/12032922)
- [设置自定义 SAML 应用 - Google](https://support.google.com/a/answer/6087519)
- [Okta Google Workspace SAML 指南](https://saml-doc.okta.com/SAML_Docs/How-to-Enable-SAML-2.0-in-Google-Apps.html)
- [SAML 2.0 技术概述 - OASIS](https://docs.oasis-open.org/security/saml/Post2.0/sstc-saml-tech-overview-2.0.html)

