首页 > 解决方案 > 保险柜策略是分层的吗?

问题描述

在授权访问路径时,我是否必须启用对所有父文件夹的读取访问权限?我在文档中找不到这样的声明,但一些测试证实了这一点。考虑一下:

path "secret/myapp/*" {
   capabilities = ["create", "read", "sudo", "update", "list", "delete"]
}

分配了正确的角色后,我无法阅读secret/myapp/test。我至少需要将此添加到角色中:

path "secret/*" {
   capabilities = ["read"]
}

这似乎与说最具体规则匹配的文档相矛盾。

标签: hashicorp-vault

解决方案


好吧,我没疯。事实证明,KV 后端要求您更改此处描述的路径:https ://www.vaultproject.io/docs/secrets/kv/kv-v2.html

我能够通过将政策更改为:

path "secret/data/myapp/*" {
 capabilities = ["create", "read", "sudo", "update", "list", "delete"]
}

只是偷偷摸摸一个/data之前myapp。更重要的是,我尝试的“修复”(允许访问父路径)完全是偶然的:这样我就可以访问secret/datawhich 就绰绰有余了。


推荐阅读