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 或更高版本。
参数
参数 |
注释 |
---|---|
要授予访问权限的应用程序列表。提供对应用程序和身份验证方法的更好控制。 不支持为数据 Vserver 创建具有应用程序控制台、telnet、rsh 和服务处理器的登录。 该模块支持 service-processor 和 service_processor 选项。 ZAPI 需要 service-processor,而 REST 需要 service_processor,但 ONTAP 9.6 和 9.7 存在问题。 REST 中不支持 snmp。 需要 |
|
应用程序的名称。 选项
|
|
应用程序的身份验证方法列表(请参阅 选项
|
|
当使用 ssh 时,MFA 的可选附加身份验证方法。 选项
|
|
要授予访问权限的应用程序列表。 此选项保持与现有 建议使用新的 不支持为数据 Vserver 创建具有应用程序控制台、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 应用程序的 community(创建 SNMPv1 和 SNMPv2 用户时)。 snmp 应用程序的 usm 和 community(创建 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) 监视),也可以是光纤通道 (FC) 交换机(由 Metro 集群健康监视器 (MCC-HM) 监视)。 此选项仅适用于远程 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 范围的帐户,具体取决于需要集群级 API 还是 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 }}"