cisco.ios.ios_user – Управление локальными пользователями на устройстве Cisco IOS
Примечание
Этот плагин входит в коллекцию cisco.ios (версия 1.3.0).
Для его установки используйте: 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 строка |
| Этот аргумент определяет, будет ли настраиваться «пароль» или «секрет». | ||
| 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 строка |
| Этот аргумент определяет, будет ли настраиваться «пароль» или «секрет». | ||
| privilege целое число | Аргумент privilege настраивает уровень привилегий пользователя при входе в систему. Этот аргумент принимает целые значения в диапазоне от 1 до 15. | |||
| provider словарь | Устаревшее Начиная с Ansible 2.5, рекомендуется использовать connection: network_cli. Для получения дополнительной информации см. руководство IOS Platform Options. Объект словаря, содержащий данные подключения. | |||
| auth_pass строка | Указывает пароль для использования, если требуется ввод привилегированного режима на удалённом устройстве. Если authorize имеет значение false, этот аргумент не выполняет никаких действий. Если значение не указано в задании, вместо него будет использовано значение переменной окружения ANSIBLE_NET_AUTH_PASS. | |||
| authorize логическое значение |
| Инструктирует модуль войти в привилегированный режим на удалённом устройстве перед отправкой любых команд. Если не указано, устройство попытается выполнить все команды в режиме без привилегий. Если значение не указано в задании, вместо него будет использовано значение переменной окружения ANSIBLE_NET_AUTHORIZE. | ||
| host строка | Указывает имя хоста DNS или адрес для подключения к удалённому устройству через указанный транспорт. Значение host используется в качестве адреса назначения для транспорта. | |||
| 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 .
Примеры
- 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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/cisco/ios/ios_user_module.html