Spec-Zone.ru › Ansible

Модуль cisco.ios.ios_user – Управление агрегатами локальных пользователей.

Примечание

Этот модуль входит в коллекцию cisco.ios (версия 8.0.0).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install cisco.ios.

Для использования в плейбуке укажите: cisco.ios.ios_user.

Добавлена в cisco.ios 1.0.0

  • Описание
  • Параметры
  • Примечания
  • Примеры
  • Значения возврата

Описание

  • Этот модуль обеспечивает декларативное управление локальными именами пользователей, настроенными на сетевых устройствах. Он позволяет плейбукам управлять как отдельными именами пользователей, так и совокупностью имён в текущей конфигурации. Он также поддерживает удаление имён пользователей из конфигурации, которые не определены явно.

Псевдонимы: user

Параметры

Параметр

Комментарии

aggregate

псевдонимы: users, collection

список / элементы=словарь

Набор объектов имен пользователей, которые необходимо настроить на удалённом устройстве Cisco IOS. Элементы списка могут представлять собой имя пользователя или словарь с именем пользователя и свойствами. Этот аргумент взаимоисключающий с аргументом name.

configured_password

строка

Пароль, который необходимо настроить на устройстве Cisco IOS. Пароль должен быть предоставлен в открытом виде и будет зашифрован на устройстве. Обратите внимание, что этот параметр не эквивалентен provider password.

hashed_password

словарь

Этот параметр позволяет настраивать хешированные пароли на устройствах Cisco IOS.

type

целое число / обязательно

Указывает тип хеша (например, 5 для MD5, 8 для PBKDF2 и т. д.).

Для работы требуется, чтобы устройство поддерживало желаемый тип хеша.

value

строка / обязательно

Фактический хешированный пароль, который необходимо настроить на устройстве

name

строка / обязательно

Имя пользователя, которое необходимо настроить на устройстве Cisco IOS. Этот аргумент принимает строковое значение и взаимоисключающий с аргументом aggregate. Обратите внимание, что этот параметр не эквивалентен provider username.

nopassword

булево

Определяет имя пользователя без присвоения пароля. Это позволит пользователю войти в систему без проверки паролем.

Варианты:

  • false
  • true

password_type

строка

Этот аргумент определяет, будет ли настраиваться «пароль» или «секрет».

Варианты:

  • "secret"
  • "password"

privilege

целое число

Аргумент privilege настраивает уровень привилегий пользователя при входе в систему. Этот аргумент принимает целочисленные значения в диапазоне от 1 до 15.

sshkey

список / элементы=строка

Указывает один или несколько открытых ключей SSH для настройки для данного имени пользователя.

Этот аргумент принимает допустимое значение ключа SSH.

state

строка

Настраивает состояние определения имени пользователя, относящееся к рабочей конфигурации устройства. При установке в present имя(на) пользователя(ей) должны быть настроены в активной конфигурации устройства, а при установке в absent имя(на) пользователя(ей) не должно быть в активной конфигурации устройства.

Варианты:

  • "present"
  • "absent"

update_password

строка

Поскольку пароли зашифрованы в конфигурации устройства, этот аргумент указывает модулю, когда необходимо изменить пароль. При установке в always, пароль всегда будет обновлён в устройстве, а при установке в on_create пароль будет обновлён только в случае создания имени пользователя.

Варианты:

  • "on_create"
  • "always"

view

псевдонимы: role

строка

Настраивает представление для имени пользователя в рабочей конфигурации устройства. Аргумент принимает строковое значение, определяющее имя представления. Этот аргумент не проверяет, было ли представление настроено на устройстве.

configured_password

строка

Пароль, который необходимо настроить на устройстве Cisco IOS. Пароль должен быть предоставлен в открытом виде и будет зашифрован на устройстве. Обратите внимание, что этот параметр не эквивалентен provider password.

hashed_password

словарь

Этот параметр позволяет настраивать хешированные пароли на устройствах Cisco IOS.

type

целое число / обязательно

Указывает тип хеша (например, 5 для MD5, 8 для PBKDF2 и т. д.).

Для работы требуется, чтобы устройство поддерживало желаемый тип хеша.

value

строка / обязательно

Фактический хешированный пароль, который необходимо настроить на устройстве

name

string

Имя пользователя, которое необходимо настроить на устройстве Cisco IOS. Этот аргумент принимает строковое значение и взаимно исключает аргумент aggregate. Обратите внимание, что этот параметр отличается от provider username.

nopassword

boolean

Определяет имя пользователя без присвоения пароля. Это позволит пользователю войти в систему без проверки пароля.

Варианты:

  • false
  • true

password_type

string

Этот аргумент определяет, будет ли настраиваться «пароль» или «секрет».

