В прошлом посте я перечислил для современного разработчика все нужные…

В прошлом посте я перечислил для современного разработчика все нужные инструменты, теперь думаю стоит отдельно остановиться на нескольких популярных, но используемых не на всех проектах. и начнем сегодня с 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`. Это всё, что нужно агенту для входа. Передай эти файлы тому, кто настраивает сервер с приложением.
Просмотры: 87
Открыть в MAX Сообщить о неточности

Сообщить о неточности

Опишите, что нужно исправить. Если есть источник, добавьте ссылку.

Вы покидаете datool.ru

Ссылка ведёт на внешний сайт. datool.ru не отвечает за его содержимое — проверьте адрес, прежде чем вводить пароли или платёжные данные.

Переход через 10 с

Перейти