cisco.iosxr.iosxr_user 模块 – 用于管理本地用户聚合的模块。

注意

此模块是 cisco.iosxr 集合(版本 10.2.2)的一部分。

如果您使用的是 ansible 包,则可能已安装此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用: ansible-galaxy collection install cisco.iosxr。您需要其他要求才能使用此模块,有关详细信息,请参阅 要求

要在 playbook 中使用它,请指定: cisco.iosxr.iosxr_user

cisco.iosxr 1.0.0 中的新增功能

概要

  • 此模块提供对网络设备上配置的本地用户名进行声明式管理。它允许 playbook 管理单个用户名或当前运行配置中用户名的聚合。它还支持从配置中清除未明确定义的用户名。

要求

执行此模块的主机需要以下要求。

  • 使用 netconf 时,ncclient >= 0.5.3

  • 使用 netconf 时,lxml >= 4.1.1

  • 使用 *public_key_contents* 或 *public_key* 时,base64

参数

参数

注释

admin

布尔值

进入管理配置模式以对设备进行配置更改。

仅在使用 network_cli 传输时适用

选项

  • false ← (默认)

  • true

aggregate

别名:users, collection

列表 / 元素=字典

要在远程 Cisco IOS XR 设备上配置的用户名对象集。列表项可以是用户名或用户名和属性的哈希值。此参数与 name 参数互斥。

admin

布尔值

进入管理配置模式以对设备进行配置更改。

仅在使用 network_cli 传输时适用

选项

  • false

  • true

configured_password

字符串

要在 Cisco IOS XR 设备上配置的密码。需要以明文形式提供密码。与 *cli* 一起使用时,密码在设备上加密;与 *netconf* 一起使用时,Ansible 使用相同的 MD5 哈希技术和 3 的盐大小进行加密。请注意,此选项与 provider password 不同。

group

别名:role

字符串

在设备运行配置中为用户名配置组。此参数接受定义组名的字符串值。此参数不检查组是否已在设备上配置。

groups

列表 / 元素=字符串

在设备运行配置中为用户名配置组。此参数接受组名称列表。此参数不检查组是否已在设备上配置。它类似于用户名的聚合命令,但允许您为用户配置多个组。

name

字符串 / 必需

要在 Cisco IOS XR 设备上配置的用户名。此参数接受字符串值,并与 aggregate 参数互斥。请注意,此选项与 provider username 不同。

public_key

字符串

配置要上传到 IOS-XR 节点的公钥文件的内容。这允许用户使用相应的私钥登录。IOS-XR 仅接受 base64 解码的文件,因此它将被解码并上传到节点。请注意,这需要 OpenSSL 公钥文件,PuTTY 生成的文件将不起作用!与 public_key_contents 互斥。如果与聚合中的多个用户一起使用,则所有用户都使用相同的密钥文件。

public_key_contents

字符串

配置要上传到 IOS-XR 节点的公钥文件的內容。这允许用户使用相应的私钥登录。IOS-XR 仅接受 base64 解码的文件,因此该文件将被解码并上传到节点。请注意,这需要 OpenSSL 公钥文件,PuTTY 生成的文件将无法使用!与 public_key 互斥。如果与聚合中的多个用户一起使用,则所有用户都使用相同的密钥文件。

state

字符串

配置用户名定义与其相关的设备操作配置的状态。当设置为 present 时,用户名应配置在设备活动配置中;当设置为 absent 时,用户名不应在设备活动配置中。

选项

  • "present"

  • "absent"

update_password

字符串

由于密码在设备运行配置中已加密,因此此参数将指示模块何时更改密码。当设置为 always 时,密码将始终在设备中更新;当设置为 on_create 时,只有在创建用户名时才会更新密码。

选项

  • "on_create"

  • "always"

configured_password

字符串

要在 Cisco IOS XR 设备上配置的密码。需要以明文形式提供密码。与 *cli* 一起使用时,密码在设备上加密;与 *netconf* 一起使用时,Ansible 使用相同的 MD5 哈希技术和 3 的盐大小进行加密。请注意,此选项与 provider password 不同。

group

别名:role

字符串

在设备运行配置中为用户名配置组。此参数接受定义组名的字符串值。此参数不检查组是否已在设备上配置。

groups

列表 / 元素=字符串

在设备运行配置中为用户名配置组。此参数接受组名称列表。此参数不检查组是否已在设备上配置。它类似于用户名的聚合命令,但允许您为用户配置多个组。

name

字符串

