我使用非dev Vault服务器继续进行操作,并在用户界面的kv版本1中使用了“启用新引擎”,并创建了一个秘密。
作为测试,我正在使用具有root权限的令牌来尝试以下操作并收到no route错误:
curl -H“ X-Vault-Token:” -X GET Quirks mode
{“错误”:[“路由'secret / kvtest / anothertest / test'没有处理程序”]}
我的理解是,当我通过用户界面启用机密引擎时,应该不会出现没有处理程序的问题。我是否缺少步骤,政策,或者这是API路径问题?
我的参考文献之一是https://vaultwebsite.com/v1/secret/kvtest1/test12/test123,这使我需要审核启用的金额。
答案 0 :(得分:3)
我的猜测是您已经启用了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