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 используется в качестве адреса назначения для транспорта. | ||
| 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 - |
| Настраивает состояние определения имени пользователя по отношению к рабочей конфигурации устройства. При установке в настоящее имя пользователя(ей) должно быть настроено в активной конфигурации устройства, а при установке в отсутствующее имя пользователя(ей) не должно быть в активной конфигурации устройства. | |
| 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 список добавлен в 2.5 | всегда (пустой список, если нет 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>'] |
Статус
- Гарантия обратной совместимости для данного модуля не предоставляется. [превью]
- Данный модуль поддерживается командой 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.7/modules/iosxr_user_module.html