mgmt/docs/vault-dev-environment.md

2.5 KiB
Raw Permalink Blame History

Vault开发环境指南

1. 概述

本文档介绍了如何在开发环境中使用Vault包括初始化、密钥管理和基本操作。

2. 开发环境特点

  • 使用1个解封密钥简化操作
  • 所有密钥存储在本地开发目录
  • 适用于快速测试和开发

注意:此配置仅用于开发环境,生产环境请遵循安全策略文档。

3. 初始化Vault

3.1 运行初始化脚本

/root/mgmt/deployment/scripts/init_vault_dev.sh

脚本将:

  1. 初始化Vault集群
  2. 生成1个解封密钥和根令牌
  3. 自动解封所有节点
  4. 保存环境变量配置

3.2 查看密钥信息

/root/mgmt/deployment/scripts/show_vault_dev_keys.sh

4. 使用Vault

4.1 设置环境变量

source /root/mgmt/security/secrets/vault/dev/vault_env.sh

4.2 基本操作示例

# 检查状态
vault status

# 写入密钥值
vault kv put secret/myapp/config username="devuser" password="devpassword"

# 读取密钥值
vault kv get secret/myapp/config

4.3 运行完整示例

/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未初始化

运行初始化脚本:

/root/mgmt/deployment/scripts/init_vault_dev.sh

7.2 Vault已初始化但被密封

使用解封密钥解封:

export VAULT_ADDR='http://<节点IP>:8200'
vault operator unseal <解封密钥>

7.3 无法连接到Vault

检查Vault服务状态

curl -v http://<节点IP>:8200/v1/sys/health

8. 清理环境

如需重新开始,可以删除密钥文件并重新初始化:

rm -f /root/mgmt/security/secrets/vault/dev/init_keys.json
/root/mgmt/deployment/scripts/init_vault_dev.sh

9. 相关文档