iosxr_user – Управление совокупностью локальных пользователей на устройстве Cisco IOS XR
Новое в версии 2.4.
Описание
- Этот модуль обеспечивает декларативное управление локальными именами пользователей, настроенными на сетевых устройствах. Он позволяет плейбукам управлять либо отдельными именами пользователей, либо совокупностью имён пользователей в текущей рабочей конфигурации. Он также поддерживает очистку имён пользователей из конфигурации, которые не определены явно.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- ncclient >= 0.5.3 при использовании netconf
- lxml >= 4.1.1 при использовании netconf
- base64 при использовании public_key_contents или public_key
- paramiko при использовании public_key_contents или public_key
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| admin boolean добавлен в 2.8 |
| Переходит в административный режим конфигурации для внесения изменений в конфигурацию устройства. Применимо только при использовании транспорта network_cli | |
| aggregate - | Набор объектов имени пользователя, которые будут настроены на удаленном устройстве Cisco IOS XR. Элементы списка могут быть именем пользователя или хешем имени пользователя и свойств. Этот аргумент взаимоисключающий с аргументом name. псевдонимы: users, collection | ||
| configured_password - | Пароль, который будет настроен на устройстве Cisco IOS XR. Пароль необходимо указать в открытом виде. Пароль шифруется на устройстве при использовании cli и Ansible при использовании netconf, используя ту же технику хеширования MD5 с размером соли 3. Обратите внимание, что этот параметр не такой же, как provider password. | ||
| group - | Настраивает группу для имени пользователя в рабочей конфигурации устройства. Аргумент принимает строковое значение, определяющее имя группы. Этот аргумент не проверяет, настроена ли группа на устройстве. псевдонимы: role | ||
| groups - добавлен в 2.5 | Настраивает группы для имени пользователя в рабочей конфигурации устройства. Аргумент принимает список имён групп. Этот аргумент не проверяет, настроена ли группа на устройстве. Он похож на команду aggregate для имён пользователей, но позволяет настроить несколько групп для пользователя(ей). | ||
| name - | Имя пользователя, которое будет настроено на устройстве Cisco IOS XR. Этот аргумент принимает строковое значение и является взаимоисключающим с аргументом aggregate . Обратите внимание, что этот параметр не такой же, как provider username. | ||
| provider словарь | Устаревший Начиная с Ansible 2.5, рекомендуется использовать connection: network_cli. Дополнительную информацию см. в Руководстве по сети. Объект словаря, содержащий данные подключения. | ||
| host строка / обязательно | Указывает имя хоста DNS или адрес для подключения к удалённому устройству через указанный транспорт. Значение host используется в качестве адреса назначения для транспорта. | ||
| password строка | Указывает пароль для аутентификации подключения к удалённому устройству. Это значение используется для аутентификации сессии SSH. Если значение не указано в задаче, вместо него используется значение переменной среды ANSIBLE_NET_PASSWORD. | ||
| port целое число | Значение по умолчанию: 22 | Указывает порт для создания подключения к удалённому устройству. | |
| ssh_keyfile путь | Указывает SSH-ключ для аутентификации подключения к удалённому устройству. Это значение — путь к ключу, используемому для аутентификации сессии SSH. Если значение не указано в задаче, вместо него используется значение переменной среды ANSIBLE_NET_SSH_KEYFILE. | ||
| timeout целое число | Значение по умолчанию: 10 | Указывает тайм-аут в секундах для связи с сетевым устройством при подключении или отправке команд. Если тайм-аут истечёт до завершения операции, модуль выдаст ошибку. | |
| username строка | Настраивает имя пользователя для аутентификации подключения к удалённому устройству. Это значение используется для аутентификации сессии SSH. Если значение не указано в задаче, вместо него используется значение переменной среды ANSIBLE_NET_USERNAME. | ||
| public_key - добавлен в 2.5 | Настраивает содержимое файла открытого ключа для загрузки на узел IOS-XR. Это позволяет пользователям входить в систему, используя соответствующий закрытый ключ. IOS-XR принимает только файлы, закодированные в base64, поэтому они будут декодированы и загружены на узел. Обратите внимание, что это требует файла открытого ключа OpenSSL, сгенерированные файлы PuTTy не подойдут! Взаимоисключающе с public_key_contents. Если используется с несколькими пользователями в агрегатах, то один и тот же файл ключа используется для всех пользователей. | ||
| public_key_contents - добавлен в 2.5 | Настраивает содержимое файла открытого ключа для загрузки на узел IOS-XR. Это позволяет пользователям входить в систему, используя соответствующий закрытый ключ. IOS-XR принимает только файлы, закодированные в base64, поэтому они будут декодированы и загружены на узел. Обратите внимание, что это требует файла открытого ключа OpenSSL, сгенерированные файлы PuTTy не подойдут! Взаимоисключающе с public_key.Если используется с несколькими пользователями в агрегатах, то один и тот же файл ключа используется для всех пользователей. | ||
| purge boolean |
| Инструктирует модуль рассматривать определение ресурса как абсолютное. Он удалит любые ранее настроенные имена пользователей на устройстве, за исключением пользователя `admin` и текущего набора определенных пользователей. | |
| state - |
| Настраивает состояние определения имени пользователя в отношении рабочей конфигурации устройства. При значении present имя(на) пользователя(ей) должно быть настроено в активной конфигурации устройства, а при значении absent имя(на) пользователя(ей) не должно быть в активной конфигурации устройства. | |
| update_password - |
| Поскольку пароли зашифрованы в рабочей конфигурации устройства, этот аргумент укажет модулю, когда нужно изменить пароль. При значении always, пароль всегда будет обновляться на устройстве, а при значении on_create пароль будет обновлен только в случае создания имени пользователя. | |
Примечания
Примечание
- Этот модуль работает с подключениями
network_cliиnetconf. См. параметры платформы IOS-XR. - Тестировалось на IOS XRv 6.1.3
- Дополнительную информацию об использовании Ansible для управления сетевыми устройствами см. в Руководстве по Ansible для сетей
- Дополнительную информацию об использовании Ansible для управления устройствами Cisco см. на странице интеграции Cisco.
Примеры
- name: create a new user
iosxr_user:
name: ansible
configured_password: mypassword
state: present
- name: create a new user in admin configuration mode
iosxr_user:
name: ansible
configured_password: mypassword
admin: True
state: present
- name: remove all users except admin
iosxr_user:
purge: True
- name: set multiple users to group sys-admin
iosxr_user:
aggregate:
- name: netop
- name: netend
group: sysadmin
state: present
- name: set multiple users to multiple groups
iosxr_user:
aggregate:
- name: netop
- name: netend
groups:
- sysadmin
- root-system
state: present
- name: Change Password for User netop
iosxr_user:
name: netop
configured_password: "{{ new_password }}"
update_password: always
state: present
- name: Add private key authentication for user netop
iosxr_user:
name: netop
state: present
public_key_contents: "{{ lookup('file', '/home/netop/.ssh/id_rsa.pub' }}"
Возвращаемые значения
Общие значения возвращаемых данных документированы здесь, ниже приведены поля, уникальные для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| commands список | всегда | Список команд режима конфигурации, которые необходимо отправить устройству Пример: ['username ansible secret password group sysadmin', 'username admin secret admin'] |
| xml список добавлено в 2.5 | всегда (пустой список, если нет xml rpc для отправки) | XML-запрос NetConf, отправленный на устройство с транспортом netconf
Пример: ['<config xmlns:xc="urn:ietf:params:xml:ns:netconf:base:1.0"> <aaa xmlns="http://cisco.com/ns/yang/Cisco-IOS-XR-aaa-lib-cfg"> <usernames xmlns="http://cisco.com/ns/yang/Cisco-IOS-XR-aaa-locald-cfg"> <username xc:operation="merge"> <name>test7</name> <usergroup-under-usernames> <usergroup-under-username> <name>sysadmin</name> </usergroup-under-username> </usergroup-under-usernames> <secret>$1$ZsXC$zZ50wqhDC543ZWQkkAHLW0</secret> </username> </usernames> </aaa> </config>'] |
Статус
- Данный модуль не гарантирует обратной совместимости интерфейса. [превью]
- Этот модуль поддерживается командой Ansible Network Team. [сетевой]
Поддержка Red Hat
Дополнительную информацию о поддержке этого модуля компанией Red Hat можно найти в этой статье базы знаний Red Hat.
Авторы
- Trishna Guha (@trishnaguha)
- Sebastiaan van Doesselaar (@sebasdoes)
- Kedar Kekan (@kedarX)
Подсказка
Если вы обнаружите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/iosxr_user_module.html