如何使用 Vault 安全地存储配置的 secret

本文介绍了如何使用Vault这一开源工具来管理和存储应用程序的敏感信息,如数据库凭证和外部服务认证。通过Docker容器部署Vault,设置访问令牌和策略,以及使用QuarkusVault扩展插件实现Java应用与Vault的集成,确保密钥的安全访问。此外,还讨论了不同认证方式,如token、user/password、approle和kubernetes。
摘要由CSDN通过智能技术生成

导读:每一个应用程序都有需要保密的信息,这些信息可能包括数据库凭证,外部服务认证,甚至某些资源的位置。所有这些都统称为密钥。应用程序需要一个安全的地方来存储这些密钥,无论是在应用程序启动时还是在空闲时。

本文我们将讨论如何使用Vault进行密钥管理。

问题

如何安全地存储配置密钥?

解决方案

使用QuarkusVault(https://oreil.ly/UMKuH) 扩展插件去查找密钥。

在处理密钥时,最关键的是存储它们,使被禁止的用户无法读取,保护对密钥的访问,仅让需要这些密钥的服务可以访问它们。

Vault是一个为存储和使用密钥提供统一接口,并简化用例的工具。

关于 Vault

Vault(https://oreil.ly/UMKuH)是一个安全访问密钥的开源工具。如何在生产中运行Vault不在本书的讨论范围之内。

为了简化 Vault的安装,使用 VaultDocker 容器:

docker run --rm --cap-add=IPC_LOCK -eVAULT_ADDR=http://localhost:8200 \
-p8200:8200 --name=dev-vault vault:1.2.2

你可能需要设置以下环境变量:

$ exportVAULT_ADDR='http://0.0.0.0:8200'

解封密钥和根令牌显示在下面,以备你想封存 /解封 Vault或重新认证:

Unseal Key:s7WbMScSOh02ERK6XEfl6ep6BReRQZzl9VekrrnyKE8=
Root Token:s.ty3QS2uNaxPdiFsSZpCQfjpc ①

 ①令牌,用于初始化访问 Vault

在Vault容器内打开 shell,配置 Vault并添加一个 secret:

docker exec -it dev-vault sh
exportVAULT_TOKEN=s.ty3QS2uNaxPdiFsSZpCQfjpc ①
vault kv pu
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值