В прошлом посте я перечислил для современного разработчика все нужные инструменты, теперь думаю стоит отдельно остановиться на нескольких популярных, но используемых не на всех проектах. и начнем сегодня с Vault.
В нескольких постах "подготовим и внедрим" к себе в проект безопасное хранилище секретов.

Готовим фундамент: сервер Vault и роль для приложения

Прежде чем агент пойдет за секретами, мы должны показать ему, куда идти и к какой двери он имеет право подойти.

Шаг 1. Создаем «пропуск» (Политику)
Приложению нельзя давать доступ ко всем секретам. Создаем правило, которое разрешает читать только нужную базу данных.

Создаем файл `my-app-policy.hcl` на сервере Vault:

path "secret/data/myapp/db" {
capabilities = ["read"]
}

Загрузи его в Vault:

`vault policy write my-app-policy my-app-policy.hcl`

Шаг 2. Заводим «учетку для сервера» (AppRole)
У сервера не может быть логина и пароля от человека. Используем AppRole — это пара «Role ID» (кто ты) и «Secret ID» (знаешь ли ты код).

Команды:

vault auth enable approle
vault write auth/approle/role/my-app-role token_policies="my-app-policy" token_ttl="1h"

Шаг 3. Выдаем ключи
Теперь забираем данные для нашего агента.

1. Получаем «логин» (Role ID):
`vault read auth/approle/role/my-app-role/role-id`
Сохраняем вывод этой команды в файл с названием `role-id`.
2. Получаем «пароль» (Secret ID):
`vault write -f auth/approle/role/my-app-role/secret-id`
Сохраняем вывод этой команды в файл с названием `secret-id`.

У нас на руках два файла: `role-id` и `secret-id`. Это всё, что нужно агенту для входа. Передай эти файлы тому, кто настраивает сервер с приложением.
Views: 87
Open in MAX Report an inaccuracy

Report an inaccuracy

Describe what needs fixing. If you have a source, add a link.

You are leaving datool.ru

The link leads to an external website. datool.ru is not responsible for its content — check the address before entering passwords or payment details.

Redirecting in 10 s

Go