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

Wun*_*ead 3 security hashicorp-vault

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

作为测试,我使用具有 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/,它引导我查看启用的数量。

use*_*522 6

我的猜测是你已经启用了一个 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}
Run Code Online (Sandbox Code Playgroud)

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

$ curl --header "X-Vault-Token: $VAULT_TOKEN" $VAULT_ADDR/v1/foobar/foo
{"errors":["no handler for route 'foobar/foo'"]}
Run Code Online (Sandbox Code Playgroud)

如果您列出现有安装并验证路径会有所帮助

$ curl --header "X-Vault-Token: $VAULT_TOKEN" $VAULT_ADDR/v1/sys/mounts
# or
$ vault secrets list
Run Code Online (Sandbox Code Playgroud)