netapp.ontap.na_ontap_user 模块 – NetApp ONTAP 用户配置和管理
注意
此模块是 netapp.ontap 集合 (版本 22.13.0) 的一部分。
如果您使用的是 ansible 包,则可能已安装此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list。
要安装它,请使用:ansible-galaxy collection install netapp.ontap。您需要其他要求才能使用此模块,请参阅 要求 获取详细信息。
要在 playbook 中使用它,请指定:netapp.ontap.na_ontap_user。
netapp.ontap 2.6.0 中的新增功能
概要
- 创建或销毁用户。 
要求
执行此模块的主机需要以下要求。
- Ansible 2.9 或更高版本 - 建议使用 2.12 或更高版本。 
- Python3 - 建议使用 3.9 或更高版本。 
- 使用 ZAPI 时,需要 netapp-lib 2018.11.13 或更高版本(使用“pip install netapp-lib”安装),强烈建议使用 netapp-lib 2020.3.12,因为它提供了更好的连接问题错误报告。 
- 物理或虚拟集群式 Data ONTAP 系统,模块支持 Data ONTAP 9.1 及更高版本,REST 支持需要 ONTAP 9.6 或更高版本。 
参数
| 参数 | 注释 | 
|---|---|
| 要授予访问权限的应用程序列表。提供对应用程序和身份验证方法的更好控制。 不支持为数据卷服务器创建具有应用程序控制台、telnet、rsh 和服务处理器的登录名。 模块同时支持 service-processor 和 service_processor 选择。 ZAPI 需要 service-processor,而 REST 需要 service_processor,但 ONTAP 9.6 和 9.7 除外。 REST 不支持 snmp。 需要  | |
| 应用程序的名称。 选项 
 | |
