我正在使用 Spring Cloud Vault Library 从 Vault 服务器访问我的 Secret。
目前,我将所有参数(例如role-id
、secret-id
、host
、port
等)存储为环境变量,然后将其注入到我bootstrap.yml
的 Spring-boot 应用程序中。下面是我的YAML
文件
spring:
cloud:
vault:
authentication: APPROLE
app-role:
role-id: ${role-id}
secret-id: ${secret-id}
host: ${host}
port: ${port}
scheme: ${scheme}
我被困的地方是管理保险柜的 Role-Id 和 Secret-Id。显然,如果人们可以轻松获得这两条信息,Vault 就无法保护我们的秘密——它们本身就是秘密。
Role-Id
拥有和Secret-Id
保护的行业最佳实践是什么?我们已经集思广益,例如storage-in-config-server、storage-in-environment-variable、storage-in-cloudfoundry-UPS ..
尽管如此,我们还是想了解这方面的最佳实践..