使用自定义 SAML 应用将 Google Workspace 连接到 Cloudflare One。你可以在身份验证期间发送群组成员资格,并配置跨域身份管理系统 (SCIM) 来同步用户更新和停用用户。
此设置使用 Cloudflare One 中的 SAML 身份提供商。专用的 Google Workspace 集成不支持 SCIM。
- Google Workspace 超级管理员账户。
- 你的 Cloudflare One 团队名称。
- 如需使用 SCIM,需在 Google Admin 控制台中访问 Google 自定义 SCIM 配置文件 Beta 版。
您可以在 Cloudflare 仪表板 ↗ 的 Settings(设置)> Team name and domain(团队名称和域名)> Team name(团队名称) 下找到您的团队名称。
在 Google Workspace 中创建自定义 SAML 应用 ↗:
- 在 Google Admin 控制台 ↗中,前往 Apps > Web and mobile apps。
- 选择 Add app > Add custom SAML app,输入应用名称,然后选择 Continue。
- 复制 Google 的 SSO URL 和 Entity ID,并下载签名证书。添加 SAML 身份提供商到 Cloudflare One 时需要使用这些值(参阅第 2 步)。
- 在 Service provider details 中,将 ACS URL 和 Entity ID 均设为
https://<your-team-name>.cloudflareaccess.com/cdn-cgi/access/callback。 - 将 Name ID format 设为 EMAIL,并将 Name ID 设为用户的主要电子邮件地址。
- 在 Attribute mapping 中,将用户的主要电子邮件地址映射到名为
email的 App attribute。 - (可选)要向 Cloudflare One 发送群组成员资格,请在 Group membership (optional) 下搜索并选择要纳入的 Google 群组。将 App attribute 设为
groups。必须使用此名称,以便 Cloudflare 将这些值识别为 IdP 群组,而非自定义 SAML 属性。 - 选择 Finish,然后为需要向 Cloudflare One 进行身份验证的用户启用该应用。
Google 仅包含登录用户直接或间接所属的已选群组。最多可选择 75 个群组。如果在 Google 中重命名群组,请在群组成员资格映射中重新选择该群组。请参阅 Google 的群组成员资格映射文档 ↗。
用户进行身份验证时,群组成员资格会随 SAML 断言发送。此映射与 SCIM 用户预配相互独立;将群组选作 SCIM 预配范围并不会将其成员资格发送到 Cloudflare One。
- 在 Cloudflare 仪表板 ↗中,前往 Zero Trust > Integrations > Identity providers。
- 选择 Add new identity provider,然后选择 SAML。
- 为身份提供商选择一个描述性名称。
- 将 Google 的 SSO URL、Entity ID 和签名证书分别输入 Single Sign on URL、IdP Entity ID or Issuer URL 和 Signing certificate。
- 在 Optional configurations 下,将 Email attribute name 设置为
email。如果配置了群组成员映射,请将groups添加到 SAML attributes。 - 选择 Save(保存)。
有关其他 SAML 设置或 Terraform 配置,请参阅通用 SAML 2.0。
使用有权访问 SAML 应用的用户测试 IdP 集成。如果配置了群组成员映射,请使用映射群组中的成员,并确认返回的身份中包含预期群组。
Google 的自定义 SCIM 配置文件支持为 SAML 应用自动预配用户。此功能处于 Beta 阶段,且必须在 Google 管理控制台中可用。配置 SCIM 前,请先为至少一个用户启用自定义 SAML 应用。
-
在 Cloudflare 仪表板 ↗中,前往 Zero Trust > Integrations(集成) > Identity providers。
找到 Google Workspace SAML 集成,然后选择 Edit(编辑)。
-
启用 Enable SCIM(启用 SCIM)。
-
(可选)配置以下设置:
- Enable user deprovisioning(启用用户取消预配):当用户从 Google Workspace SAML 中的 SCIM 应用程序中移除时,撤销用户的活动会话。这将使所有活动 Access 会话失效,并提示对任何 Cloudflare One Client 会话策略重新进行身份验证。
- Remove user seat on deprovision(取消预配时移除用户席位):当用户从 Google Workspace SAML 中的 SCIM 应用程序中移除时,从您的 Cloudflare One 账户中移除用户席位。
- SCIM identity update behavior(SCIM 身份更新行为):选择当用户身份在 Google Workspace SAML 中更新时,Cloudflare One 中发生的情况。
- Automatic identity updates:当 Google Workspace SAML 通过 SCIM 发送更新的身份或组成员资格时,自动更新用户注册表身份。此身份用于 Gateway 策略和 Cloudflare One Client 设备配置文件;Access 将在用户重新进行身份验证时读取其更新的身份。
- Group membership change reauthentication:当用户的组成员资格在 Google Workspace SAML 中更改时,撤销用户的活动会话。这将使所有活动 Access 会话失效,并提示对任何 Cloudflare One Client 会话策略重新进行身份验证。Access 将在用户重新进行身份验证时读取其更新的组成员资格。
- No action:在用户下次对 Access 或 Cloudflare One Client 重新进行身份验证时更新用户身份。
选择 Regenerate Secret(重新生成密钥)。复制 SCIM Endpoint(SCIM 终结点) 和 SCIM Secret(SCIM 密钥)。您需要将这些值输入到 Google Workspace SAML 中。
-
选择 Save(保存)。
SCIM 密钥永不过期,但您可以随时手动重新生成密钥。
如果 Google 的取消预配事件应撤销活动的 Access 会话,请启用 Enable user deprovisioning。Google 配置的取消预配延迟仍然适用。
- 在 Google 管理控制台 ↗中,转到 Apps > Web and mobile apps,然后选择为 Cloudflare One 创建的 SAML 应用。
- 在 Autoprovisioning 下,选择 Configure auto-provisioning。在 Access token 中输入 Cloudflare SCIM Secret,然后在 Endpoint URL 中输入 SCIM Endpoint。
- 检查发现的属性映射。确保 SCIM
userName映射到用于 SAML 身份验证的同一主电子邮件地址。 - (可选)将预配限制为特定 Google 群组。这会限定要预配的用户,但不会配置群组成员同步。用户还必须有权访问 SAML 应用。Google 不会预配来自辅助域或组织外部的群组成员。
- 为应用访问权限被关闭,或 Google 账户被暂停或删除的用户选择取消预配操作和延迟。Google 可以在配置的延迟后停用用户或发送硬删除请求。
- 选择一个已通过 Cloudflare One 身份验证的专用测试用户,然后选择 Test Connection。此测试会在 SCIM 端点创建、更新和删除测试用户。选择 Finish 前,请检查结果。
- 返回应用的 Autoprovisioning 设置,并将开关设为 Active。仅完成设置不会启动预配。
此集成涵盖用户生命周期更新。请为基于群组的策略单独配置 SAML groups 属性。不要依赖 SCIM 预配范围来传递群组成员变更,或在用户更改群组时撤销会话。
要检查用户身份是否已在 Cloudflare One 中更新,请查看您的 SCIM 配置日志。