问题标签 [spring-cloud-vault-config]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
config - 配置 spring cloud config server 以使用 vault 作为后端
这里的文档显示,配置服务器可以配置为使用 vault 作为其后端,只需设置以下属性,在application.properties
即使这样做了,当嵌入式配置服务器启动时,它也希望 Git 存储库配置如下:
它失败并出现以下异常,没有设置 git repo 属性。
我不确定如何让配置服务器查找在localhost:8200
.
spring-cloud-config - Spring Cloud Config(Vault 后端)过早终止
我正在使用 Spring Cloud Config Server 为我的客户端应用程序提供配置。为了方便秘密配置,我使用 HashiCorp Vault 作为后端。对于其余的配置,我使用的是 GIT 存储库。所以我已经在复合模式下配置了配置服务器。请参阅下面的配置服务器bootstrap.yml
:-
这一切都按预期工作。但是,我使用的令牌受 Vault 身份验证策略保护。见下文:-
我的问题是我没有在所有这些范围内存储秘密。我需要指定所有这些路径,以便我可以授权令牌从mymount/generic/myapp-app,local
. 如果我不授权所有其他路径,该VaultEnvironmentRepository.read()
方法将返回403 HTTP状态代码(禁止)并引发 VaultException。这会导致完全无法检索应用程序的任何配置,包括基于 GIT 的配置。这是非常有限的,因为客户端应用程序可能有多个与检索配置项无关的 Spring 配置文件。问题是配置服务器将尝试检索客户端提供的所有活动配置文件的配置。
有没有办法在配置服务器上启用容错或宽容,以便 VaultEnvironmentRepository 不会中止并返回它实际授权返回的任何配置?
spring-cloud - 将 Spring Cloud Vault Config 配置为从 /secret 以外的位置提取
我目前正在将Spring Cloud Vault Config集成到 Spring Boot 应用程序中。从主页:
Spring Cloud Vault Config 使用应用程序名称和活动配置文件从 Vaults 读取配置属性:
我想提供我自己的位置,以便从不以 /secret 开头的 Vault 中提取属性(例如 /deployments/prod)。我一直在查看参考文档,但无论如何我都没有找到指定这一点 - 有可能吗?
spring - Spring Cloud Vault 和 Spring Cloud Config 与 Vault 后端的区别
以下有什么区别?
- Spring Cloud Vault - http://cloud.spring.io/spring-cloud-vault/
- 带有 Vault 后端的 Spring Cloud Config Server - http://cloud.spring.io/spring-cloud-static/Camden.SR4/#_spring_cloud_config_server
spring-cloud - spring.cloud.vault.fail-fast - 它仍然有效吗?
我们使用 Spring Cloud vault 作为我们环境中的凭证存储。当 Vault url 返回 404 时,fail fast 选项不起作用 - 没有抛出异常,但应用程序继续启动并使用 Spring 默认密码继续运行(因为没有从 Vault 获取凭据)。
我正在检查日志,搜索了一下,发现以下内容: https ://github.com/spring-projects/spring-vault/commit/5078a4c133211adb1bb3642cc867b40deed7b0f0
这带走了 VaultClient - 这是否意味着它也带走了快速失败的选项?
https://github.com/spring-cloud/spring-cloud-vault/issues/143
spring-cloud - 使用 Spring Cloud Vault 连接到 Vault 时出现“Secret id missing”错误
我正在尝试使用基于角色的身份验证(spring boot 项目)连接到 spring Vault。
根据文档,我应该只能使用 approle(拉模式)连接到 spring vault。但是,我在应用程序启动时收到 secrect-id 缺失异常。
http://cloud.spring.io/spring-cloud-vault/single/spring-cloud-vault.html#_approle_authentication
当我通过时,secret-id 也可以连接,并且属性/值正在正确地自动连接。
有什么方法可以使用“token + role/role-id”与保险库连接,并使用提到的信息在运行时自动为我生成 secret-id。
聚甲醛:
如果需要任何其他信息,请告诉我。
更新
@ mp911de,我按照您的建议进行了尝试,但是 spring-cloud-vault 正在选择在 bootstrap.yml 中设置的属性,而不是在“onApplicationEvent”中设置的属性,因此解决方案不起作用。我尝试通过“System.setProperty”方法设置属性,但该事件不起作用。
但是,如果我在运行方法之前在 main 中设置属性,它会按预期工作。但我需要先加载 application.properties (需要从那里选择一些配置),因此不想在那里写逻辑。
我的方法有什么问题吗?
spring-boot - 覆盖 bootstrap.yml 中的属性
我想在bootstrap.yml
加载后立即覆盖定义的属性。
例如:需要spring.cloud.vault.secret-id
根据某些条件覆盖/定义。在 spring-cloud-vault 使用 secret-id 属性连接到 Vault 服务器之前如何实现相同的功能。
提前感谢您的帮助。
spring-boot - 带有 Git/Vault 后端的 Spring Cloud Config - 令牌传递
除了为 Spring Cloud Config Server 提供 AppRole 或静态令牌来访问所有应用程序中的所有机密之外,是否可以将 Spring Cloud Vault Config 配置为在配置请求中使用给定令牌?
这种通信将通过 2-way SSL 与标头中的令牌进行。向外发送这样的令牌并不理想,但在这种情况下似乎是正确的解决方案。
请记住,这是一个使用 Git + Vault 作为后端的 Spring Cloud Config Server,以便将机密、变量等解析为所需的配置。这不仅用于 Spring 配置,还用于传递到临时环境的其他文件,例如 Apache 的 httpd.conf(将秘密塞入的坏示例)
这里的目标是尽可能限制访问,并将其限制在请求配置的最终应用程序中。也很高兴不要在 Spring Config AND Vault 策略上使用 AuthZ 重复 RBAC 工作。
spring - 在 Spring Cloud Server 中向现有环境添加其他属性
我们正在使用带有支持 git 存储库的 spring 云配置服务器来为测试配置文件提供属性。我们收到了将我们的密钥移动到保险库 (hashicorp) 并在我们的属性文件中像往常一样保留常规属性的要求。
在使用 Vault 之前,我们通过系统属性(使用-Dxxx=yyy
)传递密钥,该属性作为常规属性源加载,并且应用程序按预期工作。
现在我必须有一个复合属性源来同时从属性文件和保险库中获取。我不确定如何同时从 Vault 和 git 中提取属性并将它们提供给 spring 云配置客户端。
我一直在研究文档,发现我们可以拥有复合环境存储库,但是我不能让 vault 和 git 同时工作。
我尝试了多种方法,例如放置这样的属性:
还使用 spring cloud vault 进行了测试,我可以获取秘密,但是它们没有提供给我的客户。
曾尝试使用实现一个EnvironmentRepository
接口,但这是为了创建一个新的存储库(我只想将 1 个保险库属性添加到基于 git 的现有提供的存储库)。
并打算使用春季事件 ApplicationEnvironmentPreparedEvent 并尝试动态附加保险库属性。
我想我忽略了一些东西。您知道读取保管库机密并将其附加为常规属性文件的属性的正确方法是什么吗?
spring - Spring Cloud Config - 在 Vault 中存储信息(用户名/密码)以及 Git 中的其他属性
我们现在根据配置文件将密码和其他配置相关数据存储在 git 和文件系统(本地)中。这基于配置文件本地/开发等工作正常,使用 SPring 云配置方法。
但为了增强安全性,我们建议在 Vault 中使用敏感数据
所以我不清楚如何实现这一点。我们是否将有一个云配置服务器托管一些来自 Vault 的属性和一些来自 Git 的属性。
配置客户端将根据 CONFIGSERVER_URI 定位配置服务器,因此我们不能运行单独的实例
如何达到这个要求。
谢谢。