问题标签 [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.

0 投票
2 回答
479 浏览

spring - Spring Cloud Vault 在 API 密钥未投入生产时使用本地环境变量

我正在使用 Spring Cloud Vault 在生产中存储 API 密钥。

从阅读spring.io 博客看来我可以使用

访问保管库中的该密钥。

在生产中这很好,但是有没有一种方法可以设置默认值/设置可在本地用于开发的 apiKey 的其他方式?(如果可能的话,最好在保险库之外)

0 投票
3 回答
3526 浏览

hashicorp-vault - 带有 k2 v2 的 Spring Cloud Vault - 如何在启动时避免 403?

问题

有谁知道如何配置bootstrap.yml以告诉 Spring Cloud Vault 转到 k2 v2 的正确路径而不是先尝试其他路径?

细节

我可以成功连接到我的 Vault,运行 k2 v2,但 Spring Cloud 将始终尝试连接到 Vault 中不存在的路径,在启动时抛出 403。

上面的路径 ,secret/application不存在,因为 k2 v2 放入data了路径。例如:secret/data/application

这不是一个阻碍,因为 Spring Cloud Vault确实检查了其他路径,包括路径中包含该data项目的正确路径,但是在启动过程中抛出一个无意义的 403 的事实就像我脑海中的一个碎片。

最终,它确实尝试了正确的 k2 v2 路径

我的配置

谢谢你的帮助!

0 投票
0 回答
228 浏览

spring-boot - Spring cloud Config Vault 无法识别逗号分隔的应用程序名称

我正在设置一个 Spring Boot 应用程序,该应用程序从指向 Git 配置存储库和 Vault 服务器的 spring 云配置服务器应用程序获取其属性。

Spring Cloud 配置服务器 application.properties:

Spring客户端bootstrap.properties:

像这样,它适用于从 Git 和 Vault 获取配置属性,但如果在 bootstrap.properties 中我使用逗号分隔的“spring.application.name”列表,例如:

这仅适用于从 Git 获取配置属性,但不适用于从 Vault 获取。

如何使 Spring 配置服务器使 Vault 识别多个文件夹,例如在本例中为“secret/app1”和“secret/app2”?

0 投票
1 回答
157 浏览

spring-cloud-config - 在不同环境中使用 Hashicorp Vault 和 Spring Cloud

我们正在使用 Vault 来删除我们的代码库和配置服务器中的所有秘密。Vault aws auth 及其安全的介绍似乎非常适合这一点。但是,我们的开发环境不在 aws 上,并且 vault 无法使用配置服务器来获取每个环境的不同配置

你们是否看到了一条出路,我仍然可以使用 aws auth 进行登台和生产,而使用不同的 auth 进行开发?

谢谢,克里斯。

0 投票
1 回答
2634 浏览

spring - 将 Vault 与 Spring Cloud Config Server 集成时未从 Vault 读取属性

我正在尝试将 Spring Boot 配置服务器与 git 和 vault 一起使用,我所有的 Spring Boot 客户端应用程序都将通过传递 vault 配置令牌通过配置服务器检索 vault 属性。

我正在使用 spring boot 2.1.8.RELEASE,下面是我的 spring boot 配置服务器的 POM.xml 文件。

bootstrap.yml 文件

我的 application.yml 文件

使用上述配置,我的配置服务器只能从 GIT 中读取属性,而不是从库中读取属性。

在保险库中,我编写了如下属性。

如果我像下面这样进行 curl 调用

我只从 git 获取属性,回复如下。

我在这里做什么?我尝试了多个选项,例如不同的 KV 版本,仅配置 spring cloude config vault 等。

编辑:

我已经使用了如下所示的 Vault conf。

并直接卷曲以使我现在可以读取该值。

回复:

0 投票
1 回答
1158 浏览

java - 如何使用 Spring Boot 实现 Hashicorp 的 Vault

我们为 Dev、QA、Prod 实例启用了 spring 分析,这些实例在 AWS EC2 上运行。
我们有不同的属性文件,例如:
application-dev.properties
application-qa.properties
application-prod.properties

我们已经在这些文件中配置了我们的数据源,例如
spring.datasource.username=test
spring.datasource.password=test

这些凭据对于每个实例都是不同的,并在各自的属性文件中进行配置。

我已经通过链接:
https
: //www.baeldung.com/spring-cloud-vault 使用 Spring Boot 实现 Vault。但是,我并没有像他们提到的 bootstrap.yml 文件那样完全理解它,但我们可以在那里只放置一个实例的凭据。

任何人都可以帮我解决如何在我们有多个属性文件的地方实现 Vault 和 Sprint Profiling。
以及如何使用 Vault 中的 Java 代码获取数据库凭据?

0 投票
1 回答
2281 浏览

java - Spring Vault VaultTemplate.read() 返回 null

我有一个 Vault 服务器正在运行:

Spring 工件具有spring-cloud-starter-vault-configmaven 依赖项。使用 VaultTemplate 时,它​​可以使用以下方法毫无问题地写入和读取机密:

但是,如果我使用writeandread方法,它会引发错误:

返回

{ "timestamp": "2019-11-19T18:22:52.156+0000", "status": 500, "error": "Internal Server Error", "message": "Status 404 Not Found [secret/myPath]: {\"request_id\":\"23062c09-f9cf-f170-930c-e6d60f98dd62\",\"lease_id\":\"\",\"renewable\":false,\"lease_duration\":0,\" data\":null,\"wrap_info\":null,\"warnings\":[\"版本化 K/V 机密引擎的路径无效。有关要使用的适当 API 端点,请参阅 API 文档。如果使用 Vault CLI,请使用 'vault kv put' 进行此操作。\"],\"auth\":null};嵌套异常是 org.springframework.web.client.HttpClientErrorException$NotFound: 404 Not Found", "小路”: ”

而对于

response一片空白。读取没有错误,但是NullPointerException在尝试读取时我得到了response,因为它是空的。

我发现了一个与写入错误相关的问题 - 写入时出现Vault 错误- 但它是在 Vault CLI 的上下文中。找不到如何在 Spring 环境中应用该解决方案。

0 投票
1 回答
197 浏览

spring-boot - 如何使用 spring-cloud-starter-config 传递 X-Config-Token

当我使用 curl -X GET http://localhost:8888/limits-service/dev -H "X-Config-Token: s.6S92v3OekCYEAWjp8unbt4ei"调用配置服务器时,它工作正常

但是从客户端微服务,在调用配置服务http://localhost:8888/limits-service/dev时如何传递标头。在客户端微服务 application.properties 中配置了以下详细信息,但出现 404 错误。

那么如何通过 X-Config-Token: s.6S92v3OekCYEAWjp8unbt4ei 呢?

0 投票
1 回答
712 浏览

spring-cloud-vault-config - spring-cloud-vault:最小续订与到期阈值

spring-cloud-vault Lease 生命周期管理(续订和撤销)文档指出:

spring.cloud.vault.config.lifecycle.min-renewal:设置更新租约之前至少需要的持续时间。此设置可防止更新过于频繁。

spring.cloud.vault.config.lifecycle.expiry-threshold:设置过期阈值。租约在到期前更新配置的时间段。

我很难理解这两个配置选项之间的区别。举例说明这些参数中的每一个如何影响租约续订生命周期,这将是有帮助的。例如:在我看来,如果租约 TTL 为 10 分钟,并且到期阈值设置为 1 分钟,那么在获得租约 9 分钟后,spring-cloud-vault 将续订租约。但是,如果这是真的,那么min-renewal配置参数的目的是什么?

0 投票
1 回答
4549 浏览

amazon-web-services - 尝试使用 GCP IAM auth 从 Vault 读取 Secrets 时出现 403 Permission Denied

我正在使用 GCP IAM 身份验证方法对保险库进行身份验证。我按照Vault gcp auth中建议的步骤使用服务帐户进行身份验证

我能够成功地进行身份验证和登录。但是当我尝试从指定路径读取秘密时,它说权限被拒绝。

我将以下角色分配给我的服务帐户。

  1. 服务帐号管理员
  2. 服务帐号密钥管理员
  3. 服务帐户令牌创建者

我在使用 spring-cloud-vault 应用程序时也遇到了同样的问题。我是否错过了分配给此服务帐户的任何角色,或者我是否设置了错误的策略?

注意:Vault 服务器是在 AWS 上设置的。