iosxr_user – Управлять совокупностью локальных пользователей на устройстве Cisco IOS XR
Новая в версии 2.4.
Обзор
- Этот модуль обеспечивает декларативное управление локальными именами пользователей, настроенными на сетевых устройствах. Он позволяет плейбукам управлять либо отдельными именами пользователей, либо совокупностью имён пользователей в текущей конфигурации. Он также поддерживает удаление имён пользователей из конфигурации, которые не определены явно.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- base64 при использовании public_key_contents или public_key
- lxml >= 4.1.1 при использовании netconf
- ncclient >= 0.5.3 при использовании netconf
- 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 - | Настраивает группу для имени пользователя в рабочей конфигурации устройства. Аргумент принимает строковое значение, определяющее имя группы. Этот аргумент не проверяет, настроена ли группа на устройстве. алиасы: роль | ||
| 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, пароль будет обновлён только в случае создания имени пользователя. | |
Примечания
Примечание
- Тестировано с IOS XRv 6.1.2
- Дополнительную информацию об использовании Ansible для управления сетевыми устройствами см. в Руководстве по сети Ansible
- Дополнительную информацию об использовании Ansible для управления устройствами Cisco см. на странице интеграции Cisco Cisco integration page.
Примеры
- 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 для отправки) | Отправленный на устройство NetConf rpc xml с транспортом 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.8/modules/iosxr_user_module.html