Data ONTAP 为集群管理员和 Storage Virtual Machine (SVM) 管理员提供了预定义的访问控制角色。您还可以为集群或 SVM 创建其他访问控制角色,并自定义这些角色对某些命令或命令目录的访问权限。 在针对具体访问需求自定义角色时,需遵循一些注意事项。
该名称是指角色所属的管理 SVM(集群)或数据 SVM 的名称。
功能是指您要为角色指定访问级别的命令(内在或非内在)或命令目录。
在自定义角色时,内在命令是指以 create、modify、delete 或 show 结尾的任何命令。所有其他命令均称为非内在命令。
访问级别可以是 all、readonly 或 none。
如何指定访问级别取决于授予的功能是命令还是命令目录,如果是命令,则还取决于该命令是内在命令还是非内在命令。
授予角色的功能 | 指定的访问级别 | 作用 |
---|---|---|
命令目录 | all | 该角色可以访问指定的目录及其子目录(如果有),并可执行该目录或子目录中的所有命令。 |
readonly | 该角色对指定的目录及其子目录(如果有)具有只读访问权限。
如果使用这一组合,则该角色只能访问指定的目录和子目录中的 show 命令。 该角色无法访问该目录中的所有其他命令。 |
|
none | 该角色无法访问指定的目录及其子目录或命令。 |
例如,以下命令会授予“vs1”SVM 的“vol_role”角色对 volume 目录及其所有子目录以及该目录和子目录中的命令的 all 访问权限:
security login role create -vserver vs1 -role vol_role -cmddirname "volume" -access all
如果父目录具有一个访问级别,而其子目录具有另一个访问级别,则为该子目录指定的访问级别将覆盖父目录的访问级别。
例如,以下命令会授予“vs1”SVM 的“vol_role”角色对 volume 目录及其子目录中的命令的 all 访问权限,但 volume snapshot 子目录除外,该角色对该子目录的访问权限仅限于 readonly:
security login role create -vserver vs1 -role vol_role -cmddirname "volume" -access all security login role create -vserver vs1 -role vol_role -cmddirname "volume snapshot" -access readonly
授予角色的功能 | 指定的访问级别 | 作用 |
---|---|---|
内在命令(以 create、modify、delete 或 show 结尾的命令) | all | 无效组合。您不能为内在命令指定访问级别,而必须为内在命令的目录指定访问级别。 |
readonly | ||
none | ||
非内在命令 | all | 该角色可以执行指定的命令。 |
readonly | 无效组合。您不能在命令级别授予 readonly 访问权限,而必须在目录级别指定该权限。 | |
none | 该角色无权访问指定的命令。 |
例如,以下命令会使“vs1”SVM 的“ssl_role”角色可以访问 security ssl 目录中的 security ssl show 命令,但无法访问其他命令:
security login role create -vserver vs1 -role ssl_role -cmddirname "security ssl" -access readonly
在以下示例中,前四个命令会通过命令目录将“cluster1”集群的“login_role”角色的访问权限限定为 security login show 内在命令,而后两个命令则会为该角色授予对 security login password 和 security login role show-ontapi 非内在命令的其他访问权限。该角色无权访问 security login 目录中的其他命令:
security login role create -vserver cluster1 -role login_role -cmddirname "security login" -access readonly security login role create -vserver cluster1 -role login_role -cmddirname "security login domain-tunnel" -access none security login role create -vserver cluster1 -role login_role -cmddirname "security login publickey" -access none security login role create -vserver cluster1 -role login_role -cmddirname "security login role" -access none security login role create -vserver cluster1 -role login_role -cmddirname "security login password" -access all security login role create -vserver cluster1 -role login_role -cmddirname "security login role show-ontapi" -access all
例如,以下命令会授予“vs1”SVM 的“guest_role”角色修改帐户密码的能力:
security login role create -vserver vs1 -role guest_role -cmddirname "security login password" -access all
例如,您不能为 SVM 角色授予对 system license 目录或其命令的访问权限,因为只有集群管理员才具有管理许可证的能力。 有关 SVM 管理员是否有权访问特定命令的信息,请参见相关手册页。