【问题标题】:Reading secrets with consul-template from vault使用保险库中的领事模板读取机密
【发布时间】:2018-09-10 14:03:30
【问题描述】:

我在 pod 中运行 Vault。 我可以使用保管库读取来读取机密。

$ vault read test
Key                 Value
---                 -----
refresh_interval    768h
value               world

$ vault kv get test
==== Data ====
Key      Value
---      -----
value    world

我可以使用这两个版本的 Api 来查看保险库中的秘密

当我列出保险库秘密引擎时,我清楚地看到了它们:

$ vault secrets list
Path                   Type         Description
----                   ----         -----------
secret/                kv           key/value secret storage
test/                  kv           n/a

在我的 Consul-template 模板中,我有以下内容

[default]
{{ with secret "test"}}
{{ if .Data.value }}
consul_template_value = {{ .Data.value }}
{{ end }}
{{ end }}

我的 consul-template 是一个 sidecar pod,它读取上面的文件并返回当前错误:

watcher reported error: vault.read(test): no secret exists at test
[ERR] (cli) vault.read(test): no secret exists at test

我在 consul-template sidecar 上开启了 trace

[TRACE] (view) vault.read(test) starting fetch
[TRACE] vault.read(test2): GET /v1/test?stale=true&wait=1m0s
[WARN] (view) vault.read(test): no secret exists at test (retry attempt 1 after "250ms")

我用 curl 检查了 Vault API

curl -k -H "X-Vault-Token: TOKEN" -X GET https://X.X.X.X/v1/test?stale=true

我收到回复

{
"request_id":"aa947343-723a-45fc-cdee-7394c3074a4c",
"lease_id":"",
"renewable":false,
"lease_duration":2764800,
"data":{
    "value":"word"
    },
"wrap_info":null,
"warnings":null,
"auth":null
}

我在github上发现了一个类似的问题https://github.com/hashicorp/consul-template/issues/341

任何想法都会有所帮助

【问题讨论】:

    标签: kubernetes hashicorp-vault consul-template


    【解决方案1】:

    解决了我缺少 CT 的一些配置方面

    【讨论】:

    • 在此之外进行更多详细说明将对遇到类似问题的其他人有所帮助。
    • 我的问题主要是 TLS/SSL,CT 正在从保险库请求/读取机密并返回“
    • 否则,您可以检查保险库政策,因为如果您创建引擎,默认政策不会授予您阅读的权利
    猜你喜欢
    • 2016-06-23
    • 2020-05-10
    • 1970-01-01
    • 2020-01-02
    • 2018-04-28
    • 2023-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多