Я пытаюсь использовать упаковщик с секретным механизмом хранилища kv2, но пока что я получаю ошибку авторизации / разрешения. Я пытаюсь прочитать секрет из хранилища, как показано в примерах. В моем файле test.json
есть объект variables
, а внутри - ключи access_key
и secret_key
. Каждый из них содержит {{ vault
/ secret / data / Foo / test
access_key }}
.
"variables": {
"access_key": "{{ vault `/secret/data/Foo/test` `access_key`}}",
"secret_key": "{{ vault `/secret/data/Foo/test` `secret_key`}}"
}
В хранилище я создал токен (который я использую с упаковщиком), и у токена есть такая политика:
path "secret/*" {
capabilities = ["list"]
}
path "secret/data/Foo/test" {
capabilities = ["read"]
}
Согласно документации, этого должно быть достаточно, чтобы упаковщик смог прочитать секрет, но когда я запускаю упаковщик, я получаю
Error initializing core: error interpolating default value for 'access_key':
template: root:1:3: executing "root" at <vault `/secret/data/...>:
error calling vault: Error reading vault secret: Error making API request.
Permission denied.
URL: GET
https://vault.*******.com/v1/secret/data/Foo/test
Code: 403. Errors:
* 1 error occurred:
* permission denied
Если я правильно понимаю, причиной проблемы является политика, не предоставляющая упаковщику достаточных разрешений, чтобы он мог прочитать мой секрет. Я прав? Если «да», как мне изменить мою политику?