Варианты:

  • "secret" ← (по умолчанию)
  • "password"

privilege

integer

Аргумент privilege настраивает уровень привилегий пользователя при входе в систему. Этот аргумент принимает целые значения в диапазоне от 1 до 15.

purge

boolean

Указывает модулю рассматривать определение ресурса как абсолютное. Он удалит все ранее настроенные имена пользователей на устройстве, за исключением пользователя `admin` (текущий набор определенных пользователей).

Варианты:

  • false ← (по умолчанию)
  • true

sshkey

list / elements=string

Указывает один или несколько общедоступных ключей SSH для настройки для данного имени пользователя.

Этот аргумент принимает допустимое значение ключа SSH.

state

string

Настраивает состояние определения имени пользователя по отношению к рабочей конфигурации устройства. При установке в present имена пользователя должны быть настроены в активной конфигурации устройства, а при установке в absent — имена пользователя не должны быть в активной конфигурации устройства.

Варианты:

  • "present" ← (по умолчанию)
  • "absent"

update_password

string

Так как пароли зашифрованы в рабочей конфигурации устройства, этот аргумент укажет модулю, когда необходимо изменить пароль. При установке в always, пароль всегда будет обновляться на устройстве, а при установке в on_create пароль будет обновляться только в случае создания имени пользователя.

Варианты:

  • "on_create"
  • "always" ← (по умолчанию)

view

aliases: role

string

Настраивает представление для имени пользователя в рабочей конфигурации устройства. Аргумент принимает строковое значение, определяющее имя представления. Этот аргумент не проверяет, настроено ли представление на устройстве.

Примечания

Примечание

  • Проверено на Cisco IOSXE версии 17.3 на CML.
  • Этот модуль работает с подключением network_cli. См. https://docs.ansible.com/ansible/latest/network/user_guide/platform_ios.html
  • Дополнительную информацию об использовании Ansible для управления сетевыми устройствами см. в :ref:`Руководстве по Ansible Network <network_guide>`
  • Дополнительную информацию об использовании Ansible для управления устройствами Cisco см. на странице интеграции Cisco: `https://www.ansible.com/integrations/networks/cisco`.

Примеры

# Using state: present

# Before state:
# -------------

# router-ios#show running-config | section ^username
# username testuser privilege 15 password 0 password

# Present state create a new user play:
# -------------------------------------

- name: Create a new user
  cisco.ios.ios_user:
    name: ansible
    nopassword: true
    sshkey: "{{ lookup('file', '~/.ssh/id_rsa.pub') }}"
    state: present

# Task Output
# -----------

# commands:
# - ip ssh pubkey-chain
# - username ansible
# - key-hash ssh-rsa 2ABB27BBC33ED53EF7D55037952ABB27 test@fedora
# - exit
# - exit
# - username ansible nopassword

# After state:
# ------------

# router-ios#show running-config | section username
# username testuser privilege 15 password 0 password
# username ansible nopassword
#   username ansible
#    key-hash ssh-rsa 2ABB27BBC33ED53EF7D55037952ABB27 test@fedora

# Using state: present

# Before state:
# -------------

# router-ios#show running-config | section ^username
# username testuser privilege 15 password 0 password

# Present state create a new user with multiple keys play:
# --------------------------------------------------------

- 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

# Task Output
# -----------

# commands:
# - ip ssh pubkey-chain
# - username ansible
# - key-hash ssh-rsa 2ABB27BBC33ED53EF7D55037952ABB27 test@fedora
# - key-hash ssh-rsa 1985673DCF7FA9A0F374BB97DC2ABB27 test@fedora
# - exit
# - exit

# After state:
# ------------

# router-ios#show running-config | section username
# username testuser privilege 15 password 0 password
#   username ansible
#    key-hash ssh-rsa 2ABB27BBC33ED53EF7D55037952ABB27 test@fedora
#    key-hash ssh-rsa 1985673DCF7FA9A0F374BB97DC2ABB27 test@fedora

# Using Purge: true

# Before state:
# -------------

# router-ios#show running-config | section ^username
# username admin privilege 15 password 0 password
# username testuser privilege 15 password 0 password
# username ansible nopassword
#   username ansible
#    key-hash ssh-rsa 2ABB27BBC33ED53EF7D55037952ABB27 test@fedora

# Purge all users except admin play:
# ----------------------------------

- name: Remove all users except admin
  cisco.ios.ios_user:
    purge: true

# Task Output
# -----------

# commands:
# - no username testuser
# - no username ansible
# - ip ssh pubkey-chain
# - no username ansible
# - exit

# After state:
# ------------

# router-ios#show running-config | section username
# username admin privilege 15 password 0 password

# Using Purge: true

# Before state:
# -------------

