Использование Hashicorp Packer с Vault Secret Engine KV2 - PullRequest
0 голосов
/ 16 января 2019

Я пытаюсь использовать упаковщик с секретным механизмом хранилища 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

Если я правильно понимаю, причиной проблемы является политика, не предоставляющая упаковщику достаточных разрешений, чтобы он мог прочитать мой секрет. Я прав? Если «да», как мне изменить мою политику?

...