junos_user – Управление локальными учётными записями пользователей на устройствах Juniper JUNOS
Новая версия с 2.3.
Обзор
- Этот модуль управляет локально настроенными учётными записями пользователей на удалённых сетевых устройствах, работающих под управлением операционной системы JUNOS. Он предоставляет набор аргументов для создания, удаления и обновления локально определённых учётных записей.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- ncclient (>=v0.5.2)
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| active boolean добавлено в 2.4 |
| Указывает, активна или деактивирована конфигурация. | |
| aggregate - добавлено в 2.4 | Аргумент aggregate определяет список пользователей, которые должны быть настроены на удалённом устройстве. Список пользователей будет сравниваться с текущими пользователями, и только изменения будут добавлены или удалены из конфигурации устройства. Этот аргумент взаимоисключающий с аргументом name.псевдонимы: users, collection | ||
| encrypted_password - добавлено в 2.8 | Аргумент encrypted_password задаёт уже хешированный пароль для учётной записи пользователя на удалённой системе. | ||
| full_name - | Аргумент full_name предоставляет полное имя учётной записи пользователя, которое должно быть создано на удалённом устройстве. Этот аргумент принимает любое текстовое значение. | ||
| name - | Аргумент name определяет имя пользователя, который должен быть создан в системе. Этот аргумент должен соответствовать правилам именования пользователей целевого устройства, работающего под управлением JUNOS. Этот аргумент взаимоисключающий с аргументом aggregate. | ||
| provider словарь | Устарело Начиная с Ansible 2.5, рекомендуется использовать connection: network_cli или connection: netconf. Для получения дополнительной информации см. руководство Junos OS Platform Options. Объект словаря, содержащий данные соединения. | ||
| host строка / обязательно | Указывает имя хоста DNS или адрес для подключения к удалённому устройству через указанный транспорт. Значение host используется в качестве адреса назначения для транспорта. | ||
| password строка | Указывает пароль для аутентификации подключения к удалённому устройству. Это значение используется для аутентификации сеанса SSH. Если значение не указано в задаче, используется значение переменной среды ANSIBLE_NET_PASSWORD. | ||
| port целое число | Значение по умолчанию: 22 | Указывает порт для подключения к удалённому устройству. Значение порта по умолчанию – 22 (для transport=cli) или 830 (для transport=netconf) устройства. | |
| ssh_keyfile путь | Указывает SSH-ключ для аутентификации подключения к удалённому устройству. Это значение – путь к ключу, используемому для аутентификации сеанса SSH. Если значение не указано в задаче, используется значение переменной среды ANSIBLE_NET_SSH_KEYFILE. | ||
| timeout целое число | Значение по умолчанию: 10 | Указывает время ожидания в секундах для связи с сетевым устройством для подключения или отправки команд. Если время ожидания истечёт до завершения операции, модуль выдаст ошибку. | |
| username строка | Указывает имя пользователя для аутентификации подключения к удалённому устройству. Это значение используется для аутентификации сеанса SSH. Если значение не указано в задаче, используется значение переменной среды ANSIBLE_NET_USERNAME. | ||
| purge boolean |
| Аргумент purge инструктирует модуль рассматривать определение пользователей как абсолютное. Он удалит всех ранее настроенных пользователей на устройстве, за исключением текущего набора агрегированных. | |
| role - |
| Аргумент role определяет роль учётной записи пользователя в удалённой системе. Учётные записи пользователей могут иметь несколько ролей. | |
| sshkey - | Аргумент sshkey определяет открытый SSH-ключ, который должен быть настроен для учётной записи пользователя в удалённой системе. Этот аргумент должен быть валидным SSH-ключом. | ||
| state - |
| Аргумент state настраивает состояние определений пользователей по отношению к конфигурации работы устройства. При значении настоящий пользователь должен быть настроен в активной конфигурации устройства, а при значении отсутствующий – нет. | |
Примечания
Примечание
- Для работы этого модуля требуется, чтобы на удалённом управляемом устройстве был включён сетевой сервис netconf.
- Тестировалось с vSRX JUNOS версии 15.1X49-D15.4, vqfx-10000 JUNOS версии 15.1X53-D60.4.
- Рекомендуемое подключение –
netconf. См. руководство Junos OS Platform Options. - Этот модуль также работает с подключениями
localдля устаревших playbook. - Для получения информации об использовании CLI и netconf см. руководство Junos OS Platform Options
- Дополнительную информацию об использовании Ansible для управления сетевыми устройствами см. в руководстве Ansible Network Guide
- Дополнительную информацию об использовании Ansible для управления сетевыми устройствами Juniper см. в https://www.ansible.com/ansible-juniper.
Примеры
- name: create new user account
junos_user:
name: ansible
role: super-user
sshkey: "{{ lookup('file', '~/.ssh/ansible.pub') }}"
state: present
- name: remove a user account
junos_user:
name: ansible
state: absent
- name: remove all user accounts except ansible
junos_user:
aggregate:
- name: ansible
purge: yes
- name: set user password
junos_user:
name: ansible
role: super-user
encrypted_password: "{{ 'my-password' | password_hash('sha512') }}"
state: present
- name: Create list of users
junos_user:
aggregate:
- {name: test_user1, full_name: test_user2, role: operator, state: present}
- {name: test_user2, full_name: test_user2, role: read-only, state: present}
- name: Delete list of users
junos_user:
aggregate:
- {name: test_user1, full_name: test_user2, role: operator, state: absent}
- {name: test_user2, full_name: test_user2, role: read-only, state: absent}
Возвращаемые значения
Общие возвращаемые значения описаны в разделе. Следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| diff.prepared строка | при изменении конфигурации и включенном параметре diff. | Разница в конфигурации до и после применения изменений. Пример: [edit system login] + user test-user { + uid 2005; + class read-only; + } |
Статус
- Гарантируется, что интерфейс этого модуля будет совместим со старыми версиями. [превью]
- Этот модуль поддерживается командой Ansible Network. [сетевой]
Поддержка Red Hat
Дополнительную информацию о поддержке этого модуля Red Hat см. в статье Базы знаний Red Hat.
Авторы
- Peter Sprygada (@privateip)
Подсказка
Если вы заметите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.8/modules/junos_user_module.html