Keywhiz 开源项目教程
keywhizA system for distributing and managing secrets项目地址:https://gitcode.com/gh_mirrors/ke/keywhiz
项目介绍
Keywhiz 是一个用于管理和分发秘密(如 TLS 证书/密钥、GPG 密钥、API 令牌、数据库凭证等)的系统。它适用于服务导向架构(SOA),并提供了一个集中的方式来安全地存储和管理这些秘密。Keywhiz 使用相互认证的 TLS(mTLS)来确保客户端只能检索到它们有权访问的秘密。此外,Keywhiz 提供了 CLI 和自动化 API 来简化秘密的管理和分发。
项目快速启动
环境准备
- Java 11
- MySQL 5.7 或更高版本
构建和运行 Keywhiz
-
克隆项目仓库
git clone https://github.com/square/keywhiz.git cd keywhiz
-
构建项目
mvn install
-
运行 Keywhiz 服务器
java -jar server/target/keywhiz-server-*-shaded.jar migrate java -jar server/target/keywhiz-server-*-shaded.jar add-user java -jar server/target/keywhiz-server-*-shaded.jar server
使用 Keywhiz CLI
java -jar cli/target/keywhiz-cli-*-shaded.jar --help
应用案例和最佳实践
应用案例
Keywhiz 可以用于管理各种类型的秘密,例如:
- TLS 证书和密钥:确保服务之间的安全通信。
- API 令牌:管理对外部服务的访问权限。
- 数据库凭证:集中管理数据库访问凭证,提高安全性。
最佳实践
- 定期轮换秘密:定期更新秘密,减少泄露风险。
- 最小权限原则:确保每个服务只能访问其所需的秘密。
- 监控和审计:定期检查秘密的访问日志,确保安全性。
典型生态项目
Keywhiz 可以与其他系统集成,形成一个完整的秘密管理生态系统。以下是一些典型的生态项目:
- HashiCorp Vault:一个更强大和活跃支持的秘密管理工具,可以作为 Keywhiz 的替代品。
- Certstrap:一个简单的工具,用于生成初始的 PKI 系统。
- Docker:Keywhiz 提供了 Dockerfile,可以方便地构建 Docker 容器。
通过这些集成,Keywhiz 可以更好地满足不同组织的需求,提供一个全面的秘密管理解决方案。
keywhizA system for distributing and managing secrets项目地址:https://gitcode.com/gh_mirrors/ke/keywhiz