junipernetworks.junos.junos_user – Управление локальными учётными записями пользователей на устройствах Juniper JUNOS
Примечание
Этот плагин является частью коллекции junipernetworks.junos (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install junipernetworks.junos.
Чтобы использовать его в плейбуке, укажите: junipernetworks.junos.junos_user.
Новое в версии 1.0.0: of junipernetworks.junos
Обзор
- Этот модуль управляет локально настроенными учётными записями пользователей на удалённых сетевых устройствах, работающих под управлением операционной системы JUNOS. Он предоставляет набор аргументов для создания, удаления и обновления локально определённых учётных записей.
Примечание
Этот модуль имеет соответствующий плагин действий.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- ncclient (>=v0.5.2)
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| active boolean |
| Указывает, активна или деактивирована конфигурация. | |
| aggregate список / элементы=словарь | Аргумент aggregate определяет список пользователей, которые должны быть настроены на удалённом устройстве. Список пользователей будет сравниваться с текущими пользователями, и только изменения будут добавлены или удалены из конфигурации устройства. Этот аргумент взаимоисключающий с аргументом name.псевдонимы: users, collection | ||
| active boolean |
| Указывает, активна или деактивирована конфигурация. | |
| encrypted_password строка | Аргумент encrypted_password задаёт уже хэшированный пароль для учётной записи пользователя на удалённой системе. | ||
| full_name строка | Аргумент full_name предоставляет полное имя учётной записи пользователя, которая должна быть создана на удалённом устройстве. Этот аргумент принимает любое текстовое значение. | ||
| name строка / обязательно | Аргумент name определяет имя пользователя, который должен быть создан в системе. Этот аргумент должен соответствовать соответствующим соглашениям об именовании пользователей для целевого устройства с операционной системой JUNOS. Этот аргумент взаимоисключающий с аргументом aggregate. | ||
| purge boolean |
| Аргумент purge указывает модулю рассматривать определение пользователей как абсолютное. Он удалит любые ранее настроенные пользователи на устройстве, за исключением текущего набора агрегатов. | |
| role строка |
| Аргумент role определяет роль учётной записи пользователя на удалённой системе. Учётные записи пользователей могут иметь более одной роли. | |
| sshkey строка | Аргумент sshkey определяет открытый SSH-ключ, который должен быть настроен для учётной записи пользователя на удалённой системе. Этот аргумент должен быть допустимым SSH-ключом. | ||
| state строка |
| Аргумент state настраивает состояние определений пользователей, в отношении конфигурации работы устройства. При значении present, пользователь должен быть настроен в активной конфигурации устройства, а при значении absent, пользователь не должен быть в активной конфигурации устройства. | |
| encrypted_password строка | Аргумент encrypted_password задаёт уже хэшированный пароль для учётной записи пользователя на удалённой системе. | ||
| full_name строка | Аргумент full_name предоставляет полное имя учётной записи пользователя, которая должна быть создана на удалённом устройстве. Этот аргумент принимает любое текстовое значение. | ||
| name строка | Аргумент name определяет имя пользователя, который должен быть создан в системе. Этот аргумент должен соответствовать соответствующим соглашениям об именовании пользователей для целевого устройства с операционной системой JUNOS. Этот аргумент взаимоисключающий с аргументом aggregate. | ||
| provider словарь | Устарело Начиная с Ansible 2.5, рекомендуется использовать connection: network_cli или connection: netconf. Для получения дополнительной информации, пожалуйста, обратитесь к руководству Junos OS Platform Options. Объект dict, содержащий данные подключения. | ||
| host строка | Указывает имя хоста DNS или адрес для подключения к удалённому устройству через указанный транспорт. Значение host используется в качестве адреса назначения для транспорта. | ||
| password строка | Указывает пароль для аутентификации подключения к удалённому устройству. Это значение используется для аутентификации SSH-сессии. Если значение не указано в задаче, будет использоваться значение переменной окружения ANSIBLE_NET_PASSWORD. | ||
| port целое число | Указывает порт для использования при построении соединения с удалённым устройством. Значение порта по умолчанию составляет 22 (для transport=cli) или 830 (для transport=netconf) устройства. | ||
| ssh_keyfile путь | Указывает SSH-ключ для аутентификации подключения к удалённому устройству. Это путь к ключу, используемому для аутентификации SSH-сессии. Если значение не указано в задаче, будет использоваться значение переменной окружения ANSIBLE_NET_SSH_KEYFILE. | ||
| timeout целое число | Указывает таймаут в секундах для связи с сетевым устройством для подключения или отправки команд. Если таймаут превышен до завершения операции, модуль вернёт ошибку. | ||
| transport строка |
| Настраивает транспортное соединение для подключения к удалённому устройству. | |
| username строка | Настраивает имя пользователя для аутентификации подключения к удалённому устройству. Это значение используется для аутентификации SSH-сессии. Если значение не указано в задаче, будет использоваться значение переменной окружения ANSIBLE_NET_USERNAME. | ||
| purge boolean |
| Аргумент purge указывает модулю рассматривать определение пользователей как абсолютное. Он удалит любые ранее настроенные пользователи на устройстве, за исключением текущего набора агрегатов. | |
| role строка |
| Аргумент role определяет роль учётной записи пользователя на удалённой системе. Учётные записи пользователей могут иметь более одной роли. | |
| sshkey строка | Аргумент sshkey определяет открытый SSH-ключ, который должен быть настроен для учётной записи пользователя на удалённой системе. Этот аргумент должен быть допустимым SSH-ключом. | ||
| state строка |
| Аргумент state настраивает состояние определений пользователей, в отношении конфигурации работы устройства. При значении present, пользователь должен быть настроен в активной конфигурации устройства, а при значении absent, пользователь не должен быть в активной конфигурации устройства. | |
Примечания
Примечание
- Для работы данного модуля требуется включенная на управляемом удалённом устройстве служба netconf.
- Проверено на vSRX JUNOS версии 15.1X49-D15.4, vqfx-10000 JUNOS версии 15.1X53-D60.4.
- Рекомендуемое подключение
netconf. См. настройки платформы Junos OS. - Этот модуль также работает с
localподключениями для устаревших playbooks. - Дополнительная информация о работе с CLI и netconf находится в руководстве по настройкам платформы Junos OS
- Дополнительная информация о применении Ansible для управления сетевыми устройствами находится в Руководстве по Ansible для сетей
- Для получения дополнительной информации о применении Ansible для управления устройствами Juniper см. https://www.ansible.com/ansible-juniper.
Примеры
- name: create new user account
junipernetworks.junos.junos_user:
name: ansible
role: super-user
sshkey: "{{ lookup('file', '~/.ssh/ansible.pub') }}"
state: present
- name: remove a user account
junipernetworks.junos.junos_user:
name: ansible
state: absent
- name: remove all user accounts except ansible
junipernetworks.junos.junos_user:
aggregate:
- name: ansible
purge: yes
- name: set user password
junipernetworks.junos.junos_user:
name: ansible
role: super-user
encrypted_password: "{{ 'my-password' | password_hash('sha512') }}"
state: present
- name: Create list of users
junipernetworks.junos.junos_user:
aggregate:
- {name: test_user1, full_name: test_user2, role: operator, state: present}
- {name: test_user2, full_name: test_user2, role: read-only, state: present}
- name: Delete list of users
junipernetworks.junos.junos_user:
aggregate:
- {name: test_user1, full_name: test_user2, role: operator, state: absent}
- {name: test_user2, full_name: test_user2, role: read-only, state: absent}
Значения возврата
Общие значения возврата описаны в этом разделе, ниже приведены уникальные для данного модуля поля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| diff.prepared строка | при изменении конфигурации и включённом параметре diff. | Разница в конфигурации до и после применения изменений. Пример: [edit system login] + user test-user { + uid 2005; + class read-only; + } |
Авторы
- Peter Sprygada (@privateip)
© 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/junipernetworks/junos/junos_user_module.html