【问题标题】:HashiCorp Vault permission denied 403 for AppRole with assigned policy kv v2具有分配策略 kv v2 的 AppRole 的 HashiCorp Vault 权限被拒绝 403
【发布时间】:2022-11-20 03:05:18
【问题描述】:

我在使用 Vault 时遇到问题,当我尝试使用我的 k8s AppRole 获取机密时,它会返回权限被拒绝的 403 错误。 我使用 kv 版本 2 引擎设置保险库。

为我的 AppRole 添加了策略:

在“dev/fra1/statement”下创建秘密:

当我使用 AppRole 凭据登录时,我会收到所需政策的回复:

当我尝试使用 AppRole client_token 执行获取请求时出现此错误:

我尝试了不同的前缀等等(因为互联网上的人对他们有问题)。 但随后能够通过使用根令牌执行该请求来定位问题,因此一切正常:

现在我是我们的想法,我相信唯一可能出问题的地方是政策,我做错了什么?

【问题讨论】:

  • HCL 不使用 * 作为正则表达式值。此外,您的路径与您的坐骑不匹配(秘密与 kv)

标签: hashicorp-vault vault


【解决方案1】:

好的,所以终于想出了正确的前缀我们的,它应该是:

path "kv/data/dev/*" {
  capabilities = ["read"]
}

真的,保险库中的这些前缀有一些问题,他们应该在文档中更好地描述它。

【讨论】:

    【解决方案2】:

    “秘密”前缀在 Vault 的 KV API 的 v1 中使用。 v2 使用挂载名称,默认情况下为“kv”,但在您首次为 KV 秘密引擎创建挂载时可以是任何名称。

    重要的是要注意一些使用 Vault 的 API 的工具仍然使用 KV API 的 v1 来访问秘密,尽管你的 KV 秘密引擎可能是 v2。因此,您的策略中可能需要两种不同的权限。

    【讨论】:

      【解决方案3】:

      我面临同样的问题。我有一个名为 TestSecretsEngine 的秘密引擎和一个秘密 env。在我的政策中,我将读取添加到路径 TestSecretsEngine/data/env 无济于事。我正在使用 node-vault npm 模块,它在 vault.approleLogin 处失败并返回 403。这一定与策略有关,因为当我添加不存在的路径时,我得到的是 404。

      【讨论】:

        猜你喜欢
        • 2022-12-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-08-11
        • 2019-05-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多