当前位置: 首页 > 知识库问答 >
问题:

Hashicorp保险库中的一次性使用秘密

锺英彦
2023-03-14

基本上我们可以有一个只能读取一次的金库密钥吗?

共有1个答案

戚锦
2023-03-14

您可以创建只能访问该机密的策略,例如

# policy: rsa
path "secret/rsa" {
  capabilities = ["read"]
}

然后为该策略创建包装令牌,例如

$ vault token create -policy=rsa -num_uses=1 -wrap-ttl=120
Key                              Value
---                              -----
wrapping_token:                  s.9QFJ8mRxGJD0e7kFfFIbdpDM
wrapping_accessor:               S0zKNUr2ENbnCtj0YyriO31b
wrapping_token_ttl:              2m
wrapping_token_creation_time:    2019-12-17 09:45:42.537057 -0800 PST
wrapping_token_creation_path:    auth/token/create
wrapped_accessor:                VmBKXoc19ZLZlHGl0nQCvV6r

这将生成一个包装的令牌。

VAULT_TOKEN="s.3Kf3Xfn58Asr3bSDkRXATHrw" vault unwrap

使用该令牌,用户将能够登录到vault并只检索一次rsa creds,因为此后令牌将无效。

您现在可以保证creds只从目标用户处使用过,因为包装的令牌只能解包装一次。

注意:如果最终用户通过UI,在创建令牌时可能需要调整num_use,因为UI可能使用令牌执行多个操作。

 类似资料:
  • 我正在测试Vault+Consul之间的集成,以保存我的秘密并将它们存储在多台机器中。我可以看到和插入/检索我的秘密从保险库没有问题。 现在,我正在尝试配置SpringCloud来使用来自Vault的秘密(我浏览了https://cloud.spring.io/spring-cloud-vault/reference/html/),我的bootstrap.yml与示例类似: 而且也管用!我的应用程

  • 我正在寻找一个更好的解决方案的秘密旋转和发现保险库动态秘密是一个很好的一个。通过启用秘密引擎,例如数据库,应用程序/服务可以租赁动态秘密。 我注意到每次应用程序租用数据库机密时,Vault都会在数据库中创建一个新的用户/帐户。我明白,每个应用程序/服务需要是一个好公民,并根据租赁时间使用秘密。然而,在微服务环境中,实现bug可能导致服务请求太多动态机密,从而触发在数据库中创建太多帐户。 有什么方法

  • 问题内容: 有没有一种简单的方法可以在进行测试时模拟Hashicorp保险库? 我在Go中创建了一个可访问保险柜的服务,并希望为其创建适当的测试。 我没有找到我喜欢的简单解决方案(例如python中的moto)。我还尝试在docker中以dev模式使用Vault(采用系统测试路线),但我无法通过API写入文件。想法? 问题答案: 有没有一种简单的方法可以在Go测试中模拟HashiCorp Vaul

  • 我需要存储用户提供给我的非常敏感的秘密(用户名+密码+证书以验证进入第三方API)。 我首先考虑的是AWS秘密管理器,它非常昂贵,而且IMHO主要用于基础设施机密(数据库密码、API密钥……),而不是客户提供的机密。现在,我正在决定使用AWS KMS(以及使用信封加密将加密的机密存储在数据库(AWS RDS)中)和Hashicorp Vault。 https://www.vaultproject.

  • 我正在考虑在不久的将来在谷歌Kubernetes引擎上部署一个集群。我也一直在研究使用Hashicorp的Vault来管理我的集群可以访问的秘密。具体地说,我想利用动态秘密来提高安全性。 有更多使用Kubernetes和/或Vault经验的人能指出这种方法的任何潜在缺点吗?谢谢你。

  • 最近,我了解了HashiCorp Vault及其与Kubernetes结合的用法。我发现了两篇非常棒的博客文章,关于如何通过使用init-container和共享卷(post1,post2)来使用HashiCorp Vault来动态生成cred。Kubernetes还提供了一种使用Kubernetes机密处理凭据的好方法,它还允许用户通过环境变量读取凭据。因此,它为秘密存储提供了一个很好的抽象。