返回快讯列表
开发者动态

Vercel KMS 公测,函数里签 JWT 不用自己保管私钥

8 月 18 日 Vercel 上线托管密钥服务 KMS,函数通过 @vercel/kms 调 signToken 签发 JWT,私钥留在服务内不落到代码和环境变量。授权按项目和环境分发,可限制能申请哪些声明。目前是测试版,全部套餐可用。

Vercel 在 8 月 18 日推出 KMS,一个托管的非对称签名密钥服务。函数里签 JWT 或者签任意字节,私钥都留在服务内部,不进代码也不进环境变量。

接口是 @vercel/kms 这个 npm 包,签 JWT 调 signToken,传 issuerId、claims 和 ttl。函数向 KMS 认证走 Vercel 的 OIDC token,不需要另外配凭据。命令行这边用 vercel kms add <名称> --algorithm ES256 建密钥,用 vercel kms add-grant <issuerId> --project <项目> --environment <环境> 授权。密钥支持 RSA、ECDSA 和 EdDSA 三个家族。

验证方对接不需要 Vercel 的 SDK。每个签发方都有 https://kms.vercel.com/<issuerId>/.well-known/openid-configuration 和 https://kms.vercel.com/<issuerId>/jwks.json 两个端点,任何标准 OIDC 或 JOSE 库都能用,官方示例用的是 jose 的 createRemoteJWKSet 配 jwtVerify。

授权粒度落到项目加环境,生产、预览、开发和自定义环境各算独立的一格。一条授权还能限定该项目允许申请哪些声明,声明本身可以按 JSON Schema 校验。官方建议每个项目每个环境用独立签发方,轮换或吊销一把密钥不会牵连别处。

阶段是测试版,适用 Vercel 的 Beta 协议,转正之前行为可能变。全部套餐都能用,公告没有给定价、配额和密钥数量上限。

更多快讯