junos_user – Управление локальными учетными записями пользователей на устройствах Juniper JUNOS
Описание
- Этот модуль управляет локально настроенными учетными записями пользователей на удаленных сетевых устройствах, работающих под управлением операционной системы JUNOS. Он предоставляет набор аргументов для создания, удаления и обновления локально определенных учетных записей
Требования
Ниже приведены требования к хосту, на котором выполняется этот модуль.
- ncclient (>=v0.5.2)
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| active boolean добавлен в 2.4 |
| Указывает, активна или деактивирована конфигурация. | |
| aggregate - добавлен в 2.4 | Аргумент aggregate определяет список пользователей, которые должны быть настроены на удаленном устройстве. Список пользователей будет сравниваться с текущими пользователями, и только изменения будут добавлены или удалены из конфигурации устройства. Этот аргумент несовместим с аргументом name.псевдонимы: users, collection | ||
| encrypted_password - добавлен в 2.8 | Аргумент encrypted_password задает уже хэшированный пароль для учетной записи пользователя на удаленной системе. | ||
| full_name - | Аргумент full_name предоставляет полное имя учетной записи пользователя, которое должно быть создано на удаленном устройстве. Этот аргумент принимает любое текстовое значение. | ||
| name - | Аргумент name определяет имя пользователя, который должен быть создан в системе. Этот аргумент должен соответствовать правилам именования пользователей для целевого устройства, работающего под управлением JUNOS. Этот аргумент несовместим с аргументом aggregate. | ||
| provider dictionary | Устарело Начиная с Ansible 2.5, рекомендуется использовать connection: network_cli или connection: netconf. Для получения дополнительной информации обратитесь к руководству Junos OS Platform Options. Объект словаря, содержащий данные подключения. | ||
| host string / обязательно | Указывает имя хоста DNS или адрес для подключения к удаленному устройству через указанный транспорт. Значение host используется в качестве адреса назначения для транспорта. | ||
| password string | Указывает пароль для аутентификации подключения к удаленному устройству. Это значение используется для аутентификации сеанса SSH. Если значение не указано в задаче, будет использовано значение переменной окружения ANSIBLE_NET_PASSWORD. | ||
| port integer | По умолчанию: 22 | Указывает порт для подключения к удаленному устройству. Значение порта по умолчанию — хорошо известный порт SSH 22 (для transport=cli) или порт 830 (для transport=netconf) устройства. | |
| ssh_keyfile путь | Указывает SSH-ключ для аутентификации подключения к удаленному устройству. Это значение — путь к ключу, используемому для аутентификации сеанса SSH. Если значение не указано в задаче, будет использовано значение переменной окружения ANSIBLE_NET_SSH_KEYFILE. | ||
| timeout целое число | По умолчанию: 10 | Указывает тайм-аут в секундах для связи с сетевым устройством при подключении или отправке команд. Если тайм-аут истекает до завершения операции, модуль вернет ошибку. | |
| username строка | Настраивает имя пользователя для аутентификации подключения к удаленному устройству. Это значение используется для аутентификации сеанса SSH. Если значение не указано в задаче, будет использовано значение переменной окружения ANSIBLE_NET_USERNAME. | ||
| purge boolean |
| Аргумент purge указывает модулю рассматривать определение пользователей как абсолютное. Он удалит все ранее настроенные пользователи на устройстве, за исключением текущего набора aggregate. | |
| 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 Platform Options. - Этот модуль также работает с подключениями
localдля устаревших playbooks. - Для получения информации об использовании CLI и netconf см. руководство Junos OS Platform Options
- Для получения дополнительной информации об использовании Ansible для управления сетевыми устройствами см. руководство Ansible по сетям
- Для получения дополнительной информации об использовании Ansible для управления устройствами Juniper см. https://www.ansible.com/ansible-juniper.
Примеры
- name: create new user account
junos_user:
name: ansible
role: super-user
sshkey: "{{ lookup('file', '~/.ssh/ansible.pub') }}"
state: present
- name: remove a user account
junos_user:
name: ansible
state: absent
- name: remove all user accounts except ansible
junos_user:
aggregate:
- name: ansible
purge: yes
- name: set user password
junos_user:
name: ansible
role: super-user
encrypted_password: "{{ 'my-password' | password_hash('sha512') }}"
state: present
- name: Create list of users
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
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; + } |
Статус
- Этот модуль не гарантирует обратной совместимости интерфейса. [preview]
- Этот модуль поддерживается командой Ansible Network Team. [network]
Поддержка Red Hat
Дополнительную информацию о поддержке этого модуля Red Hat можно найти в этой статье базы знаний Red Hat.
Авторы
- Peter Sprygada (@privateip)
Подсказка
Если вы заметите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/junos_user_module.html