App Authorization
在 MPC-KMS 中,每个用户都可以生成一对 AK (AccessKeyId)和 SK (AccessKeySecret),应用通过 AK 和 SK 就能够使用用户的权限访问 MPC-KMS 服务。
应用权限模型
MPC-KMS 的用户拥有一系列权限,为了让应用也能使用这些权限,我们提供了 AK/SK 访问控制机制。用户通过控制台生成一对 AK/SK 密钥,并将这对 AK/SK 密钥提供给应用,应用使用 AK/SK 生成 API 认证的必要信息。
认证过程
- 应用根据 API 请求内容(包含 HTTP Header 和 Body)生成签名字符串
- 应用使用 MPC-KMS 用户的 AK/SK,对步骤一生成的签名字符串进行签名,形成该 API 请求的签名
- 应用将 API 请求内容和签名一同发送给服务端
- 服务端使用相同的算法生成签名,如果与应用发送过来的签名一致,则改请求通过安全验证,否则直接拒绝该请求
- 服务端通过 AK 匹配到对应的 MPC-KMS 用户,判断用户是否有相应的权限,若有权限则执行该请求对应的逻辑,否则直接拒绝该请求