我对保险库使用默认令牌身份验证方法。同时在Spring Boot应用程序中集成了vault和spring cloud config server。根令牌有超级用户访问,这使得能够为应用程序读/写机密,但我需要创建一个非根令牌,它只登录到保险库,不读/写任何机密。这样就不会强制使用vault,并且应用程序使用vault启动。当用户特别想使用vault时,可以提供自己的令牌和访问秘密。
这是我还没有尝试过的,但我已经使用了限制非根令牌的读访问。
您可以创建具有deny
功能的策略,如下所示:
$cat auth-policy.hcl
path "secret/*" {
capabilities = ["deny"]
}
vault policy write client-access auth-policy.hcl
Success! Uploaded policy: client-access
下面是为保险库策略定义的不同功能--https://www.vaultproject.io/docs/concepts/policies.html#capabilities。
vault token create -policy=client-access -period=768h
Key Value
--- -----
token *********************
token_accessor *********************
token_duration 768h
token_renewable true
token_policies [client-access default]
这将创建一个有效期为768小时的令牌,这是默认情况下的最大值。如果要为新令牌配置更多时间,请在基config.hcl中相应地配置max_lease_ttl
和default_lease_ttl
$cat config.hcl
disable_mlock = true
storage "postgresql" {
connection_url = "postgres://vault:vault@postgresql:5432/postgres?sslmode=disable"
}
listener "tcp" {
address = "0.0.0.0:8200"
tls_disable = 1
}
max_lease_ttl = "7200h"
default_lease_ttl = "7200h"
希望这能有所帮助!
问题内容: 有没有一种简单的方法可以在进行测试时模拟Hashicorp保险库? 我在Go中创建了一个可访问保险柜的服务,并希望为其创建适当的测试。 我没有找到我喜欢的简单解决方案(例如python中的moto)。我还尝试在docker中以dev模式使用Vault(采用系统测试路线),但我无法通过API写入文件。想法? 问题答案: 有没有一种简单的方法可以在Go测试中模拟HashiCorp Vaul
我正在测试Vault+Consul之间的集成,以保存我的秘密并将它们存储在多台机器中。我可以看到和插入/检索我的秘密从保险库没有问题。 现在,我正在尝试配置SpringCloud来使用来自Vault的秘密(我浏览了https://cloud.spring.io/spring-cloud-vault/reference/html/),我的bootstrap.yml与示例类似: 而且也管用!我的应用程
我正在运行以下命令:运行vaultQuery contractStateType:com . R3 . corda . lib . accounts . contracts . States . account info 并得到这个错误:无法解析为命令:无法构造实例的,问题:com.r3.corda.lib.accounts.contracts.states.AccountInfo[来源:UNKN
基本上我们可以有一个只能读取一次的金库密钥吗?
在我的应用程序中,我们从我的应用程序中发出两个调用,以从Vault获取机密,如下所示: > 登录到保险库:将调用发送到https:://v1/auth/approle/login--它将以role_id和secret_id作为有效负载,响应将是client_token。 Fetch secrets:调用https:://v1/secret/data/abc/dev/xyz.json--它将头作为X
我正在考虑在不久的将来在谷歌Kubernetes引擎上部署一个集群。我也一直在研究使用Hashicorp的Vault来管理我的集群可以访问的秘密。具体地说,我想利用动态秘密来提高安全性。 有更多使用Kubernetes和/或Vault经验的人能指出这种方法的任何潜在缺点吗?谢谢你。