| name | implementing-google-workspace-sso-configuration |
| description | 为 Google Workspace 配置基于 SAML 2.0 的单点登录(SSO),与第三方身份提供商集成,实现集中认证并强制执行全组织范围的访问策略。 |
| domain | cybersecurity |
| subdomain | identity-access-management |
| tags | ["google-workspace","sso","saml","identity-provider","authentication","federation"] |
| version | 1.0 |
| author | mahipal |
| license | Apache-2.0 |
实施 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:
- 导航到应用程序 > 添加应用程序 > 搜索"Google Workspace"
- 配置 Google Workspace 应用与您的域
- 为应用程序分配用户/组
- 下载 IdP 元数据或记录:SSO URL、Entity ID、证书
对于 Azure AD(Microsoft Entra ID):
- 导航到企业应用程序 > 新建应用程序 > Google Cloud/Workspace
- 配置单点登录 > SAML
- 设置基本 SAML 配置:
- 标识符(Entity ID):
google.com
- 回复 URL(ACS):
https://www.google.com/a/{your-domain}/acs
- 登录 URL:
https://www.google.com/a/{your-domain}/ServiceLogin
- 下载联合元数据 XML 或证书(Base64)
对于 ADFS:
- 使用联合元数据添加信赖方信任
- 配置声明规则以将 NameID 作为电子邮件地址传递
- 导出令牌签名证书
步骤 2:配置 Google Workspace SSO
- 以超级管理员身份登录 Google 管理控制台(admin.google.com)
- 导航到安全 > 认证 > 使用第三方 IdP 的 SSO
- 点击"添加 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
- 导航到安全 > 认证 > 使用第三方 IdP 的 SSO
- 选择要分配的 SSO 配置文件
- 选择组织单元或组
- 保存并等待传播(最多 24 小时,通常几分钟)
步骤 4:配置网络掩码(可选)
网络掩码根据用户的 IP 控制何时强制执行 SSO:
- 如果用户的 IP 与网络掩码匹配,则使用 Google 登录页面
- 如果用户的 IP 不匹配,则重定向到 IdP
这对于允许从企业网络直接登录 Google,同时对外部访问强制执行 SSO 非常有用。
步骤 5:测试 SSO
- 打开无痕浏览器窗口
- 导航到
https://mail.google.com/a/{your-domain}
- 验证重定向到 IdP 登录页面
- 在 IdP 处认证
- 验证成功重定向回 Google Workspace
- 测试注销流程重定向到 IdP 注销页面
- 测试未在 IdP 中分配的用户(应失败)
验证清单
参考资料