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
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| aggregate | Набор объектов имен пользователей, которые необходимо настроить на удалённом устройстве Cisco IOS XR. Элементы списка могут быть либо именем пользователя, либо хэшем имени пользователя и свойств. Этот аргумент несовместим с аргументом name. Псевдонимы: users, collection | ||
| configured_password | Пароль, который необходимо настроить на устройстве Cisco IOS XR. Пароль должен быть предоставлен в виде открытого текста. Пароль шифруется на устройстве при использовании cli и Ansible при использовании netconf с использованием той же техники хэширования MD5 со значением размера соли 3. Обратите внимание, что этот параметр отличается от provider password. | ||
| group | Настраивает группу для имени пользователя в рабочей конфигурации устройства. Аргумент принимает строковое значение, определяющее имя группы. Этот аргумент не проверяет, настроен ли группа на устройстве. Псевдонимы: role | ||
| groups (добавлено в 2.5) | Настраивает группы для имени пользователя в рабочей конфигурации устройства. Аргумент принимает список имён групп. Этот аргумент не проверяет, настроен ли группа на устройстве. Он аналогичен команде aggregrate для имён пользователей, но позволяет настроить несколько групп для пользователя(ей). | ||
| name | Имя пользователя, которое необходимо настроить на устройстве Cisco IOS XR. Этот аргумент принимает строковое значение и несовместим с аргументом aggregate. Обратите внимание, что этот параметр отличается от provider username. | ||
| provider | По умолчанию: None | Устаревший Начиная с Ansible 2.5, рекомендуется использовать connection: network_cli. Для получения дополнительной информации см. Руководство по сети. Объект словаря, содержащий сведения о подключении. | |
| username | Настраивает имя пользователя для аутентификации подключения к удалённому устройству. Это значение используется для аутентификации сеанса SSH. Если значение не указано в задании, используется значение переменной окружения ANSIBLE_NET_USERNAME. | ||
| host требуется | Указывает имя хоста DNS или адрес для подключения к удалённому устройству через указанный транспорт. Значение параметра host используется в качестве адреса назначения для транспорта. | ||
| ssh_keyfile | Указывает SSH-ключ для аутентификации подключения к удалённому устройству. Это значение — путь к ключу, используемому для аутентификации сеанса SSH. Если значение не указано в задании, используется значение переменной окружения ANSIBLE_NET_SSH_KEYFILE. | ||
| timeout | По умолчанию: 10 | Указывает время ожидания в секундах для связи с сетевым устройством при подключении или отправке команд. Если время ожидания истечёт до завершения операции, модуль выдаст ошибку. | |
| password | По умолчанию: None | Указывает пароль для аутентификации подключения к удалённому устройству. Это значение используется для аутентификации сеанса SSH. Если значение не указано в задании, используется значение переменной окружения ANSIBLE_NET_PASSWORD. | |
| port | По умолчанию: 22 | Указывает порт для подключения к удалённому устройству. | |
| 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 |
| Указывает модулю рассматривать определение ресурса как абсолютное. Он удалит все ранее настроенные имена пользователей на устройстве, за исключением пользователя `admin` и текущего набора определённых пользователей. | |
| state |
| Настраивает состояние определения имени пользователя, которое относится к операционной конфигурации устройства. При значении present имя(на) пользователя(ей) должно быть настроено в активной конфигурации устройства, а при значении absent — нет. | |
| update_password |
| Поскольку пароли зашифрованы в конфигурации устройства, этот аргумент укажет, когда обновить пароль. При значении always, пароль всегда будет обновляться на устройстве, а при значении on_create пароль будет обновлён только в случае создания имени пользователя. | |
Примечания
Примечание
- Проверено на IOS XRv 6.1.2
- Дополнительную информацию об использовании Ansible для управления сетевыми устройствами см. в Руководстве по сетям Ansible
- Дополнительную информацию об использовании Ansible для управления устройствами Cisco см. на странице интеграции Cisco.
Примеры
- name: create a new user
iosxr_user:
name: ansible
configured_password: mypassword
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 список | всегда (пустой список, когда нет xml rpc для отправки) | xml rpc 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>'] |
Статус
Этот модуль помечен как превью, что означает, что его интерфейс не гарантированно будет обратной совместимостью.
Поддержка
Для получения дополнительной информации о поддержке этого модуля 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.5/modules/iosxr_user_module.html