为 ONTAP tools 配置 ONTAP 用户角色和权限
使用此部分可使用适用于 VMware vSphere 的 ONTAP tools 和 ONTAP System Manager 为存储后端配置 ONTAP 用户角色和权限。您可以使用提供的 JSON 文件分配角色,手动创建用户和角色,并为非管理员帐户应用所需的最低权限。
-
使用 https://<ONTAPtoolsIP>:8443/virtualization/user-privileges/users_roles.zip 从 ONTAP tools for VMware vSphere 下载 ONTAP Privileges 文件。下载 zip 文件后,您会找到两个 JSON 文件。配置 ASA r2 系统时,请使用特定于 ASA r2 的 JSON 文件。
可以在集群级别或直接在存储虚拟机 (SVM) 级别创建用户。如果不使用 user_roles.json 文件,请确保用户具有所需的最低 SVM 权限。 -
使用存储后端的管理员权限登录。
-
提取您下载的 https://<ONTAPtoolsIP>:8443/virtualization/user-privileges/users_roles.zip 文件。
-
使用集群的集群管理 IP 地址访问 ONTAP System Manager。
-
使用管理员权限登录到集群。要配置用户:
-
要配置集群 ONTAP tools 用户,请选择 集群 > 设置 > 用户和角色 窗格。
-
要配置 SVM ONTAP tools 用户,请选择 Storage SVM > Settings > Users and Roles 窗格。
-
在"用户"下选择*添加*。
-
在*添加用户*对话框中,选择*虚拟化产品*。
-
*浏览*以选择并上传 ONTAP Privileges JSON 文件。对于非 ASA r2 系统,选择 users_roles.json 文件;对于 ASA r2 系统,选择 users_roles_ASAr2.json 文件。
ONTAP tools 会自动填充 Product 字段。
-
从下拉列表中选择产品功能为 VSC, VASA Provider and SRA。
ONTAP tools 将根据您选择的产品功能自动填充*角色*字段。
-
请输入所需用户名和密码。
-
选择用户需要的 Privileges(Discovery、Create Storage、Modify Storage、Destroy Storage、NAS/SAN Role),然后选择*Add*。
-
ONTAP tools 添加新的角色和用户。您可以在配置的角色下查看 Privileges。
SVM聚合映射要求
使用 SVM 用户凭据配置数据存储时,ONTAP tools for VMware vSphere 会在数据存储 POST API 中指定的聚合上创建卷。ONTAP 会阻止 SVM 用户在未映射到 SVM 的聚合上创建卷。在创建卷之前,请使用 ONTAP REST API 或 CLI 将 SVM 映射到所需的聚合。
REST API:
PATCH "/api/svm/svms/f16f0935-5281-11e8-b94d-005056b46485" '{"aggregates":{"name":["aggr1","aggr2","aggr3"]}}'
ONTAP CLI:
sti115_vsim_ucs630f_aggr1 vserver show-aggregates AvailableVserver Aggregate State Size Type SnapLock Type-------------- -------------- ------- ---------- ------- --------------svm_test sti115_vsim_ucs630f_aggr1 online 10.11GB vmdisk non-snaplock
手动创建 ONTAP 用户和角色
在没有 JSON 文件的情况下手动创建用户和角色。
-
使用集群的集群管理 IP 地址访问 ONTAP System Manager。
-
使用管理员权限登录到集群。
-
要配置集群 ONTAP tools 角色,请选择*集群* > 设置 > 用户和角色。
-
要配置集群 SVM ONTAP tools 角色,请选择 存储 SVM > 设置 > 用户和角色。
-
-
创建角色:
-
选择*角色*表下的*添加*。
-
输入*角色名称*和*角色属性*详细信息。
添加 REST API Path 并从下拉列表中选择访问权限。
-
添加所有必要的 API 并保存更改。
-
-
创建用户:
-
在 用户 表下选择 添加。
-
在*添加用户*对话框中,选择*System Manager*。
-
输入*用户名*。
-
从上述*创建角色*步骤中创建的选项中选择*角色*。
-
输入要授予访问权限的应用程序和身份验证方法。ONTAPI 和 HTTP 是必需的应用程序,身份验证类型为 Password。
-
设置*此用户的密码*并*保存*此用户。
-
非管理员全局作用域集群用户所需的最低权限列表
此页面列出了没有 JSON 文件的非管理员全局范围集群用户所需的最低权限。如果集群在本地范围内,请使用 JSON 文件创建用户,因为 ONTAP tools for VMware vSphere 在 ONTAP 上进行配置时需要的不仅仅是读取权限。
您可以使用 API 访问功能:
API |
访问级别 |
用于 |
/api/cluster |
只读 |
集群配置发现 |
/api/cluster/licensing/licenses |
只读 |
协议特定许可证的许可证检查 |
/api/cluster/nodes |
只读 |
平台类型发现 |
/api/security/accounts |
只读 |
权限发现 |
/api/security/roles |
只读 |
权限发现 |
/api/storage/aggregates |
只读 |
数据存储/卷配置期间的聚合空间检查 |
/api/storage/cluster |
只读 |
获取集群级空间和效率数据 |
/api/storage/disks |
只读 |
获取聚合中关联的磁盘 |
/api/storage/qos/policies |
读取/创建/修改 |
QoS 和 VM 策略管理 |
/api/svm/svms |
只读 |
在本地添加集群时获取 SVM 配置。 |
/api/network/ip/interfaces |
只读 |
添加存储后端 - 识别管理 LIF 范围是集群/SVM |
/api/storage/availability-zones |
只读 |
SAZ 发现。适用于 ONTAP 9.16.1 及更高版本和 ASA r2 系统。 |
/api/cluster/metrocluster |
只读 |
获取 MetroCluster 状态和配置详细信息。 |
为 VMware vSphere 创建基于 ONTAP API 的集群范围用户的 ONTAP tools
|
|
PATCH 操作和数据存储的自动回滚需要发现、创建、修改和销毁权限。缺少权限可能会导致工作流和清理问题。 |
具有发现、创建、修改和销毁权限的基于 ONTAP API 的用户可以管理 ONTAP tools 工作流。
要创建具有上述所有权限的集群范围的用户,请运行以下命令:
security login rest-role create -role <role-name> -api /api/application/consistency-groups -access all security login rest-role create -role <role-name> -api /api/private/cli/snapmirror -access all security login rest-role create -role <role-name> -api /api/protocols/nfs/export-policies -access all security login rest-role create -role <role-name> -api /api/protocols/nvme/subsystem-maps -access all security login rest-role create -role <role-name> -api /api/protocols/nvme/subsystems -access all security login rest-role create -role <role-name> -api /api/protocols/san/igroups -access all security login rest-role create -role <role-name> -api /api/protocols/san/lun-maps -access all security login rest-role create -role <role-name> -api /api/protocols/san/vvol-bindings -access all security login rest-role create -role <role-name> -api /api/snapmirror/relationships -access all security login rest-role create -role <role-name> -api /api/storage/volumes -access all security login rest-role create -role <role-name> -api "/api/storage/volumes/*/snapshots" -access all security login rest-role create -role <role-name> -api /api/storage/luns -access all security login rest-role create -role <role-name> -api /api/storage/namespaces -access all security login rest-role create -role <role-name> -api /api/storage/qos/policies -access all security login rest-role create -role <role-name> -api /api/cluster/schedules -access read_create security login rest-role create -role <role-name> -api /api/snapmirror/policies -access read_create security login rest-role create -role <role-name> -api /api/storage/file/clone -access read_create security login rest-role create -role <role-name> -api /api/storage/file/copy -access read_create security login rest-role create -role <role-name> -api /api/support/ems/application-logs -access read_create security login rest-role create -role <role-name> -api /api/protocols/nfs/services -access read_modify security login rest-role create -role <role-name> -api /api/cluster -access readonly security login rest-role create -role <role-name> -api /api/cluster/jobs -access readonly security login rest-role create -role <role-name> -api /api/cluster/licensing/licenses -access readonly security login rest-role create -role <role-name> -api /api/cluster/nodes -access readonly security login rest-role create -role <role-name> -api /api/cluster/peers -access readonly security login rest-role create -role <role-name> -api /api/name-services/name-mappings -access readonly security login rest-role create -role <role-name> -api /api/network/ethernet/ports -access readonly security login rest-role create -role <role-name> -api /api/network/fc/interfaces -access readonly security login rest-role create -role <role-name> -api /api/network/fc/logins -access readonly security login rest-role create -role <role-name> -api /api/network/fc/ports -access readonly security login rest-role create -role <role-name> -api /api/network/ip/interfaces -access readonly security login rest-role create -role <role-name> -api /api/protocols/nfs/kerberos/interfaces -access readonly security login rest-role create -role <role-name> -api /api/protocols/nvme/interfaces -access readonly security login rest-role create -role <role-name> -api /api/protocols/san/fcp/services -access readonly security login rest-role create -role <role-name> -api /api/protocols/san/iscsi/services -access readonly security login rest-role create -role <role-name> -api /api/security/accounts -access readonly security login rest-role create -role <role-name> -api /api/security/roles -access readonly security login rest-role create -role <role-name> -api /api/storage/aggregates -access readonly security login rest-role create -role <role-name> -api /api/storage/cluster -access readonly security login rest-role create -role <role-name> -api /api/storage/disks -access readonly security login rest-role create -role <role-name> -api /api/storage/qtrees -access readonly security login rest-role create -role <role-name> -api /api/storage/quota/reports -access readonly security login rest-role create -role <role-name> -api /api/storage/snapshot-policies -access readonly security login rest-role create -role <role-name> -api /api/svm/peers -access readonly security login rest-role create -role <role-name> -api /api/svm/svms -access readonly security login rest-role create -role <role-name> -api /api/cluster/metrocluster -access readonly
此外,对于 ONTAP 版本 9.16.0 及更高版本,请运行以下命令:
security login rest-role create -role <role-name> -api /api/storage/storage-units -access all
对于 ONTAP 版本 9.16.1 及更高版本上的 ASA r2 系统,运行以下命令:
security login rest-role create -role <role-name> -api /api/storage/availability-zones -access readonly
为 VMware vSphere 创建基于 ONTAP API 的 SVM 范围用户的 ONTAP tools
运行以下命令以创建具有所有权限的 SVM 范围的用户:
security login rest-role create -role <role-name> -api /api/application/consistency-groups -access all -vserver <vserver-name> security login rest-role create -role <role-name> -api /api/private/cli/snapmirror -access all -vserver <vserver-name> security login rest-role create -role <role-name> -api /api/protocols/nfs/export-policies -access all -vserver <vserver-name> security login rest-role create -role <role-name> -api /api/protocols/nvme/subsystem-maps -access all -vserver <vserver-name> security login rest-role create -role <role-name> -api /api/protocols/nvme/subsystems -access all -vserver <vserver-name> security login rest-role create -role <role-name> -api /api/protocols/san/igroups -access all -vserver <vserver-name> security login rest-role create -role <role-name> -api /api/protocols/san/lun-maps -access all -vserver <vserver-name> security login rest-role create -role <role-name> -api /api/protocols/san/vvol-bindings -access all -vserver <vserver-name> security login rest-role create -role <role-name> -api /api/snapmirror/relationships -access all -vserver <vserver-name> security login rest-role create -role <role-name> -api /api/storage/volumes -access all -vserver <vserver-name> security login rest-role create -role <role-name> -api "/api/storage/volumes/*/snapshots" -access all -vserver <vserver-name> security login rest-role create -role <role-name> -api /api/storage/luns -access all -vserver <vserver-name> security login rest-role create -role <role-name> -api /api/storage/namespaces -access all -vserver <vserver-name> security login rest-role create -role <role-name> -api /api/cluster/schedules -access read_create -vserver <vserver-name> security login rest-role create -role <role-name> -api /api/snapmirror/policies -access read_create -vserver <vserver-name> security login rest-role create -role <role-name> -api /api/storage/file/clone -access read_create -vserver <vserver-name> security login rest-role create -role <role-name> -api /api/storage/file/copy -access read_create -vserver <vserver-name> security login rest-role create -role <role-name> -api /api/support/ems/application-logs -access read_create -vserver <vserver-name> security login rest-role create -role <role-name> -api /api/protocols/nfs/services -access read_modify -vserver <vserver-name> security login rest-role create -role <role-name> -api /api/cluster -access readonly -vserver <vserver-name> security login rest-role create -role <role-name> -api /api/cluster/jobs -access readonly -vserver <vserver-name> security login rest-role create -role <role-name> -api /api/cluster/peers -access readonly -vserver <vserver-name> security login rest-role create -role <role-name> -api /api/name-services/name-mappings -access readonly -vserver <vserver-name> security login rest-role create -role <role-name> -api /api/network/ethernet/ports -access readonly -vserver <vserver-name> security login rest-role create -role <role-name> -api /api/network/fc/interfaces -access readonly -vserver <vserver-name> security login rest-role create -role <role-name> -api /api/network/fc/logins -access readonly -vserver <vserver-name> security login rest-role create -role <role-name> -api /api/network/ip/interfaces -access readonly -vserver <vserver-name> security login rest-role create -role <role-name> -api /api/protocols/nfs/kerberos/interfaces -access readonly -vserver <vserver-name> security login rest-role create -role <role-name> -api /api/protocols/nvme/interfaces -access readonly -vserver <vserver-name> security login rest-role create -role <role-name> -api /api/protocols/san/fcp/services -access readonly -vserver <vserver-name> security login rest-role create -role <role-name> -api /api/protocols/san/iscsi/services -access readonly -vserver <vserver-name> security login rest-role create -role <role-name> -api /api/security/accounts -access readonly -vserver <vserver-name> security login rest-role create -role <role-name> -api /api/security/roles -access readonly -vserver <vserver-name> security login rest-role create -role <role-name> -api /api/storage/qtrees -access readonly -vserver <vserver-name> security login rest-role create -role <role-name> -api /api/storage/quota/reports -access readonly -vserver <vserver-name> security login rest-role create -role <role-name> -api /api/storage/snapshot-policies -access readonly -vserver <vserver-name> security login rest-role create -role <role-name> -api /api/svm/peers -access readonly -vserver <vserver-name> security login rest-role create -role <role-name> -api /api/svm/svms -access readonly -vserver <vserver-name>
此外,对于 ONTAP 版本 9.16.0 及更高版本,请运行以下命令:
security login rest-role create -role <role-name> -api /api/storage/storage-units -access all -vserver <vserver-name>
要使用以前创建的基于 API 的角色创建新的基于 API 的用户,请运行以下命令:
security login create -user-or-group-name <user-name> -application http -authentication-method password -role <role-name> -vserver <cluster-or-vserver-name>
示例:
security login create -user-or-group-name testvpsraall -application http -authentication-method password -role OTV_10_VP_SRA_Discovery_Create_Modify_Destroy -vserver C1_sti160-cluster_
运行以下命令来解锁帐户并启用管理界面访问:
security login unlock -user <user-name> -vserver <cluster-or-vserver-name>
示例:
security login unlock -username testvpsraall -vserver C1_sti160-cluster
将 ONTAP tools for VMware vSphere 10.1 用户升级到 10.3 用户
对于使用 JSON 文件创建了集群范围用户的 ONTAP tools for VMware vSphere 10.1 用户,请使用具有用户管理员权限的以下 ONTAP CLI 命令升级到 10.3 版本。
对于产品功能:
-
VSC
-
VSC 和 VASA Provider
-
VSC 和 SRA
-
VSC、VASA Provider 和 SRA。
集群权限:
security login role create -role <existing-role-name> -cmddirname "vserver nvme namespace show" -access all
security login role create -role <existing-role-name> -cmddirname "vserver nvme subsystem show" -access all
security login role create -role <existing-role-name> -cmddirname "vserver nvme subsystem host show" -access all
security login role create -role <existing-role-name> -cmddirname "vserver nvme subsystem map show" -access all
security login role create -role <existing-role-name> -cmddirname "vserver nvme show-interface" -access read
security login role create -role <existing-role-name> -cmddirname "vserver nvme subsystem host add" -access all
security login role create -role <existing-role-name> -cmddirname "vserver nvme subsystem map add" -access all
security login role create -role <existing-role-name> -cmddirname "vserver nvme namespace delete" -access all
security login role create -role <existing-role-name> -cmddirname "vserver nvme subsystem delete" -access all
security login role create -role <existing-role-name> -cmddirname "vserver nvme subsystem host remove" -access all
security login role create -role <existing-role-name> -cmddirname "vserver nvme subsystem map remove" -access all
对于具有使用 json 文件创建的 SVM 范围用户的 ONTAP tools for VMware vSphere 10.1 用户,请使用具有管理员用户权限的 ONTAP CLI 命令升级到 10.3 版本。
SVM 权限:
security login role create -role <existing-role-name> -cmddirname "vserver nvme namespace show" -access all -vserver <vserver-name>
security login role create -role <existing-role-name> -cmddirname "vserver nvme subsystem show" -access all -vserver <vserver-name>
security login role create -role <existing-role-name> -cmddirname "vserver nvme subsystem host show" -access all -vserver <vserver-name>
security login role create -role <existing-role-name> -cmddirname "vserver nvme subsystem map show" -access all -vserver <vserver-name>
security login role create -role <existing-role-name> -cmddirname "vserver nvme show-interface" -access read -vserver <vserver-name>
security login role create -role <existing-role-name> -cmddirname "vserver nvme subsystem host add" -access all -vserver <vserver-name>
security login role create -role <existing-role-name> -cmddirname "vserver nvme subsystem map add" -access all -vserver <vserver-name>
security login role create -role <existing-role-name> -cmddirname "vserver nvme namespace delete" -access all -vserver <vserver-name>
security login role create -role <existing-role-name> -cmddirname "vserver nvme subsystem delete" -access all -vserver <vserver-name>
security login role create -role <existing-role-name> -cmddirname "vserver nvme subsystem host remove" -access all -vserver <vserver-name>
security login role create -role <existing-role-name> -cmddirname "vserver nvme subsystem map remove" -access all -vserver <vserver-name>
要启用以下命令,请将命令 vserver nvme namespace show 和 vserver nvme subsystem show 添加到现有角色。
vserver nvme namespace create vserver nvme namespace modify vserver nvme subsystem create vserver nvme subsystem modify
将适用于 VMware vSphere 的 ONTAP tools 10.3 用户升级到 10.4 用户
从 ONTAP 9.16.1 开始,将适用于 VMware vSphere 的 ONTAP tools 10.3 用户升级到 10.4 用户。
对于使用 JSON 文件创建了集群范围用户且 ONTAP 版本为 9.16.1 或更高版本的 ONTAP tools for VMware vSphere 10.3 用户,请使用具有管理员用户权限的 ONTAP CLI 命令升级到 10.4 版本。
对于产品功能:
-
VSC
-
VSC 和 VASA Provider
-
VSC 和 SRA
-
VSC、VASA Provider 和 SRA。
集群权限:
security login role create -role <existing-role-name> -cmddirname "storage availability-zone show" -access all