首页 > 解决方案 > 从 Quarkus 1.3.2.Final 迁移到 1.4.2.Final 影响 Vault 访问

问题描述

在我对 Quarkus 1.3.2.Final 的旧设置中

我的属性文件中有这个

quarkus.vault.url=${vault_path}
quarkus.vault.tls.use-kubernetes-ca-cert=true
quarkus.vault.authentication.kubernetes.role=${someVaultRole}
quarkus.vault.tls.ca-cert=${someTlsCertLocation}
quarkus.vault.kv-secret-engine-mount-path=${someSecretEngingPath}

当我尝试使用 VaultKVSecretEngine.readSecret(path) 访问机密时,它为我提供了该路径的机密

但是当我尝试迁移到 Quarkus 1.4.2.Final 时,我收到了这个错误

"io.quarkus.vault.runtime.client.VaultClientException code=403 body={\"errors\":[\"1 error occurred:\\n\\t* permission denied\\n\\n\"]}\

当我尝试使用旧设置调用 VaultKVSecretEngine.readSecret(path) 时。

问题是,我的 application.properties 中有哪些配置我错过了 quarkus 1.4.2.final vault 访问?

标签: quarkus

解决方案


由于 quarkus 1.4.2.Final 默认使用 kv-secret-engine-version 2,所以从 quarkus 1.3.2.Final 迁移到 1.4.2 时需要将 kv-secret-engine-version 指定为版本 1。最终自 1.3.2.Final 使用 kv-secret-engine-version 1


推荐阅读