ios_user – Управление агрегатом локальных пользователей на устройстве Cisco IOS
Новая в версии 2.4.
Обзор
- Этот модуль предоставляет декларативное управление локальными именами пользователей, настроенными на сетевых устройствах. Он позволяет плейбукам управлять либо отдельными именами пользователей, либо агрегатом имён пользователей в текущей рабочей конфигурации. Он также поддерживает удаление имён пользователей из конфигурации, которые не определены явно.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| aggregate - | Набор объектов username, которые нужно настроить на удалённом устройстве Cisco IOS. Элементы списка могут быть либо именем пользователя, либо хешем имени пользователя и свойств. Этот аргумент взаимоисключающий с аргументом name. Псевдонимы: users, collection | ||
| auth_pass строка | Устарело Начиная с Ansible 2.5, рекомендуется использовать connection: network_cli и become: yes с become_pass. Для получения дополнительной информации см. руководство IOS Platform Options. Указывает пароль, используемый для входа в привилегированный режим на удалённом устройстве. Если authorize имеет значение false, этот аргумент не действует. Если значение не указано в задаче, используется значение переменной среды ANSIBLE_NET_AUTH_PASS. | ||
| authorize логическое значение |
| Устарело Начиная с Ansible 2.5, рекомендуется использовать connection: network_cli и become: yes. Для получения дополнительной информации см. руководство IOS Platform Options. Указывает модулю войти в привилегированный режим на удалённом устройстве перед отправкой любых команд. Если не указано, устройство попытается выполнить все команды в режиме без привилегий. Если значение не указано в задаче, используется значение переменной среды ANSIBLE_NET_AUTHORIZE. | |
| configured_password - | Пароль, который нужно настроить на устройстве Cisco IOS. Пароль должен быть предоставлен в явном виде, и он будет зашифрован на устройстве. Обратите внимание, что этот параметр отличается от provider password. | ||
| hashed_password - добавлено в 2.8 | Этот параметр позволяет настраивать хэшированные пароли на устройствах Cisco IOS. | ||
| type целое число / обязательно | Указывает тип хэша (например, 5 для MD5, 8 для PBKDF2 и т.д.). Для этого устройство должно поддерживать нужный тип хэша. | ||
| value - / обязательно | Фактический хэшированный пароль, который нужно настроить на устройстве. | ||
| name - | Имя пользователя, которое нужно настроить на устройстве Cisco IOS. Этот аргумент принимает строковое значение и взаимоисключающий с аргументом aggregate. Обратите внимание, что этот параметр отличается от provider username. | ||
| nopassword логическое значение |
| Определяет имя пользователя без присвоения пароля. Это позволит пользователю войти в систему без проверки пароля. | |
| password_type - добавлено в 2.8 |
| Этот аргумент определяет, будет ли настраиваться «пароль» или «секрет». | |
| 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 целое число | Значение по умолчанию: 22 | Указывает порт, используемый при построении подключения к удалённому устройству. | |
| ssh_keyfile путь | Указывает SSH-ключ, используемый для аутентификации подключения к удалённому устройству. Это значение — путь к ключу, используемому для аутентификации сеанса SSH. Если значение не указано в задаче, используется значение переменной среды ANSIBLE_NET_SSH_KEYFILE. | ||
| timeout целое число | Значение по умолчанию: 10 | Указывает таймаут в секундах для связи с сетевым устройством для подключения или отправки команд. Если таймаут истечёт до завершения операции, модуль выдаст ошибку. | |
| username строка | Настраивает имя пользователя, используемое для аутентификации подключения к удалённому устройству. Это значение используется для аутентификации сеанса SSH. Если значение не указано в задаче, используется значение переменной среды ANSIBLE_NET_USERNAME. | ||
| purge логическое значение |
| Указывает модулю рассматривать определение ресурса как абсолютное. Он удалит все ранее настроенные имена пользователей на устройстве, за исключением пользователя `admin` (текущий набор пользователей). | |
| sshkey - добавлено в 2.7 | Указывает один или несколько SSH-открытых ключей для настройки для данного имени пользователя. Этот аргумент принимает действительное значение SSH-ключа. | ||
| state - |
| Настраивает состояние определения имени пользователя, что относится к конфигурации устройства. При установке в present, имя(а) пользователя(ей) должны быть настроены в активной конфигурации устройства, а при установке в absent имя(а) пользователя(ей) не должно быть в активной конфигурации устройства. | |
| update_password - |
| Так как пароли зашифрованы в конфигурации устройства, этот аргумент укажет модулю, когда изменить пароль. При установке в always, пароль всегда будет обновлён на устройстве, а при установке в on_create, пароль будет обновлён только в случае создания имени пользователя. | |
| view - | Настраивает представление для имени пользователя в рабочей конфигурации устройства. Аргумент принимает строковое значение, определяющее имя представления. Этот аргумент не проверяет, настроено ли представление на устройстве. Псевдонимы: роль | ||
Примечания
Примечание
- Проверено на IOS 15.6
- Дополнительную информацию об использовании Ansible для управления сетевыми устройствами см. в Руководстве по сети Ansible
- Дополнительную информацию об использовании Ansible для управления устройствами Cisco см. на странице интеграции Cisco.
Примеры
- name: create a new user
ios_user:
name: ansible
nopassword: True
sshkey: "{{ lookup('file', '~/.ssh/id_rsa.pub') }}"
state: present
- name: create a new user with multiple keys
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
ios_user:
purge: yes
- name: remove all users except admin and these listed users
ios_user:
aggregate:
- name: testuser1
- name: testuser2
- name: testuser3
purge: yes
- name: set multiple users to privilege level 15
ios_user:
aggregate:
- name: netop
- name: netend
privilege: 15
state: present
- name: set user view/role
ios_user:
name: netop
view: network-operator
state: present
- name: Change Password for User netop
ios_user:
name: netop
configured_password: "{{ new_password }}"
update_password: always
state: present
- name: Aggregate of users
ios_user:
aggregate:
- name: ansibletest2
- name: ansibletest3
view: network-admin
- name: Add a user specifying password type
ios_user:
name: ansibletest4
configured_password: "{{ new_password }}"
password_type: password
- name: Add a user with MD5 hashed password
ios_user:
name: ansibletest5
hashed_password:
type: 5
value: $3$8JcDilcYgFZi.yz4ApaqkHG2.8/
- name: Delete users with aggregate
ios_user:
aggregate:
- name: ansibletest1
- name: ansibletest2
- name: ansibletest3
state: absent
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие — поля, уникальные для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| commands список | всегда | Список команд режима конфигурации для отправки устройству Пример: ['username ansible secret password', 'username admin secret admin'] |
Статус
- Гарантия обратной совместимости данного модуля не предоставляется. [превью]
- Данный модуль поддерживается командой Ansible Network. [сеть]
Поддержка Red Hat
Дополнительную информацию о поддержке данного модуля Red Hat см. в статье Базы знаний Red Hat.
Авторы
- 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.8/modules/ios_user_module.html