Как не дать команде запускать что попало в проде через Ansible
Знакомый сценарий? Внедрили Ansible, автоматизировали всё, а теперь ломаете голову, как бы так сделать, чтобы стажёр по ошибке (или назло) не задеплоил на продакшен код с багом из тестового окружения.
Вопрос разделения прав — один из самых частых у наших студентов. И решить его можно двумя принципиальными путями.
⭐️ Путь 1: Git-центричный. Железная дисциплина и CI/CD
Ansible — это код. А значит, его можно и нужно хранить в Git. Суть подхода:
Все плейбуки живут в репозитории. Ветка master/main — священная корова, отвечающая за прод.
Права на мерж в master — только у ключевых инженеров (тех самых «бородатых и пожилых»).
Все ключи доступа к продакшен-серверам изымаются у рядовых админов и передаются раннеру CI/CD (GitLab CI, Jenkins, GitHub Actions).
Запуск плейбука на проде — это только через мерж в master → автоматический запуск пайплайна → деплой.
Что имеем: прода касается только проверенный код через бездушную машину. Человеческий фактор и «ручные» запуски исключены.
⭐️ Путь 2: Инструментальный. AWX/Ansible Tower
Если нужен более тонкий контроль, графический интерфейс, расписание и отчетность — смотрим в сторону AWX (open-source версия Ansible Tower).
Единая точка входа: все запуски идут только через его веб-интерфейс или API.
Интеграция с LDAP/AD: права на запуск тех или иных плейбуков на тех или иных хостах гибко настраиваются под роли пользователей в компании.
Вся магия внутри: AWX сам хранит инвентарь, логины, пароли и SSH-ключи. Пользователи их даже не видят.
Бонусы: ведение логов, кто, что и когда запустил, расписание заданий, визуализация выполнения.
Что имеем: мощную систему оркестрации с ролевой моделью доступа, которая не даст вам наступить на грабли.
Первый путь — это строгий контроль через Git и CI, второй — комплексное enterprise-решение с кучей плюшек. Оба защитят ваш прод от хаоса и «зловредной деятельности» команды. А какой подход ближе вам?
Глубоко погрузиться в Ansible и разобрать такие кейсы уже на практике можно в нашем Ansible-лагере. Курс уже стартовал, но ещё есть немного времени, чтобы успеть присоединиться — разберётесь с ролями, плейбуками и безопасным деплоем на прод. Подробности — по ссылке.