问题标签 [spring-vault]
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.
spring - 可以使用 jvm 系统属性配置 Spring Cloud Vault 吗?
目前,我正在使用这些 jvm 选项配置 Spring Cloud Vault
-Dspring.cloud.vault.authentication=TOKEN -Dspring.cloud.vault.token=root -Dspring.cloud.vault.uri=http://localhost:8600 -Dspring.cloud.vault.application-name=my-app
但是,有时当我启动我的应用程序时,保管库 bean 似乎没有初始化,导致失败,例如
我不确定原因,但我认为问题在于通过 jvm 选项而不是 bootstrap.yml 传递保管库配置属性会导致它们在引导阶段随机不可用。有没有办法使用 bootstrap.yml?
hashicorp-vault - 从 Spring 应用程序访问 Hashicorp Vault REST API
我有客户端证书文件,带有密码的密钥文件,我可以从 Vault 登录的 POST 请求中获取客户端令牌,使用请求标头中的 X-Vault-Token 我可以使用邮递员从秘密引擎获取秘密。但是,您能否建议我如何使用 Spring 应用程序实现相同的目标。
spring-boot - 使用 Vault Agent Sidecar 配置 Spring Vault
我有一个关于在 kubernetes 中使用 HashiCrop Vault Sidecar Agent 配置 Spring Vault 的问题......
我在 kubernetes 中有以下 Spring Vault 配置,它对我有用...
但我在 Spring Vault 文档中读到,如果我使用 HashiCorp Vault Agent 作为 Sidecar,由于缓存,使用 Sidecar 会更有效......
现在 Spring Vault 文档说
我必须使用
但是如果我这样做,我的 Spring Boot 应用程序正确地说它无法对 HashiCorp Vault 进行身份验证,如果我删除“spring.cloud.vault.host”配置,它会尝试连接“localhost:8200”,所以我有点迷失了在 Spring Vault 中配置什么,以便它可以与 sidecar 'vault-agent' 一起使用。
那么有什么想法吗?
spring-boot - Spring Boot 2.4.4 升级后启动失败
我正在升级 Spring Boot 应用程序,该应用程序目前正在 2.1.13 到 2.4.4 上工作。升级后,spring boot 应用程序没有启动。应用中用到的几个模块如下:
春天云侦探
spring-cloud-starter-zipkin
弹簧云库配置
下面是详细的堆栈跟踪:
对上述问题的任何建议或指导表示赞赏。
POM 文件:
- 父 pom.xml
- 微服务pom
- 我的应用程序 pom(正在运行的应用程序)
- 测试通用 api (lib)
java - 为在 Spring Boot 应用程序中很早就运行的代码启用调试日志记录
我正在编写一个小型 Spring Boot 应用程序,我想从 Hashi Corp Vault 中读取一些属性,这些属性最终将在 Kubernetes 环境中运行。我通过使用 spring.cloud.vault 库和使用多个 spring.config.import 语句从 Vault 读取各种秘密路径来做到这一点。
我的 application.yaml 中有以下内容
在出现问题的情况下,spring cloud vault library 将无法静默检索秘密,并且相应的 PropertySources 将为空,这很好,在这种情况下是可取的。但是,我希望能够将失败原因写入日志以使其更易于调试。类中有合适的调试org.springframework.vault.core.env.LeaseAwareVaultPropertySource
可以写出我一直试图启用的加载错误:
我遇到的大多数文章都建议可以通过 application.yaml 启用日志记录上下文,但在这种情况下这对我不起作用。然后我尝试在启动应用程序时将其设置为系统属性:
-Dlogging.level.org.springframework.vault.core.env.LeaseAwareVaultPropertySource=DEBUG
甚至更广泛地设置-Dlogging.level.org.springframework=TRACE
经过一些调试后,我可以看到使用系统属性,记录器的级别设置正确,但日志语句没有被写出。
我现在相信经过进一步调试后,问题是因为 spring.config.imports 在准备环境时在 Spring 应用程序启动时很早就处理了,并且只有在此之后才初始化 LogbackLoggingSystem,这意味着在此之前没有写出任何日志记录.
所以我的问题是我完全卡住了,有没有办法真正让 LeaseAwareVaultPropertySource 中的日志记录出现在日志中?是否可以在应用程序启动之前配置 Spring boot 以在完全准备好环境之前设置 Logging 系统?或者相反地延迟处理这些导入的时间点,以便首先初始化日志系统?
spring - 将 Spring Vault 与 Hashicorp Vault 以外的 Vault Provider 一起使用
通过阅读 Spring Vault 项目的文档,我的印象是它只能与 Hashicorp Vault 一起使用。但我只是想确认我们是否可以将它与BeyondTrust等任何其他 Vault 服务提供商一起使用
hashicorp-vault - [Vault]HashiCorp 中的融合加密,Vault
我是HashiCorp Vault的新手,有一些问题。
Q1) 为什么 Convergent Encryption 在没有 Nonce 参数的情况下工作(我在 REST API 请求中省略了 Nonce。)?
Q2)因为我的收敛键是Version3?
Q3) 版本 3 中的收敛密钥是Nonce
使用context
or生成的plaintext
吗?
Q4) 那么我可以省略Nonce
in Convergent Encryption(in Vault) 吗?
Q5) 我可以Context
像下面这样使用这个参数吗?
Q6) vault read transit/keys/$endpoint, converent_encryption_version 在我的请求中返回 -1。谁知道为什么?
提前感谢您的回复。
spring-boot - HttpHostConnectException 连接到本地主机失败
我在我的 github 帐户中描述了我的数据库连接,但我无法从 github 获取数据库连接。它显示错误
应用程序.yml
引导程序.yml
订单.kt
订单项.kt
orderrepository.kt
接口 OrderRepository : JpaRepository<Order,Long> { }
订单控制器.kt
RestContig.kt
订单服务.yml
我在我的 gitHub 帐户中定义的这个 Order-service.yml 但我无法获取数据库的连接这是完整的错误
google-kubernetes-engine - 用于多个项目的具有 GCP-IAM Auth 方法的 Spring Cloud Vault
我有一些问题,找不到任何文档,也许我遗漏了一些东西。
我们将使用这种方法。我在一个项目中在 GKE 中部署了一些服务和 Vault,它运行良好。我使用这篇文章进行配置。因此,我在 Vault 中为每个项目创建了单独的角色,并将其绑定到每个应用程序的工作负载身份服务。另一个项目中的服务角色具有带有项目名称的 bound_projects 变量。
当我尝试登录或尝试在另一个项目中运行应用程序时,它在控制台中显示此类错误: [RequestedSecret [path='secret/ secret_path ', mode=ROTATE]] Lease [leaseId='null', leaseDuration=PT0S,renewable =false] 无法使用 GCP-IAM 登录:找不到服务帐户 'projects/-/serviceAccounts/< service_name >':googleapi:错误 403:需要权限 iam.serviceAccounts.get 才能对服务帐户项目执行此操作/- /serviceAccounts/< service_name >.,禁止;嵌套异常是 org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 Internal Server Error: [{"errors":["could not find service account 'projects/-/serviceAccounts/< service_name>': googleapi: Error 403: Permission iam.serviceAccounts.get is required to perform this operation on service account projects/-/serviceAccounts/< service_name >., disabled"]} ]
当我尝试通过这个 sa 登录控制台时,我得到了这个。我有这个用户和角色附加了这个权限:
$ vault login -method=gcp role="my-iam-role-preprod" service_account="sa_name" project="project_id" jwt_exp="15m" credentials=@cred.json 验证错误:发出 API 请求时出错。
URL:PUT <vault_addr>/v1/auth/gcp/login 代码:500。错误:
- 找不到服务帐户“项目/-/serviceAccounts/sa_name”:googleapi:错误 403:需要权限 iam.serviceAccounts.get 才能对服务帐户项目/-/serviceAccounts/sa_name 执行此操作,禁止
我在另一个项目中将服务帐户令牌创建者角色分配给 SA,并在部署 Vault 的项目中将浏览器//服务帐户密钥管理员角色分配给 Vault 服务帐户。
保险柜版本是保险柜 v1.7.3。GKE 是 1.19.10-gke.1600。
spring - Spring Vault 集成 - 从多个路径读取秘密
是否可以从 Spring Boot 应用程序读取存储在 Vault 中多个路径/上下文下的秘密?
我认为应该使用配置文件,但不确定并且仍然无法配置配置文件。
Approle 身份验证用于从 Spring Boot 应用程序连接 Vault。
Spring Boot 应用配置(bootstrap.yaml
):
例如,如果有以下结构:
先感谢您。