cisco.ios.ios_user – Управление набором локальных пользователей на устройстве Cisco IOS
Примечание
Этот плагин входит в коллекцию cisco.ios (версия 1.2.1).
Для его установки используйте: ansible-galaxy collection install cisco.ios.
Для использования в книге задач укажите: cisco.ios.ios_user.
Новый в версии 1.0.0: of cisco.ios
Обзор
- Этот модуль обеспечивает декларативное управление локальными именами пользователей, настроенными на сетевых устройствах. Он позволяет книгам задач управлять либо отдельными именами пользователей, либо совокупностью имён пользователей в текущей рабочей конфигурации. Он также поддерживает очистку имён пользователей из конфигурации, которые не определены явно.
Примечание
У этого модуля есть соответствующий плагин действий.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | ||
|---|---|---|---|---|
| aggregate список / элементы=словарь | Набор объектов имен пользователей, которые нужно настроить на удаленном устройстве Cisco IOS. Элементы списка могут быть именем пользователя или словарем с именем пользователя и свойствами. Этот аргумент взаимоисключающий с аргументом name. Псевдонимы: users, collection | |||
| configured_password строка | Пароль, который нужно настроить на устройстве Cisco IOS. Пароль должен быть предоставлен в открытом виде и будет зашифрован на устройстве. Обратите внимание, что этот параметр отличается от параметра provider password. | |||
| hashed_password словарь | Этот параметр позволяет настраивать хэшированные пароли на устройствах Cisco IOS. | |||
| type целое число / обязательно | Указывает тип хэша (например, 5 для MD5, 8 для PBKDF2 и т. д.). Для этого устройство должно поддерживать требуемый тип хэша | |||
| value строка / обязательно | Фактический хэшированный пароль, который нужно настроить на устройстве | |||
| name строка / обязательно | Имя пользователя, которое нужно настроить на устройстве Cisco IOS. Этот аргумент принимает строковое значение и взаимоисключающий с аргументом aggregate. Обратите внимание, что этот параметр отличается от provider username. | |||
| nopassword логическое |
| Определяет имя пользователя без присвоения пароля. Это позволит пользователю войти в систему без аутентификации паролем. | ||
| password_type строка |
| Этот аргумент определяет, будет ли настроен 'пароль' или 'secret'. | ||
| privilege целое число | Аргумент privilege настраивает уровень привилегий пользователя при входе в систему. Этот аргумент принимает целочисленные значения в диапазоне от 1 до 15. | |||
| sshkey список / элементы=строка | Указывает один или несколько общедоступных ключей SSH для настройки для данного имени пользователя. Этот аргумент принимает допустимое значение SSH-ключа. | |||
| state строка |
| Настраивает состояние определения имени пользователя по отношению к операционной конфигурации устройства. При установке в present имя пользователя(ей) должно быть настроено в активной конфигурации устройства, а при установке в absent имя пользователя(ей) не должно быть в активной конфигурации устройства. | ||
| update_password строка |
| Поскольку пароли шифруются в конфигурации устройства, этот аргумент укажет модулю, когда изменить пароль. При установке в always, пароль всегда будет обновлен на устройстве, а при установке в on_create пароль будет обновлен только в случае создания имени пользователя. | ||
| view строка | Настраивает представление для имени пользователя в рабочей конфигурации устройства. Аргумент принимает строковое значение, определяющее имя представления. Этот аргумент не проверяет, было ли представление настроено на устройстве. Псевдонимы: роль | |||
| configured_password строка | Пароль, который нужно настроить на устройстве Cisco IOS. Пароль должен быть предоставлен в открытом виде и будет зашифрован на устройстве. Обратите внимание, что этот параметр отличается от provider password. | |||
| hashed_password словарь | Этот параметр позволяет настраивать хэшированные пароли на устройствах Cisco IOS. | |||
| type целое число / обязательно | Указывает тип хэша (например, 5 для MD5, 8 для PBKDF2 и т. д.). Для этого устройство должно поддерживать требуемый тип хэша | |||
| value строка / обязательно | Фактический хэшированный пароль, который нужно настроить на устройстве | |||
| name строка | Имя пользователя, которое нужно настроить на устройстве Cisco IOS. Этот аргумент принимает строковое значение и взаимоисключающий с аргументом aggregate. Обратите внимание, что этот параметр отличается от provider username. | |||
| nopassword логическое |
| Определяет имя пользователя без присвоения пароля. Это позволит пользователю войти в систему без аутентификации паролем. | ||
| password_type строка |
| Этот аргумент определяет, будет ли настроен 'пароль' или 'secret'. | ||
| privilege целое число | Аргумент privilege настраивает уровень привилегий пользователя при входе в систему. Этот аргумент принимает целочисленные значения в диапазоне от 1 до 15. | |||
| provider словарь | Устарело Начиная с Ansible 2.5, рекомендуется использовать connection: network_cli.Дополнительную информацию можно найти в руководстве по платформе IOS IOS Platform Options. Объект словаря, содержащий сведения о подключении. | |||
| auth_pass строка | Указывает пароль, используемый при необходимости для входа в привилегированный режим на удаленном устройстве. Если authorize ложно, то этот аргумент ничего не делает. Если значение не указано в задаче, используется значение переменной среды ANSIBLE_NET_AUTH_PASS. | |||
| authorize логическое |
| Указывает модулю войти в привилегированный режим на удаленном устройстве перед отправкой любых команд. Если не указано, устройство попытается выполнить все команды в режиме без привилегий. Если значение не указано в задаче, используется значение переменной среды ANSIBLE_NET_AUTHORIZE. | ||
| host строка | Указывает имя хоста DNS или адрес для подключения к удаленному устройству по указанному транспорту. Значение хоста используется в качестве адреса назначения для транспорта. | |||
| password строка | Указывает пароль для аутентификации подключения к удаленному устройству. Это значение используется для аутентификации сеанса SSH. Если значение не указано в задаче, используется значение переменной среды ANSIBLE_NET_PASSWORD. | |||
| port целое число | Указывает порт, используемый при построении подключения к удаленному устройству. | |||
| ssh_keyfile путь | Указывает SSH-ключ для аутентификации подключения к удаленному устройству. Это значение — путь к ключу, используемому для аутентификации сеанса SSH. Если значение не указано в задаче, используется значение переменной среды ANSIBLE_NET_SSH_KEYFILE. | |||
| timeout целое число | Указывает тайм-аут в секундах для связи с сетевым устройством для подключения или отправки команд. Если тайм-аут истечет до завершения операции, модуль вернет ошибку. | |||
| username строка | Настраивает имя пользователя для аутентификации подключения к удаленному устройству. Это значение используется для аутентификации сеанса SSH. Если значение не указано в задаче, используется значение переменной среды ANSIBLE_NET_USERNAME. | |||
| purge логическое |
| Указывает модулю рассматривать определение ресурса как абсолютное. Он удалит все ранее настроенные имена пользователей на устройстве, за исключением пользователя `admin` (текущий набор определенных пользователей). | ||
| sshkey список / элементы=строка | Указывает один или несколько общедоступных ключей SSH для настройки для данного имени пользователя. Этот аргумент принимает допустимое значение SSH-ключа. | |||
| state строка |
| Настраивает состояние определения имени пользователя по отношению к операционной конфигурации устройства. При установке в present имя пользователя(ей) должно быть настроено в активной конфигурации устройства, а при установке в absent имя пользователя(ей) не должно быть в активной конфигурации устройства. | ||
| update_password string |
| Поскольку пароли зашифрованы в конфигурации устройства, этот аргумент указывает модулю, когда следует изменить пароль. Если установлено значение always, пароль всегда будет обновлен на устройстве, а если установлено значение on_create, пароль будет обновлен только при создании пользователя. | ||
| view string | Настраивает представление для имени пользователя в конфигурации устройства. Аргумент принимает строковое значение, определяющее имя представления. Этот аргумент не проверяет, настроено ли представление на устройстве. псевдонимы: роль | |||
Примечания
Примечание
- Проверено на IOS 15.6
- Дополнительную информацию об использовании Ansible для управления сетевыми устройствами см. в Руководстве по сети Ansible
- Дополнительную информацию об использовании Ansible для управления устройствами Cisco см. на странице интеграции Cisco https://www.ansible.com/integrations/networks/cisco.
Примеры
- name: create a new user
cisco.ios.ios_user:
name: ansible
nopassword: true
sshkey: "{{ lookup('file', '~/.ssh/id_rsa.pub') }}"
state: present
- name: create a new user with multiple keys
cisco.ios.ios_user:
name: ansible
sshkey:
- "{{ lookup('file', '~/.ssh/id_rsa.pub') }}"
- "{{ lookup('file', '~/path/to/public_key') }}"
state: present
- name: remove all users except admin
cisco.ios.ios_user:
purge: yes
- name: remove all users except admin and these listed users
cisco.ios.ios_user:
aggregate:
- name: testuser1
- name: testuser2
- name: testuser3
purge: yes
- name: set multiple users to privilege level 15
cisco.ios.ios_user:
aggregate:
- name: netop
- name: netend
privilege: 15
state: present
- name: set user view/role
cisco.ios.ios_user:
name: netop
view: network-operator
state: present
- name: Change Password for User netop
cisco.ios.ios_user:
name: netop
configured_password: '{{ new_password }}'
update_password: always
state: present
- name: Aggregate of users
cisco.ios.ios_user:
aggregate:
- name: ansibletest2
- name: ansibletest3
view: network-admin
- name: Add a user specifying password type
cisco.ios.ios_user:
name: ansibletest4
configured_password: '{{ new_password }}'
password_type: password
- name: Add a user with MD5 hashed password
cisco.ios.ios_user:
name: ansibletest5
hashed_password:
type: 5
value: $3$8JcDilcYgFZi.yz4ApaqkHG2.8/
- name: Delete users with aggregate
cisco.ios.ios_user:
aggregate:
- name: ansibletest1
- name: ansibletest2
- name: ansibletest3
state: absent
Значения возврата
Общие значения возврата описаны здесь, следующие — поля, уникальные для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| commands список / элементы=строка | всегда | Список команд режима конфигурации, которые необходимо отправить устройству Пример: ['username ansible secret password', 'username admin secret admin'] |
Авторы
- Trishna Guha (@trishnaguha)
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/cisco/ios/ios_user_module.html