Media CDN 在对请求进行签名时会使用加密密钥对。媒体 CDN 使用密钥集来存储活跃的密钥对 来对请求进行签名。您最多可以拥有 3 个公钥和 3 个验证 共享密钥,每个密钥集总共 6 个密钥。
您还可以从按键集中移除未使用的按键。添加和移除密钥通常称为密钥轮替。密钥轮替可让你 以下:
- 通过将新密钥附加到密钥集,可以安全地将新密钥添加到密钥集。
- 使用相应的密钥生成令牌。
在可能的最旧令牌过期后移除旧密钥。
例如,假设您将短时令牌设置为 小时。然后,在新的请求为用户提供服务一到几个小时后,您可以移除用于短时效令牌的最早密钥。
在移除未使用的密钥之前,请确认该密钥未被引用或提取到
在您的应用服务器上对用户请求进行签名。过早移除 Secret
来自密钥集会阻止媒体 CDN 验证请求
与该密钥相关联系统会向受影响的用户提供 HTTP 403
Forbidden
响应。
为了优化同时访问多个文件的性能、可靠性和成本, Secret Manager,您的共享验证密钥密钥会被缓存长达 一个小时。密文缓存可能会导致在从 Secret Manager 中删除密文后,令牌访问权限最多持续一小时。
最佳实践是定期轮替密钥。
已知限制
媒体 CDN 拒绝使用对称签名请求
Cloud CDN 使用的具有 HTTP 403
响应的签名。
Media CDN 目前支持使用令牌格式和 Media CDN 引用的密钥的请求中的对称密钥。
非对称密钥必须以 Ed25519 对的形式生成,每个组的 512 位(64 字节) 私钥和 256 位(32 字节)公钥。Tink 库支持使用 C++、Go、Java 和 Objective-C 生成密钥、签名和验证 Ed25519 签名。
非对称密钥必须具有以下特征:
采用 base64 编码,长度为 44 个字节(填充)或 43 个字节(未填充)。我们接受带填充和不带填充的 base64 格式。
公钥必须以可在网址中安全使用的 base64 格式进行编码。私钥可以采用标准 base64 格式进行编码。
拥有匹配的私钥。