尽管通过 UI 启用了秘密引擎,但 HashiCorp Vault 没有路由错误的处理程序

HashiCorp Vault No handler for route error despite secrets engine being enabled through the UI

使用非开发库服务器,我继续在 UI 中为 kv 版本 1 使用“启用新引擎”并创建了一个秘密。

作为测试,我使用具有 root 权限的令牌尝试以下操作并收到无路由错误:

curl -H "X-Vault-Token:" -X GET https://vaultwebsite.com/v1/secret/kvtest1/test12/test123

{“错误”:[“路由‘secret/kvtest/anothertest/test’没有处理程序”]}

我的理解是,当我通过 UI 启用该秘密引擎时,不应该存在无处理程序问题。我是否遗漏了某个步骤、政策,或者这是一个 API 路径问题?

我的一个参考资料是 https://www.reddit.com/r/hashicorp/comments/c429fo/simple_vault_workflow_help/,它让我查看了启用的数量。

我的猜测是你启用了KV引擎并向其写入了一个秘密,但是路径secret/是错误的。

例如,如果我启用引擎然后尝试读取现有值,那么它就可以工作

$ vault secrets enable -version=1 -path kv kv
Success! Enabled the kv secrets engine at: kv/
$ curl --header "X-Vault-Token: $VAULT_TOKEN" $VAULT_ADDR/v1/kv/foo
{"request_id":"2db249af-10de-01c5-4603-8f89a46897b5","lease_id":"","renewable":false,"lease_duration":2764800,"data":{"v6":"1"},"wrap_info":null,"warnings":null,"auth":null}

但是如果我现在尝试从一个不存在的路径读取,我会得到和你一样的错误,例如

$ curl --header "X-Vault-Token: $VAULT_TOKEN" $VAULT_ADDR/v1/foobar/foo
{"errors":["no handler for route 'foobar/foo'"]}

如果您列出现有的坐骑并验证路径,将会有所帮助

$ curl --header "X-Vault-Token: $VAULT_TOKEN" $VAULT_ADDR/v1/sys/mounts
# or
$ vault secrets list