Docker - 部署 HashiCorp Vault 开源密钥管理工具

Docker - 部署 HashiCorp Vault 开源密钥管理工具

 

HashiCorp Vault‌ 是一款由HashiCorp开发的开源密钥管理工具,专注于安全存储和动态管理密码、API密钥、证书等敏感数据,并提供加密即服务和细粒度访问控制。

 
HashiCorp Vault核心功能
  • ‌秘密管理‌:动态生成并管理数据库凭证、云服务密钥等敏感信息,自动轮换密钥以降低泄露风险。‌12
  • ‌加密即服务‌:提供API驱动的加密功能,支持数据在传输和存储过程中的端到端加密,无需自行管理密钥。‌34
  • ‌访问控制‌:基于角色(Role)和策略(Policy)实现权限分级,支持LDAP、Kubernetes等多种身份认证方式。‌‌5

 

 环境: docker ,docker-compose,consul, .net8 ,valut

 

一 .  HashiCorp Vault 的部署

docker pull hashicorp/vault:1.17.0

在docker-compose

  vault:
    image: hashicorp/vault:1.17.0
    container_name: vault
    restart: always
    ports:
      - "8300:8200"
    environment:
      VAULT_ADDR: http://10.10.32.37:8300
      VAULT_API_ADDR: http://10.10.32.37:8300
      VAULT_LOCAL_CONFIG: |
        {
          "listener": [{
            "tcp": {
              "address": "0.0.0.0:8200",
              "tls_disable": true
            }
          }],
          "storage": {
              "consul": {
                "address": "10.10.32.37:8500",
                "path": "vault/"
              }
          },
          "ui": true,
          "disable_mlock": true
        }
    cap_add:
      - IPC_LOCK
    volumes:
      - D:\DockerMapping\vault\data:/vault/data
      - D:\DockerMapping\vault\config:/vault/config

容器启动后

在浏览器上可以访问  http://127.0.0.1:8300

image

启动与操作流程

  1. 启动 Vault:

      docker-compose up -d vault
  1. 检查 Vault 状态:

      docker exec -it vault vault status
  • 如果 Initialized: false → 执行初始化

  • 如果 Initialized: true → 直接解封

  1. 初始化 Vault(只执行一次):

      docker exec -it vault vault operator init -key-shares=1 -key-threshold=1
  1. 解封 Vault:

      docker exec -it vault vault operator unseal <Unseal Key>
  1. 登录 Vault:

      docker exec -it vault vault login <Root Token>
  1. 验证 Consul KV:

  • Vault 数据会写到 Consul vault/ 路径

  • 可以在 Consul UI 或 CLI 查看

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

end.

posted @ 2025-11-03 16:43  无心々菜  阅读(75)  评论(0)    收藏  举报