Как организовать управление секретами
Вопрос
В компании секреты лежат в .env в репозиториях и в переменных CI. Как вы наведёте порядок?
Попробуйте сами
Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.
Показать ответ и разбор
Коротко
Что должно прозвучать в ответе
Инвентаризация: сканирование всех репозиториев и истории, список секретов и владельцев
Ротация всего, что лежало в git, в первую очередь прод-ключей
Централизованное хранилище с RBAC, аудитом и доставкой в приложения
Минимальные права и отдельные секреты на сервис и окружение, короткоживущие где можно
Предотвращение: pre-commit, сканер в CI, push protection
Процедура экстренной ротации и обучение
Что могут спросить следом
- С чего начнёте, если ресурсов мало?
- Как убедить команды перейти на хранилище?
Разбор
Образцовый ответ: «Начинаю с инвентаризации: прогоняю gitleaks по всем репозиториям с историей, собираю список секретов и владельцев. Всё, что когда-либо было в git, считаю скомпрометированным и ротирую, начиная с прод-доступов к облаку и базам. Затем ввожу хранилище, например Vault, с ролями на сервис и окружение, аудитом и доставкой через агент или External Secrets. Для CI перехожу на OIDC-федерацию вместо статических ключей. Для баз включаю динамические учётки. Чтобы не повторилось: pre-commit хук, сканер в CI, push protection. И пишу процедуру экстренной ротации, проверяю её учением. Командам предлагаю готовые шаблоны, чтобы переход занимал час, а не неделю».
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.