Для большинства методов установки программного обеспечения требуется привилегированный пользователь.
Принципы наименьшей привилегии и подотчетности подразумевают, что вход в систему должен осуществляться с менее привилегированным личным пользователем и при необходимости должен предоставляться привилегия. Ansible может помочь стать плагинами, которые запускают вещи от имени другого пользователя для вас, с помощью doas, sudo или чего-то еще.
Пароли - это мусорный метод аутентификации в целом. Низкая энтропия, исторически плохие практики и неудобная автоматизация. Некоторые методы, запускаемые как другие пользовательские методы, запрашивают ваш личный пароль, что снижает потребность в общих учетных данных. Ansible может запросить у пользователя такой пароль с помощью --ask-становиться-пасс
ansible-vault (и подключаемые модули поиска системы безопасности) защищают данные только в состоянии покоя, а не во время их использования. Человек, использующий Ansible, будет иметь доступ к секрету открытого текста. Это может быть видно при включенной достаточно подробной отладке.
Учитывая все вышесказанное, достойным решением может стать настройка без паролей. ssh для использования ключа или сертификата, но используйте для запуска задачи пакета от имени пользователя root. Однако то, что они делают как root, не может быть ограничено. Ansible генерирует временные сценарии для запуска модулей, и нет хорошего правила sudo для ограничения команд, которые выглядят как /bin/sh -c '/usr/bin/python3 ~/.ansible/tmp/ansible-tmp-1628781435.871488-116497-130276452381107/AnsiballZ_setup.py'
Запуск привилегированных игр для пользователей. Поощряйте их вносить свой вклад в то, что нужно делать, но не давайте им полномочий для этого. Поместите такие книги в систему контроля версий и принимайте запросы на изменение. Управляйте пьесами, как вам нравится:
- Ансибл-бегун запланировано в cron.
- От конвейера, запускаемого слияниями, к производственной ветке в системе контроля версий.
- Задания выполняются из пользовательского интерфейса AWX.