密钥概览

媒体 CDN 在对请求进行签名时使用加密密钥对。 媒体 CDN 使用密钥集来存储主动用于对请求进行签名的密钥对。对于每个密钥集,您最多可以有 3 个公钥和 3 个验证共享密钥,总共 6 个密钥。

您还可以从密钥集中移除未使用的密钥。添加和移除密钥通常称为“密钥轮替”。利用 Secret 轮替,您可以执行以下操作:

  • 通过将新密钥附加到密钥集,可以安全地将新密钥添加到密钥集。
  • 使用相应的密钥生成令牌。
  • 在可能最早的令牌过期后移除旧 Secret。

    例如,假设您将短时令牌设置为一小时后过期。然后,在新请求向用户提供一个或多个小时之后,您需要移除用于短时令牌的最旧密钥。

在移除未使用的密钥之前,请确认未引用或提取该密钥以对应用服务器上的用户请求进行签名。提前从密钥集中移除密钥会阻止媒体 CDN 验证与该密钥关联的请求。受影响的用户会收到 HTTP 403 Forbidden 响应。

为了优化同时访问 Secret Manager 的性能、可靠性和费用,您的共享验证密钥密钥会被缓存长达一小时。在从 Secret Manager 中删除 Secret 最长一个小时后,Secret 缓存可能会导致继续访问令牌。

最佳实践是定期轮替密钥。

已知限制

媒体 CDN 会拒绝使用 Cloud CDN 所用的对称签名进行签名的请求,并返回 HTTP 403 响应。媒体 CDN 目前支持对称密钥用于使用令牌格式和媒体 CDN 引用的密钥的请求。

非对称密钥必须以 Ed25519 对的形式生成,其中包含 512 位(64 字节)私钥和 256 位(32 字节)公钥。Tink 库支持使用 C++、Go、Java 和 Objective-C 生成密钥,以及对 Ed25519 签名进行验证。

非对称密钥必须具有以下特征:

后续步骤