Google Workspace 客户端加密 API 概览

您可以使用自己的加密密钥来加密组织的数据,而不是使用 Google Workspace 提供的加密密钥。使用 Google Workspace 客户端加密功能 (CSE) 时,会先在客户端浏览器中处理文件加密,然后再将其存储在云端硬盘的云端存储空间。使用这种方式时,Google 服务器无法访问您的加密密钥,因此无法解密数据。如需了解详情,请参阅客户端加密功能简介

借助此 API,您可以使用自定义外部密钥服务控制保护数据的顶级加密密钥。使用此 API 创建外部密钥服务后,Google Workspace 管理员可以连接到该服务并为他们的用户启用 CSE。

重要术语

下面列出了 Google Workspace Client-side Encryption API 中的常用术语:

客户端加密功能 (CSE)
在客户端浏览器中处理存储在云端存储空间内的加密。这样可以防止存储提供商读取该文件。了解详情
密钥访问控制列表服务 (KACLS)
外部 API 服务,使用此 API 控制对外部系统中存储的加密密钥的访问权限。
身份提供商 (IdP)
一项可在用户加密文件或访问加密文件之前对用户进行身份验证的服务。

加密和解密

数据加密密钥 (DEK)
Google Workspace 在浏览器客户端中使用的用于加密数据本身的密钥。
密钥加密密钥 (KEK)
您的服务中用于加密数据加密密钥 (DEK) 的密钥。

访问权限控制机制

访问控制列表 (ACL)
可以打开或读取文件的用户或群组列表。
Authentication JSON Web 令牌 (JWT)
由身份合作伙伴 (IdP) 颁发的不记名令牌 (JWT: RFC 7516),用于证明用户身份。
授权 JSON Web 令牌 (JWT)
Google 签发的不记名令牌 (JWT: RFC 7516),用于验证调用方是否有权加密或解密资源。
JSON Web 密钥集 (JWKS)
只读端点网址,指向用于验证 JSON Web 令牌 (JWT) 的公钥列表。
边界
对 KACLS 中的身份验证令牌和授权令牌执行额外检查以进行访问权限控制。

客户端加密功能流程

管理员为组织启用 CSE 后,启用 CSE 的用户可以选择使用 Google Workspace 协作内容创建工具(如 Google 文档和表格)创建加密文档,或对其上传到 Google 云端硬盘的文件(如 PDF)进行加密。

用户加密文档或文件后:

  1. Google Workspace 在客户端浏览器中生成 DEK 来加密内容。

  2. Google Workspace 使用您提供给 Google Workspace 组织管理员的网址,将 DEK 和身份验证令牌发送到第三方 KACLS 进行加密。

  3. 您的 KACLS 使用此 API 加密 DEK,然后将经过混淆处理的加密 DEK 发送回 Google Workspace。

  4. Google Workspace 将经过混淆处理的加密数据存储在云中。只有能够访问您的 KACL 的用户才能访问数据。

有关详情,请参阅加密和解密文件

后续步骤