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 | Устарело Начиная с Ansible 2.5, рекомендуется использовать connection: network_cli. Для получения дополнительной информации, обратитесь к Руководству по сети. Объект словаря, содержащий данные подключения. | ||
| host требуется | Указывает имя хоста DNS или адрес для подключения к удалённому устройству через указанный транспорт. Значение host используется в качестве адреса назначения для транспорта. | ||
| port | По умолчанию: 22 | Указывает порт для создания соединения с удалённым устройством. | |
| username | Настраивает имя пользователя для проверки подлинности подключения к удалённому устройству. Это значение используется для проверки подлинности сессии SSH. Если значение не указано в задаче, используется значение переменной окружения ANSIBLE_NET_USERNAME. | ||
| password | Указывает пароль для проверки подлинности подключения к удалённому устройству. Это значение используется для проверки подлинности сессии SSH. Если значение не указано в задаче, используется значение переменной окружения ANSIBLE_NET_PASSWORD. | ||
| timeout | По умолчанию: 10 | Указывает таймаут в секундах для связи с сетевым устройством для подключения или отправки команд. Если таймаут превышен до завершения операции, модуль выдаст ошибку. | |
| ssh_keyfile | Указывает SSH ключ для проверки подлинности подключения к удалённому устройству. Это значение — путь к ключу, используемому для проверки подлинности сессии SSH. Если значение не указано в задаче, используется значение переменной окружения ANSIBLE_NET_SSH_KEYFILE. | ||
| 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 bool |
| Указывает модулю рассматривать определение ресурса как абсолютное. Он удалит любые ранее настроенные имена пользователей на устройстве, за исключением пользователя `admin` и текущего набора определённых пользователей. | |
| state |
| Настраивает состояние определения имени пользователя по отношению к рабочей конфигурации устройства. При значении present, имя пользователя(ей) должно быть настроено в активной конфигурации устройства, а при значении absent — имя пользователя(ей) не должно быть в активной конфигурации устройства. | |
| update_password |
| Поскольку пароли зашифрованы в рабочей конфигурации устройства, этот аргумент укажет модулю, когда изменить пароль. При значении always, пароль всегда будет обновлён на устройстве, а при значении on_create пароль будет обновлён только при создании имени пользователя. | |
Примечания
Примечание
- Проверено на IOS XRv 6.1.2
- Для получения дополнительной информации о использовании Ansible для управления сетевыми устройствами, см. Руководство по сети Ansible
- Для получения дополнительной информации об использовании Ansible для управления устройствами Cisco см. страницу интеграции Cisco https://www.ansible.com/integrations/networks/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 список (добавлено в 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. Более подробную информацию см. в Документации по техническому обслуживанию и поддержке модулей.
Список других модулей, также поддерживаемых командой Ansible Network Team, см. здесь.
Поддержка
Дополнительную информацию о поддержке этого модуля 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.6/modules/iosxr_user_module.html