0

假设我的 KV 存储中有一个密钥,/global/test/my-key并且我使用了一个具有以下策略的令牌:

key "/global/test/my-key" { 
    policy = "read"
}

为什么,使用 UI,我可以访问 URL http://localhost:8500/v1/kv/global/test/my-key/edit,但我在以下 URL 上有 403http://localhost:8500/v1/kv/global/test并且http://localhost:8500/v1/kv/global

有没有办法让我从 URL 开始的 UI 访问我的密钥http://localhost:8500/v1/kv

注意:我已经尝试过“列表”策略,但它提供了对其他键的读取权限,这不是我想要的。

编辑:我刚刚意识到我忘记提及我试图满足的另一个条件。例如,我有另一个键/global/secret/my-other-key,我不希望从 UI 或文件夹中查看该键/global/secret/

4

2 回答 2

0

如果您希望访问所有提到的路径,则应改用此策略:

key_prefix "global" {
  policy = "read"
}

该策略将使您能够访问全局和它的任何“子路径”。

于 2021-12-28T23:45:55.297 回答
0

Consul 目前不支持在您的令牌只能访问该父路径下的一部分键的路径上执行递归读取。

有一个开放的 GitHub 问题要求添加此功能https://github.com/hashicorp/consul/issues/4513。我建议对该问题进行投票以表明您的兴趣,并订阅它以获取更新,以便您可以跟踪其进度。

如果您的特定用例未准确反映在初始描述中,请随时发表评论并提供更多信息。

于 2022-01-01T16:28:43.930 回答