mgmt/docs/vault-dev-environment.md

112 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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)