【问题标题】:Spring Vault VaultTemplate.read() returns nullSpring Vault VaultTemplate.read() 返回 null
【发布时间】:2020-03-15 09:15:07
【问题描述】:

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

$ vault server --dev --dev-root-token-id="00000000-0000-0000-0000-000000000000"
$ export VAULT_ADDR=http://127.0.0.1:8200

Spring 工件具有 spring-cloud-starter-vault-config maven 依赖项。 使用 VaultTemplate 时,它​​使用以下方法写入和读取秘密没有问题:

VaultKeyValueOperations keyValue = vaultOperations
                    .opsForKeyValue("secret", VaultKeyValueOperationsSupport.KeyValueBackend.versioned());
            keyValue.put("myPath", mySecretsObject);

VaultResponse response = vaultOperations
                    .opsForKeyValue("secret", VaultKeyValueOperationsSupport.KeyValueBackend.KV_2).get("myPath");

但是,如果我使用 writeread 方法,它会抛出错误:

vaultOperations.write("secret/myPath", mySecretsObject);

返回

{ "时间戳": "2019-11-19T18:22:52.156+0000", “状态”:500, "error": "内部服务器错误", “消息”:“找不到状态 404 [secret/myPath]:{\“request_id\”:\“23062c09-f9cf-f170-930c-e6d60f98dd62\”,\“lease_id\”:\“\”,\“可再生\":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 未找到”, “路径”:“/vault/secrets/mySecrets”}

对于

VaultResponse response= vaultOperations.read("secret/" + environment);
            String stringResp = response.getData().toString();

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

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

【问题讨论】:

    标签: java spring hashicorp-vault spring-cloud-vault-config


    【解决方案1】:

    Spring Cloud Vault 在挂载路径和实际上下文路径之间添加数据/上下文,看看: How to read Vault kv with java/spring boot

    尝试: "secret/data/myPath" 其中的 secrets 是你的 Secret 引擎类型 kv

    【讨论】:

    • @chomarc.c - 我确实尝试添加 data 但它不起作用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-24
    • 2013-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-17
    相关资源
    最近更新 更多