# router-ios#show running-config | section ^username
# username admin privilege 15 password 0 password
# username testuser privilege 15 password 0 password1
# username testuser1 privilege 15 password 0 password2
# username ansible nopassword

# Purge all users except admin and these listed users play:
# ---------------------------------------------------------

- name: Remove all users except admin and these listed users
  cisco.ios.ios_user:
    aggregate:
      - name: testuser
      - name: testuser1
    purge: true

# Task Output
# -----------

# commands:
# - no username ansible

# After state:
# ------------

# router-ios#show running-config | section username
# username admin privilege 15 password 0 password
# username testuser privilege 15 password 0 password1
# username testuser1 privilege 15 password 0 password2

# Using state: present

# Before state:
# -------------

# router-ios#show running-config | section ^username
# username admin privilege 15 password 0 password
# username netop password 0 password1
# username netend password 0 password2

# Present state set multiple users to privilege level 15 play:
# ------------------------------------------------------------

- name: Set multiple users to privilege level 15
  cisco.ios.ios_user:
    aggregate:
      - name: netop
      - name: netend
    privilege: 15
    state: present

# Task Output
# -----------

# commands:
# - username netop privilege 15
# - username netend privilege 15

# After state:
# ------------

# router-ios#show running-config | section username
# username admin privilege 15 password 0 password
# username netop privilege 15 password 0 password1
# username netend privilege 15 password 0 password2

# Using state: present

# Before state:
# -------------

# router-ios#show running-config | section ^username
# username admin privilege 15 password 0 password
# username netop privilege 15 password 0 oldpassword

# Present state Change Password for User netop play:
# --------------------------------------------

- name: Change Password for User netop
  cisco.ios.ios_user:
    name: netop
    configured_password: "newpassword"
    password_type: password
    update_password: always
    state: present

# Task Output
# -----------

# commands:
# - username netop password newpassword

# After state:
# ------------

# router-ios#show running-config | section username
# username admin privilege 15 password 0 password
# username netop privilege 15 password 0 newpassword

# Using state: present

# Before state:
# -------------

# router-ios#show running-config | section ^username
# username admin privilege 15 password 0 password
# username netop privilege 15 password 0 password
# username netend privilege 15 password 0 password

# Present state set user view/role for users play:
# --------------------------------------------

- name: Set user view/role for users
  cisco.ios.ios_user:
    aggregate:
      - name: netop
      - name: netend
    view: network-admin
    state: present

# Task Output
# -----------

# commands:
# - username netop view network-admin
# - username netend view network-admin

# After state:
# ------------

# router-ios#show running-config | section username
# username admin privilege 15 password 0 password
# username netop privilege 15 view network-admin password 0 password
# username netend privilege 15 view network-admin password 0 password

# Using state: present

# Before state:
# -------------

# router-ios#show running-config | section ^username
# username admin privilege 15 password 0 password

# Present state create a new user with hashed password play:
# --------------------------------------------------------------

- name: Create a new user with hashed password
  cisco.ios.ios_user:
    name: ansibletest5
    hashed_password:
      type: 9
      value: "thiswillbereplacedwithhashedpassword"
    state: present

# Task Output
# -----------

# commands:
# - username ansibletest5 secret 9 thiswillbereplacedwithhashedpassword

# After state:
# ------------

# router-ios#show running-config | section username
# username admin privilege 15 password 0 password
# username ansibletest5 secret 9 thiswillbereplacedwithhashedpassword

# Using state: absent

# Before state:
# -------------

# router-ios#show running-config | section ^username
# username admin privilege 15 password 0 password
# username ansibletest1 password 0 password
# username ansibletest2 secret 9 thiswillbereplacedwithhashedpassword
# username ansibletest3 password 5 thistoowillbereplacedwithhashedpassword

# Absent state remove multiple users play:
# ----------------------------------------

- name: Delete users with aggregate
  cisco.ios.ios_user:
    aggregate:
      - name: ansibletest1
      - name: ansibletest2
      - name: ansibletest3
    state: absent

# Task Output
# -----------

# commands:
# - no username ansibletest1
# - no username ansibletest2
# - no username ansibletest3

# After state:
# ------------

# router-ios#show running-config | section username
# username admin privilege 15 password 0 password

Возвращаемые значения

Общие возвращаемые значения описаны здесь, следующие поля уникальны для данного модуля:

Ключ

Описание

commands

list / elements=string

Список команд режима конфигурации для отправки на устройство

Возвращается: всегда

Пример: ["username ansible secret password", "username admin secret admin"]

Авторы

  • Trishna Guha (@trishnaguha)

Ссылки на коллекцию

  • Трекер задач
  • Репозиторий (исходные тексты)

© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/cisco/ios/ios_user_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API