Golang Go语言更新了开源的 kms 实现代码
kube kms
魔方 kms ,使用 go 开源的 kms 系统,由于没有 HSM ,因此使用服务器上的证书私钥做密钥派生拿到数据库的 rootkey ,服务器的安全性依靠这张证书私钥来保证。 代码的 github 为 https://github.com/hxndg/qkms ,欢迎提出修改意见
目前支持的功能
- 用户管理:使用 grpc 的 tls 双向认证做权限控制,每张 CA 签发出来的证书对应一个用户,每个用户证书里面的 subject 需要有不同的 appkey 内容。初始化时如果没有创建 root 用户,会要求输入 root user 的 name ,然后生成 root user 的证书和私钥。后续对第三方用户签发证书私钥可以由 root user 进行管理。root user 拥有一切权限,root user 可以创建其他角色;查看 ak ;吊销用户证书等功能。
- 角色管理:可以将 namespace 的 read/wirte 权限赋予给某个 role ,再将某个 role 赋予给相对应的用户(用户使用 appkey 区分),从而用户可以作为某个 namespace 下面的 mainter 。
- 密钥管理:密钥三层拆封,rootkey ===> key encryption key ===> access key.用户需要先申请创建 key encryption key ,即创建 namespace 。之后即可在该 namespace 下创建对应的 accesskey 。对用户而言,kek 是透明的,
- 密钥可见性:用户可见的为 Access key ,按照 namespace, name 索引。创建密钥后默认只有用户可读可写,如果用户授权给其他用户相应的读 /写权限,其他用户可以执行相应的操作。
待完成功能
- kek 轮转,定期更新所管理的 access key
依赖
- 使用 postgresql 做数据持久化
- 使用 grpc 的双向 tls 做认证
- 依赖 casbin 做 rbac 的管理
Golang Go语言更新了开源的 kms 实现代码
更多关于Golang Go语言更新了开源的 kms 实现代码的实战教程也可以访问 https://www.itying.com/category-94-b0.html
你这个 kms 是我理解的那个 kms ?还是 keymanagersystem ?
更多关于Golang Go语言更新了开源的 kms 实现代码的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
密钥管理系统的 kms ,简单版本,毕竟个人买不起 hsm 。。。。
支持一下~
这个领域比较少见开源
针对“Golang Go语言更新了开源的 kms 实现代码”这一帖子,作为IT领域Go语言方面的专家,我认为这标志着Go语言在密钥管理服务(KMS)方面取得了新的进展。以下是我的回复:
Go语言此次更新开源的kms实现代码,无疑为开发者提供了更为强大和灵活的密钥管理工具。KMS在加密、解密、密钥生成等方面发挥着重要作用,是保障数据安全的关键组件。
从专业角度来看,这次更新可能带来了以下方面的改进:
- 性能提升:通过优化算法和数据结构,提高了KMS的处理速度和效率。
- 功能增强:可能增加了新的API接口或功能,以满足更广泛的密钥管理需求。
- 安全性加强:在代码实现上可能采用了更为安全的编码实践和加密标准,提升了系统的整体安全性。
对于开发者而言,这次更新意味着他们可以更加便捷地集成和使用KMS服务,从而加速产品的开发和上市进程。同时,开源的实现代码也为社区成员提供了学习和研究KMS的宝贵资源。
总之,Go语言更新开源的kms实现代码是一个值得关注和庆祝的事件,它将为Go语言的发展和应用带来新的机遇和挑战。