netapp.ontap.na_ontap_user_role 模块 – 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_role

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 或更高版本。

参数

参数

注释

access_level

字符串

角色的访问级别。默认为“all”。

对 rest-role 访问选择使用 privileges

选择

  • "none"

  • "readonly"

  • "all"

cert_filepath

字符串

在 netapp.ontap 20.6.0 中添加

SSL 客户端证书文件 (.pem) 的路径。

不支持 Python 2.6。

command_directory_name

字符串

角色具有访问权限的命令或命令目录。

ZAPI 必需。

对 rest-role 路径选择使用 privileges

feature_flags

字典

在 netapp.ontap 20.5.0 中添加

启用或禁用新功能。

这可以用于启用实验性功能或禁用会破坏向后兼容性的新功能。

支持的键和值如有更改,恕不另行通知。未知键将被忽略。

force_ontap_version

字符串

在 netapp.ontap 21.23.0 中添加

使用 REST 时覆盖集群 ONTAP 版本。

如果版本与目标集群不匹配,则行为未定义。

当由于权限问题而无法读取集群版本时,会提供此方法作为一种解决方法。请参阅 https://github.com/ansible-collections/netapp.ontap/wiki/Known-issues

这应该采用 9.10 或 9.10.1 的形式,每个元素都是一个整数。

use_rest 设置为 auto 时,这可能会强制基于版本和平台功能切换到 ZAPI。

使用 ZAPI 时忽略。

hostname

字符串 / 必需

ONTAP 实例的主机名或 IP 地址。

http_port

整数

用此端口覆盖默认端口(80 或 443)

https

布尔值

启用和禁用 https。

使用 REST 时忽略,因为仅支持 https。

使用 SSL 证书身份验证时忽略,因为它需要 SSL。

选择

  • false ← (默认)

  • true

key_filepath

字符串

在 netapp.ontap 20.6.0 中添加

SSL 客户端密钥文件的路径。

name

字符串 / 必需

要管理的角色的名称。

ontapi

整数

要使用的 ontap api 版本

password

别名:pass

字符串

指定用户的密码。

privileges

列表 / 元素=字典

在 netapp.ontap 21.23.0 中添加

要授予用户角色的特权

仅限 REST

access

字符串

角色的访问级别。

对于命令/命令目录路径,唯一支持的枚举值是“none”、“readonly”和“all”。

选项“read_create”、“read_modify”和“read_create_modify”仅在 REST 中支持,并且需要 ONTAP 9.11.1 或更高版本。

选择

  • "none"

  • "readonly"

  • "all" ← (默认)

  • "read_create"

  • "read_modify"

  • "read_create_modify"

path

字符串 / 必需

角色具有访问权限的 api 或命令。

从 ONTAP 9.11.1 或更高版本开始支持命令或命令目录路径。

早期版本仅支持 rest 角色。

query

字符串

角色的查询。查询必须适用于指定的命令或目录名称。

仅在 9.11.1+ 上支持查询

query

字符串

在 netapp.ontap 2.8.0 中添加

角色的查询。查询必须适用于指定的命令或目录名称。

使用双引号 "" 将现有查询修改为 none。

对 rest-role 查询选择使用 privileges

state

字符串

指定的用户角色是否应存在。

选择

  • "present" ← (默认)

  • "absent"

use_rest

字符串

是否使用 REST 或 ZAPI。

always – 如果模块支持 REST,则始终使用 REST API。如果模块不支持 REST,则会发出警告。如果 REST 中不支持模块选项,则会发出错误。

never – 如果模块支持 ZAPI,则始终使用 ZAPI。如果 ZAPI 中不支持 REST 选项,则可能会发出错误。

auto – 如果模块支持 REST 并且支持模块选项,则会尝试使用 REST API。否则将恢复为 ZAPI。

默认值: "auto"

username

别名:user

字符串

这可以是集群范围或 SVM 范围的帐户,具体取决于是否需要集群级别或 SVM 级别的 API。

有关更多信息,请阅读文档 https://mysupport.netapp.com/NOW/download/software/nmsdk/9.4/

支持两种身份验证方法

  1. 基本身份验证,使用用户名和密码,

  2. SSL 证书身份验证,使用 ssl 客户端证书文件,以及可选的私钥文件。

要使用证书,必须先在 ONTAP 集群中安装该证书,并启用证书身份验证。

validate_certs

布尔值

如果设置为 no,则不会验证 SSL 证书。

只有在个人控制的站点上使用自签名证书时,才应将其设置为 False

选择

  • false

  • true ← (默认)

vserver

字符串

要使用的 vserver 的名称。

ZAPI 必需。

注释

注意

  • 支持 ZAPI 和 REST。REST 需要 ONTAP 9.7 或更高版本。

  • 支持检查模式。

  • 当尝试将命令添加到角色时,ONTAP 也会影响其他相关命令。

  • 例如,“volume modify” 将会影响 “volume create” 和 “volume show”,请始终提供所有相关命令。

  • 从 ONTAP 9.11.1 或更高版本开始,REST 同时支持 role 和 rest-role,而早期版本仅支持 rest-role。

  • 前缀为 na_ontap 的模块旨在支持 ONTAP 存储平台。

  • 默认启用 https,建议使用。要在集群上启用 http,必须运行以下命令:“set -privilege advanced;” “system services web modify -http-enabled true;”

示例

- name: Create User Role Zapi
  netapp.ontap.na_ontap_user_role:
    state: present
    name: ansibleRole
    command_directory_name: volume
    access_level: none
    query: show
    vserver: ansibleVServer
    use_rest: never
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"

- name: Modify User Role Zapi
  netapp.ontap.na_ontap_user_role:
    state: present
    name: ansibleRole
    command_directory_name: volume
    access_level: none
    query: ""
    vserver: ansibleVServer
    use_rest: never
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"

- name: Create user role REST in ONTAP 9.11.1
  netapp.ontap.na_ontap_user_role:
    state: present
    privileges:
      - path: /api/cluster/jobs
    vserver: ansibleSVM
    name: carchi-test-role
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"

- name: Modify user role REST in ONTAP 9.11.1
  netapp.ontap.na_ontap_user_role:
    state: present
    privileges:
      - path: /api/cluster/jobs
        access: readonly
      - path: /api/storage/volumes
        access: readonly
    vserver: ansibleSVM
    name: carchi-test-role
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"

作者

  • NetApp Ansible 团队 (@carchi8py)