| 应用程序的身份验证方法列表(参见  选项 
 | |
| 使用 ssh 时,可选的 MFA 附加身份验证方法。 选项 
 | |
| 要授予访问权限的应用程序列表。 此选项保持与现有  建议使用新的  不支持为数据卷服务器创建具有应用程序控制台、telnet、rsh 和服务处理器的登录名。 模块同时支持 service-processor 和 service_processor 选择。 ZAPI 需要 service-processor,而 REST 需要 service_processor,但 ONTAP 9.6 和 9.7 除外。 REST 不支持 snmp。 需要  选项 
 | |
| 应用程序的身份验证方法。如果您需要多种方法,请使用  并非所有身份验证方法对应用程序都有效。 每个应用程序的有效身份验证方法如 _authentication_choices_description_ 中所示。 控制台应用程序的密码 http 应用程序的密码、域、nsswitch、cert、saml。 ontapi 应用程序的密码、域、nsswitch、cert、saml。 SAML 仅受 REST 支持,但似乎也适用于 ZAPI。 snmp 应用程序的社区(创建 SNMPv1 和 SNMPv2 用户时)。 snmp 应用程序的 usm 和社区(创建 SNMPv3 用户时)。 sp 应用程序的密码。 rsh 应用程序的密码。 telnet 应用程序的密码。 ssh 应用程序的密码、公钥、域、nsswitch。 当存在  选项 
 | |
| 身份验证协议的密码。这至少应为 8 个字符。 这是“md5”、“sha”和“sha2-256”身份验证协议所必需的,而“none”则不需要。 仅适用于“usm”身份验证方法且不可修改。 | |
| snmp 用户的身份验证协议。 当集群 FIPS 模式开启时,“sha”和“sha2-256”是唯一可能的有效值。 当集群 FIPS 模式关闭时,默认值为“none”。 当集群 FIPS 模式开启时,默认值为“sha”。 仅适用于“usm”身份验证方法且不可修改。 选项 
 | |
| SSL 客户端证书文件(.pem)的路径。 python 2.6 不支持。 | |
| SNMPv3 用户的权威实体的 EngineID。 这应指定为十六进制字符串。 第一个八位字节中第一位设置为 1 的 Engine ID 应至少有 5 个或最多 32 个八位字节。 第一个八位字节中第一位设置为 0 的 Engine Id 应为 12 个八位字节。 Engine Id 的地址中不能全是零。 仅适用于“usm”身份验证方法且不可修改。 | |
| 启用或禁用新功能。 这可用于启用实验性功能或禁用破坏向后兼容性的新功能。 支持的键和值可能会随时更改,恕不另行通知。未知键将被忽略。 | |
| 使用 REST 时覆盖集群 ONTAP 版本。 如果版本与目标集群不匹配,则行为未定义。 当由于权限问题无法读取集群版本时,提供此方法作为变通方案。请参阅 https://github.com/ansible-collections/netapp.ontap/wiki/Known-issues。 格式应为 9.10 或 9.10.1,每个元素均为整数。 当  ZAPI 中忽略。 | |
| ONTAP 实例的主机名或 IP 地址。 | |
| 使用此端口覆盖默认端口 (80 或 443)。 | |
| 启用和禁用 https。 使用 REST 时忽略,因为仅支持 https。 使用 SSL 证书认证时忽略,因为它需要 SSL。 选项 
 | |
| SSL 客户端密钥文件的路径。 | |
| 指定的用户帐户是否被锁定。 选项 
 | |
| 要管理的用户名称。 | |
| 要使用的 ONTAP API 版本。 | |
| 指定用户的密码。 | |
| 隐私协议的密码。此密码至少应为 8 个字符。 对于“des”和“aes128”隐私协议,这是必需的;对于“none”,则不需要。 仅适用于“usm”身份验证方法且不可修改。 | |
| SNMP 用户的隐私协议。 当集群 FIPS 模式开启时,“aes128”是唯一可能的有效值。 当集群 FIPS 模式关闭时,默认值为“none”。当集群 FIPS 模式开启时,默认值为“aes128”。 仅适用于“usm”身份验证方法且不可修改。 选项 
 | |
| 可选地指定远程交换机的 IP 地址。 远程交换机可以是由集群交换机健康监控器 (CSHM) 监控的集群交换机,也可以是由 Metro Cluster 健康监控器 (MCC-HM) 监控的光纤通道 (FC) 交换机。 仅适用于远程 SNMPv3 用户,即仅当用户是远程(非本地)用户、应用程序是 snmp 且身份验证方法是 usm 时适用。 | |
| 如果用户已存在,则当 state=present 时,当前应用程序和身份验证方法将被替换。 如果用户已存在,则当 state=absent 时,当前应用程序和身份验证方法将被删除。 使用 application_dicts 或 REST 时,这是唯一支持的行为。 使用 application_strs 和 ZAPI 时,当此选项设置为 always 时,这是行为。 使用 application_strs 和 ZAPI 时,如果选项设置为 auto,则不会删除未列出的应用程序。 使用 application_strs 和 ZAPI 时,如果选项设置为 auto,则不会删除未列出的身份验证方法。 
 这是建议使用  选项 
 | |
| 角色名称。当  | |
| 用户帐户的密码。 创建 SNMP 用户时忽略此选项,但创建非 SNMP 用户时则需要。 对于现有用户,此值将用作新密码。 | |
| 指定的用户是否应该存在。 选项 
 | |
| 是否使用 REST 或 ZAPI。 always – 如果模块支持 REST,则始终使用 REST API。如果模块不支持 REST,则会发出警告。如果 REST 中不支持模块选项,则会发出错误。 never – 如果模块支持 ZAPI,则始终使用 ZAPI。如果 ZAPI 中不支持 REST 选项,则可能会发出错误。 auto – 如果模块支持 REST 并且支持模块选项,则尝试使用 REST API。否则回退到 ZAPI。 默认:  | |
| 这可以是集群范围或 SVM 范围的帐户,具体取决于是否需要集群级或 SVM 级 API。 更多信息,请阅读文档 https://mysupport.netapp.com/NOW/download/software/nmsdk/9.4/。 支持两种身份验证方法: 
 要使用证书,必须已在 ONTAP 集群中安装证书,并且必须已启用证书身份验证。 | |
| 如果设置为  仅应在使用自签名证书的个人控制站点上将其设置为  选项 
 | |
| 要使用的 vserver 名称。 ZAPI 中必需。 使用 REST 时,忽略此选项以创建集群范围的接口。 | 
注释
注意
- 以 na_ontap 为前缀的模块旨在支持 ONTAP 存储平台。 
- 默认情况下启用 https,并建议使用。要在集群上启用 http,必须运行以下命令“set -privilege advanced;”“system services web modify -http-enabled true;”。 
示例
- name: Create User
  netapp.ontap.na_ontap_user:
    state: present
    name: SampleUser
    applications: ssh,console
    authentication_method: password
    set_password: apn1242183u1298u41
    lock_user: True
    role_name: vsadmin
    vserver: ansibleVServer
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"
- name: Create cluster scoped user in REST.
  netapp.ontap.na_ontap_user:
    state: present
    name: SampleUser
    applications: ssh,console
    authentication_method: password
    set_password: apn1242183u1298u41
    lock_user: True
    role_name: admin
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"
- name: Delete User
  netapp.ontap.na_ontap_user:
    state: absent
    name: SampleUser
    applications: ssh
    authentication_method: password
    vserver: ansibleVServer
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"
- name: Create user with snmp application (ZAPI)
  netapp.ontap.na_ontap_user:
    state: present
    name: test_cert_snmp
    applications: snmp
    authentication_method: usm
    role_name: admin
    authentication_protocol: md5
    authentication_password: '12345678'
    privacy_protocol: 'aes128'
    privacy_password: '12345678'
    engine_id: '7063514941000000000000'
    remote_switch_ipaddress: 10.0.0.0
    vserver: "{{ vserver }}"
    hostname: "{{ hostname }}"
    username: "{{ username }}"
    password: "{{ password }}"
- name: Create user
  netapp.ontap.na_ontap_user:
    state: present
    name: test123
    application_dicts:
      - application: http
        authentication_methods: password
      - application: ssh
        authentication_methods: password,publickey
    role_name: vsadmin
    set_password: bobdole1234566
    vserver: "{{ vserver }}"
    hostname: "{{ hostname }}"
    username: "{{ username }}"
    password: "{{ password }}"