要在 Cisco IOS XR 设备上配置的用户名。此参数接受字符串值,并与 aggregate 参数互斥。请注意,此选项与 provider username 不同。

public_key

字符串

配置要上传到 IOS-XR 节点的公钥文件的内容。这允许用户使用相应的私钥登录。IOS-XR 仅接受 base64 解码的文件,因此它将被解码并上传到节点。请注意,这需要 OpenSSL 公钥文件,PuTTY 生成的文件将不起作用!与 public_key_contents 互斥。如果与聚合中的多个用户一起使用,则所有用户都使用相同的密钥文件。

public_key_contents

字符串

配置要上传到 IOS-XR 节点的公钥文件的內容。这允许用户使用相应的私钥登录。IOS-XR 仅接受 base64 解码的文件,因此该文件将被解码并上传到节点。请注意,这需要 OpenSSL 公钥文件,PuTTY 生成的文件将无法使用!与 public_key 互斥。如果与聚合中的多个用户一起使用,则所有用户都使用相同的密钥文件。

purge

布尔值

指示模块将资源定义视为绝对的。它将删除设备上先前配置的任何用户名,但 `admin` 用户和当前定义的用户集除外。

选项

  • false ← (默认)

  • true

state

字符串

配置用户名定义与其相关的设备操作配置的状态。当设置为 present 时,用户名应配置在设备活动配置中;当设置为 absent 时,用户名不应在设备活动配置中。

选项

  • "present" ← (默认)

  • "absent"

update_password

字符串

由于密码在设备运行配置中已加密,因此此参数将指示模块何时更改密码。当设置为 always 时,密码将始终在设备中更新;当设置为 on_create 时,只有在创建用户名时才会更新密码。

选项

  • "on_create"

  • "always" ← (默认)

注释

注意

  • 此模块与连接 network_clinetconf 配合使用。请参阅 IOS-XR 平台选项

  • 有关使用 Ansible 管理网络设备的更多信息,请参阅:ref:`Ansible 网络指南 <network_guide>`

  • 有关使用 Ansible 管理 Cisco 设备的更多信息,请参阅 `Cisco 集成页面 <https://ansible.org.cn/integrations/networks/cisco>`_。

示例

- name: create a new user
  cisco.iosxr.iosxr_user:
    name: ansible
    configured_password: mypassword
    state: present
- name: create a new user in admin configuration mode
  cisco.iosxr.iosxr_user:
    name: ansible
    configured_password: mypassword
    admin: true
    state: present
- name: remove all users except admin
  cisco.iosxr.iosxr_user:
    purge: true
- name: set multiple users to group sys-admin
  cisco.iosxr.iosxr_user:
    aggregate:
      - name: netop
      - name: netend
    group: sysadmin
    state: present
- name: set multiple users to multiple groups
  cisco.iosxr.iosxr_user:
    aggregate:
      - name: netop
      - name: netend
    groups:
      - sysadmin
      - root-system
    state: present
- name: Change Password for User netop
  cisco.iosxr.iosxr_user:
    name: netop
    configured_password: '{{ new_password }}'
    update_password: always
    state: present
- name: Add private key authentication for user netop
  cisco.iosxr.iosxr_user:
    name: netop
    state: present
    public_key_contents: "{{ lookup('file', '/home/netop/.ssh/id_rsa.pub' }}"

返回值

常用返回值已在 此处 记录,以下是此模块特有的字段。

描述

commands

列表 / 元素=字符串

要发送到设备的配置模式命令列表。

返回值:始终

示例: ["username ansible secret password group sysadmin", "username admin secret admin"]

xml

列表 / 元素=字符串

使用传输 netconf 发送到设备的 NetConf rpc xml。

返回值:始终(当没有要发送的 xml rpc 时为空列表)

示例: ["<config xmlns:xc=\"urn:ietf:params:xml:ns:netconf:base:1.0\"> <aaa xmlns=\"http://cisco.com/ns/yang/Cisco-IOS-XR-aaa-lib-cfg\"> <usernames xmlns=\"http://cisco.com/ns/yang/Cisco-IOS-XR-aaa-locald-cfg\"> <username xc:operation=\"merge\"> <name>test7</name> <usergroup-under-usernames> <usergroup-under-username> <name>sysadmin</name> </usergroup-under-username> </usergroup-under-usernames> <secret>$1$ZsXC$zZ50wqhDC543ZWQkkAHLW0</secret> </username> </usernames> </aaa> </config>"]

作者

  • Trishna Guha (@trishnaguha)

  • Sebastiaan van Doesselaar (@sebasdoes)

  • Kedar Kekan (@kedarX)