Внешнее хранилище учетных данных Jenkins на CyberArk
Как использовать внешнее хранилище CyberArk для хранения учетных данных в бесплатной версии Jenkins?
Здесь вы можете найти информацию о стандартном плагине jenkins credentials, который предоставляет API для внешнего хранилища.
Но, покопавшись в сети, я обнаружил, что:
1. Хранилище Cyberark доступно только на Cloudbees Jenkins
2. Плагин HarshiCorp vault доступен бесплатно
3. Вот хороший пример того, как неправильная политика разрешений может привести к раскрытию всех учетных данных. Я попробовал, работает как по волшебству!:)
2 ответа
Похоже, что CyberArk выпустила плагин Jenkins, который поддерживает этот сценарий:https://docs.cyberark.com/Product-Doc/OnlineHelp/AAM-DAP/Latest/en/Content/Integrations/jenkins.htm
Вы действительно не хотите хранить учетные данные (или секретный секрет) в Jenkins. Это не хранилище и никогда не должно использоваться как единое целое. В противном случае ваши серверы Jenkins станут основной целью для злоумышленников.
Вместо этого, интегрируйте ваши конвейеры Jenkins, чтобы безопасно передавать секреты исполнителям только при необходимости и отбрасывать, когда работа по сборке / тестированию завершена. Это легко сделать с помощью чего-то вроде Summon, который уже интегрирован со многими хранилищами, включая Conjur (который также является продуктом CyberArk). Оба предложения с открытым исходным кодом.
Этот пост в блоге описывает подход к интеграции Jenkins с хранилищем в соответствии с тем, что я описал выше.
Вы можете посмотреть на https://github.com/tmobile/t-vault. Это избавит от необходимости управлять политиками. Вы можете создать один сейф для папки проекта или задания в Jenkins.
Вы можете создавать одобрения и предоставлять доступ к безопасным для одобрения. Каждый проект может использовать соответствующий подход. Вы также можете предоставить доступ к сейфу отдельным лицам. Затем пользователи могут использовать webui для создания и обновления секретов.