# Vault开发环境指南 ## 1. 概述 本文档介绍了如何在开发环境中使用Vault,包括初始化、密钥管理和基本操作。 ## 2. 开发环境特点 - 使用1个解封密钥(简化操作) - 所有密钥存储在本地开发目录 - 适用于快速测试和开发 **注意**:此配置仅用于开发环境,生产环境请遵循安全策略文档。 ## 3. 初始化Vault ### 3.1 运行初始化脚本 ```bash /root/mgmt/deployment/scripts/init_vault_dev.sh ``` 脚本将: 1. 初始化Vault集群 2. 生成1个解封密钥和根令牌 3. 自动解封所有节点 4. 保存环境变量配置 ### 3.2 查看密钥信息 ```bash /root/mgmt/deployment/scripts/show_vault_dev_keys.sh ``` ## 4. 使用Vault ### 4.1 设置环境变量 ```bash source /root/mgmt/security/secrets/vault/dev/vault_env.sh ``` ### 4.2 基本操作示例 ```bash # 检查状态 vault status # 写入密钥值 vault kv put secret/myapp/config username="devuser" password="devpassword" # 读取密钥值 vault kv get secret/myapp/config ``` ### 4.3 运行完整示例 ```bash /root/mgmt/deployment/scripts/vault_dev_example.sh ``` ## 5. 目录结构 ``` /root/mgmt/security/secrets/vault/dev/ ├── init_keys.json # 初始化密钥(解封密钥和根令牌) ├── vault_env.sh # 环境变量配置 ``` ## 6. 重要提醒 ### 6.1 开发环境限制 - 仅使用1个解封密钥(生产环境应使用5个密钥中的3个阈值) - 密钥存储在本地文件系统(生产环境应分散存储) - 适用于单人开发测试 ### 6.2 生产环境迁移 当从开发环境迁移到生产环境时: 1. 重新初始化Vault集群 2. 使用5个解封密钥中的3个阈值 3. 将密钥分发给不同管理员 4. 遵循安全策略文档 ## 7. 故障排除 ### 7.1 Vault未初始化 运行初始化脚本: ```bash /root/mgmt/deployment/scripts/init_vault_dev.sh ``` ### 7.2 Vault已初始化但被密封 使用解封密钥解封: ```bash export VAULT_ADDR='http://<节点IP>:8200' vault operator unseal <解封密钥> ``` ### 7.3 无法连接到Vault 检查Vault服务状态: ```bash curl -v http://<节点IP>:8200/v1/sys/health ``` ## 8. 清理环境 如需重新开始,可以删除密钥文件并重新初始化: ```bash rm -f /root/mgmt/security/secrets/vault/dev/init_keys.json /root/mgmt/deployment/scripts/init_vault_dev.sh ``` ## 9. 相关文档 - [Vault安全策略](vault-security-policy.md) - 生产环境安全指南 - [Vault官方文档](https://www.vaultproject.io/docs) - [Vault API文档](https://www.vaultproject.io/api)