支持此功能的版本:企业 Plus 版;教育标准版和教育 Plus 版。 比较您的版本
为 Google Workspace 客户端加密功能 (CSE) 选择外部密钥服务后,您需要将 Google Workspace 连接到身份提供方 (IdP),即第三方 IdP 或 Google 身份。选择用于加密内容的加密密钥服务会先使用您的 IdP 来验证用户身份,然后用户才能对内容进行加密或访问加密的内容。
注意:配置 IdP 后,您可以配置访客 IdP,以允许从外部访问贵组织的客户端加密内容。有关详情,请参阅配置访客 IdP。
准备工作
请确保您已选择要用于 CSE 的加密密钥服务。有关详情,请参阅选择外部密钥服务。
第 1 步:规划 IdP 连接
如需将加密密钥服务用于 CSE,您需要支持 OpenID Connect (OIDC) 标准的身份提供方 (IdP)。如果您尚未为 Google Workspace 使用 OIDC IdP,可以通过以下两种方式之一来设置 IdP,以用于密钥服务:
方法 1:使用第三方 IdP(推荐)
如果您的安全模型需要进一步将加密数据与 Google 隔离,请使用 OIDC 第三方 IdP。
如果您已使用第三方 IdP 来实现基于 SAML 的单点登录 (SSO):我们建议您为 CSE 使用您用于访问 Google Workspace 服务的 IdP(如果该 IdP 支持 OIDC)。不妨详细了解如何为 Google Workspace 采用基于 SAML 的单点登录。
方法 2:使用 Google 身份
如果您的安全模型不需要将加密数据与 Google 作进一步隔离,则您可以使用默认的 Google 身份作为您的 IdP。
如果您为 CSE 使用第三方 IdP,建议您在用户的浏览器中允许来自 IdP 的第三方 Cookie;否则,用户在使用 CSE 时可能需要更频繁地登录您的 IdP。
- 如果贵组织使用 Chrome 企业版:您可以使用 CookiesAllowedForUrls 政策。
- 对于其他浏览器:请查看相应浏览器的支持内容,了解如何允许第三方 Cookie。
您可以使用在贵组织网站上托管的 .well-known 文件,或通过管理控制台(即您的 IdP 后备)来设置 IdP(第三方 IdP 或 Google 身份)。每种方法都有一些注意事项,如下表所示。
注意:如果您配置的是访客 IdP,则需要使用管理控制台。
注意事项 | .well-known 设置 | 管理控制台设置(IdP 后备) |
---|---|---|
与 Google 隔离的程度 | IdP 设置存储在您自己的服务器上。 | IdP 设置存储在 Google 服务器上。 |
管理员职责 | 网站站长可以代替 Google Workspace 超级用户来管理您的设置。 | 只有 Google Workspace 超级用户可以管理您的 IdP 设置。 |
CSE 的可用性 | CSE 的可用性(正常运行时间)取决于托管 .well-known 文件的服务器的可用性。 | CSE 的可用性基本等同于 Google Workspace 服务的总体可用性。 |
设置起来的难易程度 | 需要在管理控制台之外更改服务器的 DNS 设置。 | 在管理控制台中配置设置。 |
与组织外部人员共享内容 | 协作者的外部密钥服务可轻松访问您的 IdP 设置。这种访问可自动进行,从而确保在您的 IdP 设置发生任何更改后协作者的服务立即就能获取到这些更改。 |
协作者的外部密钥服务无法访问您在管理控制台中的 IdP 设置。首次共享加密文件之前以及每次更改 IdP 设置后,您必须直接向协作者提供您的 IdP 设置。 |
第 2 步:为 CSE 创建客户端 ID
您需要为受支持的 Google Workspace Web 应用创建客户端 ID 并添加重定向 URI。如需查看受支持应用的列表,请参阅上文中支持的 Web 应用、桌面应用和移动应用。
为 Web 应用创建客户端 ID 的方式取决于您使用的是第三方 IdP 还是 Google 身份。
注意:如果您配置的是访客 IdP,则需要再创建一个用于访问 Google Meet 的客户端 ID,该 ID 将用于验证访客是否已受邀参加会议。有关详情,请参阅配置访客 IdP。
如果您为 CSE 使用第三方 IdP
使用 IdP 的管理控制台创建客户端 ID。您还需要将以下重定向 URI 添加到 IdP 的管理控制台:
网页服务:
https://client-side-encryption.google.com/callback
https://client-side-encryption.google.com/oidc/cse/callback
https://client-side-encryption.google.com/oidc/drive/callback
https://client-side-encryption.google.com/oidc/gmail/callback
https://client-side-encryption.google.com/oidc/meet/callback
https://client-side-encryption.google.com/oidc/calendar/callback
https://client-side-encryption.google.com/oidc/docs/callback
https://client-side-encryption.google.com/oidc/sheets/callback
https://client-side-encryption.google.com/oidc/slides/callback
桌面版云端硬盘:
http://localhost
Android 版和 iOS 版移动应用:
https://client-side-encryption.google.com/oidc/gmail/native/callback
https://client-side-encryption.google.com/oidc/meet/native/callback
https://client-side-encryption.google.com/oidc/calendar/native/callback
https://client-side-encryption.google.com/oidc/drive/native/callback
https://client-side-encryption.google.com/oidc/gmail/meet/native/callback
如果您为 CSE 使用 Google 身份
您需要在 Google Cloud 控制台中创建客户端 ID。此外,您还需要设置 JavaScript 源(也称为跨域资源共享 [CORS])并添加重定向 URI。
- 前往 console.cloud.google.com。
- 创建新的 Google Cloud 项目。查看相关说明。
根据需要设置项目,此操作只是为了存储凭据。
- 在控制台中,依次点击“菜单”图标 API 和服务 凭据。
- 为新 Web 应用创建 OAuth 客户端 ID,以便在该应用中使用 CSE。查看完整说明。
- 通过以下网址更新 JavaScript 来源:
https://admin.google.com
https://client-side-encryption.google.com
- 通过以下网址更新已获授权的重定向 URI。
网页服务:
https://client-side-encryption.google.com/callback
https://client-side-encryption.google.com/oidc/cse/callback
https://client-side-encryption.google.com/oidc/drive/callback
https://client-side-encryption.google.com/oidc/gmail/callback
https://client-side-encryption.google.com/oidc/meet/callback
https://client-side-encryption.google.com/oidc/calendar/callback
https://client-side-encryption.google.com/oidc/docs/callback
https://client-side-encryption.google.com/oidc/sheets/callback
https://client-side-encryption.google.com/oidc/slides/callback
桌面版云端硬盘:
http://localhost
Android 版和 iOS 版移动应用:
Android 和 iOS 移动应用无需进行额外配置。
系统已创建 OAuth 客户端 ID。请保存此 ID,以便用于 .well-known/cse-configuration 文件或管理控制台。
如果您希望用户将 CSE 用于桌面应用和移动应用,则需要这些应用的客户端 ID。对于每个移动应用,您需要为每个平台(Android 和 iOS)各创建一个客户端 ID。如需查看受支持应用的列表,请参阅上文中支持的 Web 应用、桌面应用和移动应用。
获取桌面应用和移动应用的客户端 ID 的方式取决于您使用的是第三方 IDP 还是 Google 身份。
注意:这些客户端 ID 必须支持 PKCE (RFC 7636) 的 authorization_code
授权类型。
如果您要为 CSE 使用第三方 IdP
请使用 IdP 的管理控制台为每个应用生成单独的客户端 ID。
如果您要为 CSE 使用 Google 身份
请使用以下客户端 ID:
- 桌面版云端硬盘 - 请使用客户端 ID
947318989803-k88lapdik9bledfml8rr69ic6d3rdv57.apps.googleusercontent.com
- Android 版云端硬盘 - 请使用客户端 ID
313892590415-6lbccuf47cou4q45vanraqp3fv5jt9do.apps.googleusercontent.com
- iOS 版云端硬盘 - 请使用客户端 ID
313892590415-d3h1l7kl4htab916r6jevqdtu8bfmh9m.apps.googleusercontent.com
- Android 版 Google 日历 - 请使用客户端 ID
313892590415-q84luo8fon5pn5vl8a6rppo1qvcd3qvn.apps.googleusercontent.com
- iOS 版 Google 日历 - 请使用客户端 ID
313892590415-283b3nilr8561tedgu1n4dcm9hd6g3hr.apps.googleusercontent.com
- Android 版 Gmail - 请使用客户端 ID
313892590415-samhd32i4piankgs42o9sit5e9dug452.apps.googleusercontent.com
- iOS 版 Gmail - 请使用客户端 ID
313892590415-ijvjpbnsh0gauuunjgsdn64ngg37k6rc.apps.googleusercontent.com
- Android 版 Meet - 请使用客户端 ID
313892590415-i06v47su4k03ns7ot38akv7s9ari5oa5.apps.googleusercontent.com
- iOS 版 Meet - 请使用客户端 ID
313892590415-32ha2bvs0tr1b12s089i33o58hjvqt55.apps.googleusercontent.com
第 3 步:连接到 IdP 以便使用 CSE
您可以通过使用 .well-known 文件或管理控制台,将 Google Workspace 连接到您的身份提供方 (IdP)。建立连接后,需要在管理控制台中将您的 IdP 列入许可名单。
注意:如果您配置的是访客 IdP,则需要使用管理控制台。
方法 1:使用 .well-known 文件连接到 IdP
如要使用此方法设置第三方或 Google IdP,您需要在贵组织的公开网站上放置 .well-known 文件。此文件用于指定您使用哪个 IdP,让外部协作者能够发现您的 IdP 设置。
您必须将 IdP 配置放置在您网域中的以下 URI 处:
https://cse.<子域名>.<域名>.tld/.well-known/cse-configuration
其中,<子域名>.<域名>.tld 应与您电子邮件地址中的域名一致。例如,如果您电子邮件地址中的域名是 solarmora.com,那么您需要将 .well-known 文件放置在以下目录下:
https://cse.solarmora.com/.well-known/cse-configuration
注意:前缀 https://cse 是必需的,因为 .well-known URI 并未按照 IETF (RFC 8615) 的标准注册。
.well-known 文件位于 well-known/cse-configuration 目录下,其内容必须进行 JSON 编码 (RFC 8259),并包含以下字段:
字段 | 说明 |
---|---|
|
IdP 的名称 - 您可以根据自己的喜好使用任何名称。用户会在其 Google 服务(例如“云端硬盘”和“文档编辑器”)的 IdP 错误消息中看到此名称。 |
|
CSE 客户端 Web 应用用来获取 JSON Web 令牌 (JWT) 的 OpenID Connect (OIDC) 客户端 ID 创建客户端 ID 时,您还需要在 Google Cloud 控制台中添加重定向 URI。 如需详细了解如何创建客户端 ID,请参阅上文中的为 Web 应用创建客户端 ID。 |
discovery_uri |
OIDC 发现网址,其定义见此 OpenID 规范。 |
如果您使用的是第三方 IdP IdP 会为您提供此网址(通常以 |
|
如果您使用的是 Google 身份 请使用 |
|
grant_type |
OIDC 与 CSE 客户端 Web 应用搭配使用所用的 OAuth 流程 |
如果您使用的是第三方 IdP 您可以对 CSE Web 应用使用 |
|
如果您使用的是 Google 身份 您只能为 Web 应用使用 |
|
|
您要与 CSE 搭配使用的其他客户端应用。您需要将每个应用的客户端 ID 添加到 .well-known 文件中。 注意:这些客户端 ID 必须支持 PKCE (RFC 7636) 的 如需详细了解如何创建客户端 ID,请参阅上文中的为桌面应用和移动应用创建客户端 ID。 |
如果您使用的是第三方 IdP,那么您的 .well-known 文件应如下所示:
{
"name" : "IdP 的名称",
"client_id" : "IdP 提供的 ID",
"discovery_uri" : "https://<您的 IdP>.com/.well-known/openid-configuration"
"applications":{
"drivefs":{
"client_id": "IdP 提供的 ID"
},
"drive-android": {
"client_id": "IdP 提供的 ID"
},
"drive-ios": {
"client_id": "IdP 提供的 ID"
},
"calendar-android": {
"client_id": "IdP 提供的 ID"
},
"calendar-ios": {
"client_id": "IdP 提供的 ID"
},
"gmail-android": {
"client_id": "IdP 提供的 ID"
},
"gmail-ios": {
"client_id": "IdP 提供的 ID"
},
"meet-android": {
"client_id": "IdP 提供的 ID"
},
"meet-ios": {
"client_id": "IdP 提供的 ID"
}
}
}
如果您使用的是 Google 身份,那么您的 .well-known 文件应如下所示:
{
"name" : "Google 身份",
"client_id" : "Google Cloud 提供的 ID (上文中创建)",
"discovery_uri" : "https://accounts.google.com/.well-known/openid-configuration",
"applications":{
"drivefs":{
"client_id": "947318989803-k88lapdik9bledfml8rr69ic6d3rdv57.apps.googleusercontent.com"
},
"drive-android":{
"client_id": "313892590415-6lbccuf47cou4q45vanraqp3fv5jt9do.apps.googleusercontent.com"
},
"drive-ios":{
"client_id": "313892590415-d3h1l7kl4htab916r6jevqdtu8bfmh9m.apps.googleusercontent.com"
},
"calendar-android":{
"client_id": "313892590415-q84luo8fon5pn5vl8a6rppo1qvcd3qvn.apps.googleusercontent.com"
},
"calendar-ios":{
"client_id": "313892590415-283b3nilr8561tedgu1n4dcm9hd6g3hr.apps.googleusercontent.com"
},
"gmail-android":{
"client_id": "313892590415-samhd32i4piankgs42o9sit5e9dug452.apps.googleusercontent.com"
},
"gmail-ios":{
"client_id": "313892590415-ijvjpbnsh0gauuunjgsdn64ngg37k6rc.apps.googleusercontent.com"
},
"meet-android":{
"client_id": "313892590415-i06v47su4k03ns7ot38akv7s9ari5oa5.apps.googleusercontent.com"
},
"meet-ios":{
"client_id": "313892590415-32ha2bvs0tr1b12s089i33o58hjvqt55.apps.googleusercontent.com"
}
}
}
如果您对 IdP 使用 Google 身份:您可以在创建客户端 ID 时在 Google Cloud 控制台中设置 CORS。有关详情,请参阅上文中的为 Web 应用创建客户端 ID。
如果您使用的是第三方 IdP:您的 .well-known/openid-configuration 和 .well-known/cse-configuration 需要允许跨域资源共享 (CORS) 调用的源网址。在 IdP 的管理控制台中,按照以下步骤进行配置:
.well-known/openid-configuration(发现服务 URI)
- 方法:GET
- 允许的源网址:
https://admin.google.com
https://client-side-encryption.google.com
.well-known/cse-configuration
- 方法:GET
- 允许的源网址:
https://admin.google.com
https://client-side-encryption.google.com
方法 2:使用管理控制台连接到 IdP
如要使用管理控制台连接到 IdP,您需要以下有关 IdP 的信息:
IdP 的名称 | 有关详情,请参阅上文中的配置 .well-known 文件。 |
Web 应用的客户端 ID | 有关详情,请参阅上文中的为 Web 应用创建客户端 ID。 |
发现服务 URI | 有关详情,请参阅上文中的配置 .well-known 文件。 |
桌面应用和移动应用的客户端 ID(可选) | 有关详情,请参阅上文中的为桌面应用和移动应用创建客户端 ID。 |
如果您使用的是 Google 身份:创建客户端 ID 时,可以在 Google Cloud 控制台中设置跨域资源共享 (CORS)。有关详情,请参阅上文中的为 Web 应用创建客户端 ID。
如果您使用的是第三方 IdP:在 IdP 的管理控制台中,配置发现服务 URI,以允许跨域资源共享 (CORS) 调用的源网址,如下所示:
- Method: GET
- 允许的源网址:
https://admin.google.com
https://client-side-encryption.google.com
您必须以超级用户身份登录,才能执行此任务。
-
- 在管理控制台中,依次点击“菜单”图标 安全性 访问权限和数据控件 客户端加密。
注意:在身份提供方配置下方,系统会显示一条消息,指明 Google Workspace 无法访问 .well-known 文件。不过由于您使用管理控制台连接到 IdP,因此可以忽略此消息。
- 点击身份提供方配置下方的配置后备身份提供商。
或者,如果您要配置访客 IdP,请点击配置访客 IdP。
- 输入以下有关 IdP 的信息:
- 姓名
- 客户端 ID(适用于 Web 应用)
- 发现服务 URI
-
点击测试连接。
如果 Google Workspace 可以连接到您的 IdP,系统会显示“连接成功”的消息。
- 如果您要配置访客 IdP:请点击继续,然后选择要为其提供访客访问权限的 Web 应用。然后点击保存以关闭卡片。
注意:目前只能使用 Google Meet。
- (可选)如要将 CSE 用于特定应用,请执行以下操作:
- 在 Google 桌面设备和移动应用身份验证(可选)下,选择您要将 CSE 与哪个应用搭配使用。
- 在客户端 ID 部分,请提供应用的客户端 ID。
- 点击添加提供方以关闭卡片。
第 4 步(仅限第三方 IdP):在管理控制台中将您的 IdP 添加到许可名单中
后续步骤
设置 IdP 后,您就可以设置密钥加密服务了。