02-RBAC配置
本章節下載: 02-RBAC配置 (401.00 KB)
RBAC(Role Based Access Control,基於角色的訪問控製)通過建立“權限<->角色”的關聯實現將權限賦予給角色,並通過建立“角色<->用戶”的關聯實現為用戶指定角色,從而使用戶獲得相應角色所具有的權限。RBAC的基本思想就是給用戶指定角色,這些角色中定義了允許用戶操作哪些係統功能以及資源對象。RBAC采用權限與用戶分離的思想,提高用戶權限分配的靈活性,減小用戶授權管理的複雜度,降低管理開銷。
為一個用戶角色賦予權限的具體實現包括以下兩個方麵:
· 定義用戶角色規則:實現對係統功能的操作權限的控製。例如,定義用戶角色規則允許用戶配置A功能,或禁止用戶配置B功能。
· 定義資源控製策略:實現對係統資源的操作權限的控製。例如,定義資源控製策略允許用戶操作VLAN 10。
資源控製策略需要與用戶角色規則相配合才能生效。在用戶執行命令的過程中,係統對該命令涉及的係統資源使用權限進行動態檢測,因此隻有用戶同時擁有執行該命令的權限和使用該資源的權限時,才能執行該命令。例如,若管理員為某用戶角色定義了一條規則允許用戶執行創建VLAN的命令vlan,且同時定義了一條VLAN策略允許用戶操作VLAN 10,則當用戶被授權此用戶角色並試圖創建VLAN 10時,操作會被允許,但試圖創建其它VLAN時,操作會被禁止。若管理員並沒有為該用戶角色定義規則允許用戶執行創建VLAN命令,則用戶即便擁有該VLAN資源的操作權限,也無法執行相關的命令。
用戶角色規則定義了允許/禁止用戶操作某些功能的權限。一個用戶角色中可以包含多條用戶角色規則,每條規則定義了是允許還是禁止用戶對某命令、特性、特性組、Web菜單、XML元素或者OID進行操作。
· 基於命令的規則:用來控製一條命令或者與指定命令關鍵字相匹配的一類命令是否允許被執行。
· 基於特性的規則:用來控製特性包含的命令是否允許被執行。
· 基於特性組的規則:用來同時對多個特性包含的命令進行控製。
· 基於Web菜單的規則:用來控製指定的Web菜單選項是否允許被操作。
· 基於XML元素的規則:用來控製指定的XML元素是否允許被執行。
· 基於OID的規則:用來控製指定的OID是否允許被SNMP訪問。
RBAC對命令、特性、特性組、Web菜單、XML元素或者OID進行的操作,又包括三種類型:
· 讀類型:用於顯示係統配置信息和維護信息。如顯示命令display、顯示文件信息的命令dir為讀類型的命令。
· 寫類型:用於對係統進行配置。如開啟信息中心功能的命令info-center enable、配置調試信息開關的命令debugging為寫類型的命令。
· 執行類型:用於執行特定的功能。如ping命令、與FTP服務器建立連接的命令ftp為執行類型的命令。
一個用戶角色中可以定義多條規則,各規則以創建時指定的編號為唯一標識,被授權該角色的用戶可以執行的命令為這些規則中定義的可執行命令的並集。若這些規則定義的權限內容有衝突,則規則編號大的有效。例如,規則1允許執行命令A,規則2允許執行命令B,規則3禁止執行命令A,則最終規則2和規則3生效,即禁止執行命令A,允許執行命令B。
資源控製策略規定了用戶對係統資源的操作權限。在用戶角色中可定義如下類型的資源控製策略:
· 接口策略:定義用戶允許操作的接口,包括創建並進入接口策略視圖、刪除接口。
· VLAN策略:定義用戶允許操作的VLAN,包括創建並進入VLAN策略視圖、刪除VLAN。
· VPN策略:定義用戶允許操作的VPN實例,包括創建並進入VPN策略視圖、刪除和應用VPN實例。
· 安全域策略:定義用戶允許操作的安全域,包括創建並進入安全域策略視圖、刪除和應用安全域。
在display命令中指定接口/VLAN/VPN實例/安全域參數並不屬於應用接口/VLAN/VPN實例/安全域。
係統預定義了多種用戶角色,用戶角色名和對應的權限如表1-1所示。這些用戶角色缺省均具有操作所有係統資源的權限,但具有不同的係統功能操作權限。如果係統預定義的用戶角色無法滿足權限管理需求,管理員還可以自定義用戶角色來對用戶權限做進一步控製。
在所有係統預定義的用戶角色當中,僅network-admin、context-admin或者level-15角色的用戶具有執行創建/修改/刪除本地用戶和本地用戶組的權限。其它角色的用戶,即使被授權對本地用戶和本地用戶組的操作權限,也僅僅具有修改自身密碼的權限,沒有除此之外的對本地用戶和本地用戶組的任何操作權限。
用戶以任意角色登錄設備,在某視圖下輸入<?>會顯示該視圖下係統定義的缺省別名幫助信息,但用戶對幫助信息中的命令行別名未必具有實際操作權限,命令行別名的實際操作權限以原命令行的操作權限為準。有關命令行別名的詳細介紹請參見“基礎配置指導”中的“CLI”。
用戶以任意角色登錄設備,均具有執行system-view、quit和exit命令的權限。
缺省Context中係統預定義了表1-1中的所有用戶角色,而非缺省Context中沒有network-admin和network-operator兩種用戶角色。有關Context相關的介紹請參見“虛擬化技術配置指導”中的“Context”。
係統預定義的用戶角色中,僅level-0~level-14可以通過自定義規則和資源控製策略調整自身的權限,但這種修改對於display history-command all命令不生效,即不能通過添加對應的規則來更改它的缺省執行權限。
用戶角色名 |
權限 |
network-admin |
可操作係統所有功能和資源(除安全日誌文件管理相關命令display security-logfile summary、info-center security-logfile directory、security-logfile save之外) |
network-operator |
· 可執行係統所有功能和資源的相關display命令(除display history-command all、display security-logfile summary等命令,具體請通過display role命令查看) · 如果用戶采用本地認證方式登錄係統並被授予該角色,則可以修改自己的密碼 · 可執行進入XML視圖的命令 · 可允許用戶操作所有讀類型的Web菜單選項 · 可允許用戶操作所有讀類型的XML元素 · 可允許用戶操作所有讀類型的OID |
level-n (n = 0~15) |
· level-0:可執行命令ping、tracert、ssh2、telnet和super,且管理員可以為其配置權限 · level-1:具有level-0用戶角色的權限,並且可執行係統所有功能和資源的相關display命令(除display history-command all之外),以及管理員可以為其配置權限 · level-2~level-8和level-10~level-14:無缺省權限,需要管理員為其配置權限 · level-9:可操作係統中絕大多數的功能和所有的資源,且管理員可以為其配置權限,但不能操作display history-command all命令、RBAC的命令(Debug命令除外)、文件管理、設備管理以及本地用戶特性。對於本地用戶,若用戶登錄係統並被授予該角色,可以修改自己的密碼 · level-15:在缺省Context中,具有與network-admin角色相同的權限;在非缺省Context中,具有與context-admin角色相同的權限 |
security-audit |
安全日誌管理員,僅具有安全日誌文件的讀、寫、執行權限,具體如下: · 可執行安全日誌文件管理相關的命令(display security-logfile summary、info-center security-logfile directory、security-logfile save)。安全日誌文件管理相關命令的介紹,請參見“網絡管理與監控”中的“信息中心” · 可執行安全日誌文件操作相關的命令,例如more顯示安全日誌文件內容;dir、mkdir操作安全日誌文件目錄等,具體命令的介紹請參見“基礎配置命令參考”中的“文件係統管理” 以上權限,僅安全日誌管理員角色獨有,其它任何角色均不具備 該角色不能被授權給從當前用戶線登錄係統的用戶 |
guest-manager |
來賓用戶管理員,隻能查看和配置與來賓有關的web頁麵,沒有控製命令行的權限 |
context-admin |
可操作該Context所有功能和資源(除安全日誌文件管理相關命令display security-logfile summary、info-center security-logfile directory、security-logfile save之外) |
context-operator |
· 可執行該Context所有功能和資源的相關display命令(除display history-command all、display security-logfile summary等命令,具體請通過display role命令查看) · 如果用戶采用本地認證方式登錄係統並被授予該角色,則可以修改自己的密碼 · 可執行進入XML視圖的命令 · 可允許用戶操作所有讀類型的Web菜單選項 · 可允許用戶操作所有讀類型的XML元素 · 可允許用戶操作所有讀類型的OID |
system-admin |
係統管理員,具有部分Web頁麵菜單的讀、寫、執行權限,具體如下: · 對概覽菜單具有讀、寫、執行權限 · 對監控菜單下的係統日誌菜單具有讀、寫、執行權限 · 對係統菜單具體權限如下: ¡ 對管理員和角色菜單僅有讀權限 ¡ 對其它子菜單具有讀、寫、執行權限 係統管理員角色目前僅實現Web頁麵功能,命令行隻有ping和tracert的權限,具體權限請通過display role命令查看 · 該角色不能被授權給從當前用戶線登錄係統的用戶 |
security-admin |
安全管理員,具有大部分Web頁麵菜單的讀、寫、執行權限,具體如下: · 對策略、對象和網絡菜單具有讀、寫、執行權限 · 對監控菜單具體權限如下: ¡ 對係統日誌、操作日誌子菜單無讀、寫、執行權限 ¡ 對於其他子菜單擁有讀、寫、執行權限 安全管理員角色目前僅實現Web頁麵功能,命令行隻有執行ping和tracert命令的權限,具體權限請通過display role命令查看 該角色不能被授權給當前用戶線登錄係統的用戶 |
audit-admin |
審計管理員,僅具有對監控菜單下的操作日誌子菜單具有讀、寫、執行權限 審計管理員角色目前僅實現Web頁麵功能,命令行隻有執行ping和tracert命令的權限,具體權限請通過display role命令查看 該角色不能授權給當前用戶線登錄係統的用戶 |
通過為用戶授權角色實現角色與用戶的關聯。將有效的用戶角色成功授權給用戶後,登錄設備的用戶才能以各角色所具有的權限來配置、管理或者監控設備。根據用戶登錄設備時采用的不同認證方式,可以將為用戶授權角色分為AAA(Authentication、Authorization、Accounting,認證、授權、計費)方式和非AAA方式。
· AAA方式:用戶登錄時使用的認證方式為scheme,用戶登錄設備後所擁有的用戶角色由AAA功能進行授權。
¡ 若用戶通過了本地授權,則由設備為其授權用戶角色,授權的用戶角色是在本地用戶中設置的。
¡ 若用戶通過了遠程授權,則由遠程AAA服務器為其授權用戶角色,授權的用戶角色是在遠程AAA服務器(RADIUS或HWTACACS服務器)上設置的。
· 非AAA方式:用戶登錄時使用的認證方式為none或者password,用戶登錄後所擁有的用戶角色是用戶線下配置的用戶角色。SSH用戶通過publickey或password-publickey認證登錄服務器,登錄後將被授予同名的設備管理類本地用戶視圖下配置的授權用戶角色。
以上兩種方式均支持對一個用戶同時授權多個用戶角色。擁有多個角色的用戶可獲得這些角色中被允許執行的功能以及被允許操作的資源的集合。例如,某用戶擁有角色A,它禁止用戶執行qos apply policy命令,且僅允許操作接口2。同時,該用戶擁有角色B,它允許用戶執行qos apply policy命令,且允許用戶操作所有接口。則,這種情況下該用戶將能夠在所有接口下執行qos apply policy命令,以及可以操作所有的接口資源。
AAA相關內容的介紹請參見“安全配置指導”中的“AAA”。用戶線相關內容的介紹請參見“基礎配置指導”中的“登錄設備”。
RBAC配置任務如下:
(1) 創建用戶角色
(2) 配置用戶角色規則
(3) (可選)配置特性組
(4) 配置資源控製策略
(5) 為用戶授權角色
(6) 配置用戶角色切換
c. 配置用戶角色切換的密碼
(7) (可選)配置用戶角色切換認證時使用用戶登錄的用戶名認證
a. 切換用戶角色
如果係統預定義角色無法滿足用戶的權限管理需求,可以自定義用戶角色來對用戶權限做更精細和靈活的控製。除係統預定義的用戶角色外,係統中最多允許同時創建64個用戶角色。
(1) 進入係統視圖。
system-view
(2) 創建用戶角色,並進入用戶角色視圖。
role name role-name
缺省情況下,係統預定義的用戶角色為network-admin、network-operator、context-admin、context-operator、level-n(n為0~15的整數)、security-audit、guest-manager、system-admin、security-admin、audit-admin。其中,僅用戶角色level-0~level-14可以自定義規則、資源控製策略以及配置描述信息。
(3) (可選)配置用戶角色描述信息。
description text
缺省情況下,未定義用戶角色描述信息。
一個用戶角色中可以包含多條用戶角色規則,每條規則定義了是允許或禁止用戶對某命令、特性、特性組、Web菜單、XML元素或者OID進行操作。
· 基於非OID的規則匹配
¡ 一個用戶角色中可以定義多條規則,各規則以創建時指定的編號為唯一標識,被授權該角色的用戶可以執行的命令為這些規則中定義的可執行命令的並集。若這些規則定義的權限內容有衝突,則規則編號大的有效。例如,角色中存在“rule 1 permit command ping”,“rule 2 permit command tracert”和“rule 3 deny command ping”,其中rule 1和rule 3衝突,規則編號大的rule 3生效,匹配的結果為用戶禁止執行ping命令,允許執行tracert命令。
¡ 同時存在係統預定義規則和自定義規則的用戶角色時,若預定義規則定義的權限內容與自定義規則定義的權限內容有衝突,則以自定義規則為準。
· 基於OID的規則匹配
¡ 與用戶訪問的OID形成最長匹配的規則生效。例如用戶訪問的OID為1.3.6.1.6.3.1.1.6.1,角色中存在“rule 1 permit read write oid 1.3.6”,“rule 2 deny read write oid 1.3.6.1.6.3”和“rule 3 permit read write oid 1.3.6.1.6”,其中rule 2與用戶訪問的OID形成最長匹配,則認為rule 2與OID匹配,匹配的結果為用戶的此訪問請求被拒絕。
¡ 對於定義的OID長度相同的規則,規則編號大的生效。例如用戶訪問的OID為1.3.6.1.6.3.1.1.6.1,角色中存在“rule 1 permit read write oid 1.3.6”,“rule 2 deny read write oid 1.3.6.1.6.3”和“rule 3 permit read write oid 1.3.6.1.6.3”,其中rule 2和rule 3與訪問的OID形成最長匹配,則rule 3生效,匹配的結果為用戶的訪問請求被允許。
· 僅係統預定義的用戶角色network-admin、network-operator、context-admin、context-operator、level-15具有Context特性的相應操作權限,具體請參見“表1-1係統預定義的用戶角色名和對應的權限”。其它用戶角色視圖下,對於Context特性或Context相關命令的配置都無效。
· 隻有具有network-admin、context-admin或者level-15用戶角色的用戶登錄設備後才具有如下命令的操作權限,其它係統預定義角色和用戶自定義角色不能執行相應的命令。
¡ display history-command all命令。
¡ 以display role、display license、reboot、startup saved-configuration開頭的所有命令。
¡ 係統視圖下以role、undo role、super、undo super、license、password-recovery、undo password-recovery開頭的所有命令。
¡ 係統視圖下創建SNMP團體、用戶或組的命令:snmp-agent community、snmp-agent usm-user和snmp-agent group。
¡ 用戶線視圖下以user-role、undo user-role、authentication-mode、undo authentication-mode、set authentication password、undo set authentication password開頭的所有命令。
¡ Schedule視圖下以user-role、undo user-role開頭的所有命令。
¡ CLI監控策略視圖下以user-role、undo user-role開頭的所有命令。
¡ Event MIB特性中所有類型的命令。
· 每個用戶角色中最多可以配置256條規則,係統中的用戶角色規則總數不能超過1024。
· 修改後的規則對於當前已經在線的用戶不生效,對於之後使用該角色登錄設備的用戶生效。
(1) 進入係統視圖。
system-view
(2) 進入用戶角色視圖。
role name role-name
¡ 配置基於命令的規則。
rule number { deny | permit } command command-string
¡ 配置基於特性的規則。
rule number { deny | permit } { execute | read | write } * feature [ feature-name ]
¡ 配置基於特性組的規則。
rule number { deny | permit } { execute | read | write } * feature-group feature-group-name
隻有特性組創建後,基於特性組的規則才能生效。
¡ 配置基於Web菜單的規則。
rule number { deny | permit } { execute | read | write } * web-menu [ web-string ]
¡ 配置基於XML元素的規則。
rule number { deny | permit } { execute | read | write } * xml-element [ xml-string ]
¡ 配置基於OID的規則。
rule number { deny | permit } { execute | read | write } * oid oid-string
特性組是一個或者多個特性的集合。配置特性組便於管理員為有相同權限需求的多個特性定義統一的用戶角色規則。除係統預定義的特性組之外,最多允許創建64個特性組,且各特性組之間包含的特性允許重疊。
(1) 進入係統視圖。
system-view
(2) 創建特性組,並進入特性組視圖。
role feature-group name feature-group-name
缺省情況下,存在兩個係統預定義特性組,名稱為L2和L3,且不能被修改和刪除。
¡ L2:包含所有二層協議相關功能的命令。
¡ L3:包含所有三層協議相關功能的命令。
(3) 向特性組中添加一個特性。
feature feature-name
缺省情況下,自定義特性組中不包含任何特性。
資源控製策略分為接口策略、VLAN策略、VPN策略、安全域策略。所有用戶角色均具有缺省的資源控製策略,允許用戶具有操作任何係統資源的權限。若要限製或區分用戶對這些資源的使用權限,則應該配置資源控製策略並在指定類型的策略中配置允許操作的資源列表。
修改後的資源控製策略對於當前已經在線的用戶不生效,對於之後使用該角色登錄設備的用戶生效。
(1) 進入係統視圖。
system-view
(2) 進入用戶角色視圖。
role name role-name
(3) 進入接口策略視圖。
interface policy deny
缺省情況下,用戶角色具有操作任何接口的權限。
進入接口策略視圖後,如果不配置允許操作的接口列表,則用戶將沒有操作任何接口的權限;如果需要限製或區分用戶對接口資源的使用權限,則還應該通過permit interface命令配置允許用戶操作的接口列表。
(4) (可選)配置允許操作的接口列表。
permit interface interface-list
缺省情況下,未定義允許操作的接口列表,用戶角色沒有操作任何接口的權限。
可以多次執行此命令向接口列表中添加允許操作的接口。
(1) 進入係統視圖。
system-view
(2) 進入用戶角色視圖。
role name role-name
(3) 進入VLAN策略視圖。
vlan policy deny
缺省情況下,用戶具有操作任何VLAN的權限。
進入VLAN策略視圖後,如果不配置允許操作的VLAN列表,則用戶將沒有操作任何VLAN的權限;如果需要限製或區分用戶對VLAN資源的使用權限,則還應該通過permit vlan命令配置允許用戶操作的VLAN列表。
(4) (可選)配置允許操作的VLAN列表。
permit vlan vlan-id-list
缺省情況下,未定義允許操作的VLAN列表,用戶沒有操作任何VLAN的權限。
可以多次執行此命令向VLAN列表中添加允許操作的VLAN。
(1) 進入係統視圖。
system-view
(2) 進入用戶角色視圖。
role name role-name
(3) 進入VPN策略視圖。
vpn-instance policy deny
缺省情況下,用戶具有操作任何VPN實例的權限。
進入VPN策略視圖後,如果不配置允許操作的VPN實例列表,則用戶將沒有操作任何VPN實例的權限;如果需要限製或區分用戶對VPN資源的使用權限,則還應該通過permit vpn-instance命令配置允許用戶操作的VPN實例列表。
(4) (可選)配置允許操作的VPN實例列表。
permit vpn-instance vpn-instance-name&<1-10>
缺省情況下,未定義允許操作的VPN實例列表,用戶沒有操作任何VPN實例的權限。
可以多次執行此命令向VPN實例列表中添加允許操作的VPN實例。
(1) 進入係統視圖。
system-view
(2) 進入用戶角色視圖。
role name role-name
(3) 進入安全域策略視圖。
security-zone policy deny
缺省情況下,用戶具有操作任何安全域的權限。
進入安全域策略視圖後,如果不配置允許操作的安全域列表,則用戶將沒有操作任何安全域的權限;如果需要限製或區分用戶對安全域資源的使用權限,則還應該通過permit security-zone命令配置允許用戶操作的安全域列表。
(4) (可選)配置允許操作的安全域列表。
permit security-zone security-zone-name&<1-10>
缺省情況下,未定義允許操作的安全域列表,用戶沒有操作任何安全域的權限。
可以多次執行此命令向安全域列表中添加允許操作的安全域。
為保證對用戶授權角色成功,設備上必須存在對應的被授權的用戶角色。若要授權的用戶角色有多個,則隻要被授權的用戶角色中的一個或多個在設備上存在,相應的用戶角色即可授權成功;若設備上不存在任何一個被授權的用戶角色,則用戶角色授權將會失敗。
對於通過AAA認證登錄設備的用戶,由服務器(遠程認證服務器或本地認證服務器)為其授權用戶角色。如果用戶沒有被授權任何用戶角色,將無法成功登錄設備,需要使能缺省用戶角色授權功能。為此,設備提供了一個缺省用戶角色授權功能。使能該功能後,用戶在沒有被服務器授權任何角色的情況下,將具有一個缺省的用戶角色,該缺省用戶角色可以通過參數配置為係統中已存在的任意用戶角色。
(1) 進入係統視圖。
system-view
(2) 使能缺省用戶角色授權功能。
role default-role enable [ role-name ]
缺省情況下,缺省用戶角色授權功能處於關閉狀態。
若未通過authorization-attribute命令配置本地用戶或用戶組的授權屬性,則必須使能缺省用戶角色授權功能。關於命令authorization-attribute的詳細介紹請參見“安全配置命令參考”的“AAA”。
對於通過AAA遠程認證登錄設備的用戶,由AAA服務器的配置決定為其授權的用戶角色。有關AAA以及遠程AAA認證相關配置的詳細介紹請參見“安全配置指導”中的“AAA”。
RADIUS服務器上的授權角色配置與服務器的具體情況有關,請參考服務器的配置指導進行;HWTACACS服務器上的授權角色配置必須滿足格式:roles="name1 name2 namen",其中name1、name2、namen為要授權下發給用戶的用戶角色,可為多個,並使用空格分隔。
需要注意的是,若AAA服務器同時為用戶授權了包括安全日誌管理員在內的多個用戶角色,則僅安全日誌管理員角色生效;若AAA服務器同時為用戶授權了包括三權分立管理員角色(system-admin、security-admin或audit-admin角色)在內的多個用戶角色,則僅下發的用戶角色列表中的首個三權分立管理員角色生效。
對於通過本地AAA認證登錄設備的用戶,由本地用戶配置決定為其授權的用戶角色。有關AAA以及本地用戶相關配置的詳細介紹請參見“安全配置指導”中的“AAA”。
· 由於本地用戶缺省就擁有一個用戶角色,如果要賦予本地用戶新的用戶角色,請確認是否需要保留這個缺省的用戶角色,若不需要,請刪除。
· 係統中的最後一個安全日誌管理員角色的本地用戶不可被刪除。
· 安全日誌管理員與其它用戶角色互斥,為一個本地用戶授權安全日誌管理員角色時,經過界麵的交互式確認後,係統會自動刪除當前用戶的所有其它他用戶角色。
· 如果已經為當前本地用戶授權了安全日誌管理員角色,再授權其它的用戶角色時,經過界麵的交互確認後,係統會自動刪除當前用戶的安全日誌管理員角色。
· 三權分立管理員角色(system-admin、security-admin和audit-admin角色)與其它用戶角色互斥,因此在為一個本地用戶授權此類用戶角色時,係統會通過提示信息請求確認是否刪除當前用戶的所有其它用戶角色。
· 三權分立管理員角色(system-admin、security-admin和audit-admin角色)之間互斥,如果為當前本地用戶授權了三權分立管理員角色中的一個,再授權其它的兩個用戶角色時,係統會通過提示信息請求確認是否刪除當前用戶的角色。
· 可通過多次執行該配置,為本地用戶授權多個用戶角色,最多可授權64個。
(1) 進入係統視圖。
system-view
(2) 創建本地用戶,並進入本地用戶視圖。
local-user user-name class { manage | network }
(3) 為本地用戶授權用戶角色。
authorization-attribute user-role role-name
缺省情況下,在缺省Context中由用戶角色為network-admin或者level-15的用戶創建的本地用戶被授權用戶角色network-operator;在非缺省Context中由用戶角色為context-admin或者level-15的用戶創建的本地用戶被授權用戶角色context-operator。
對於不使用AAA認證登錄設備的非SSH用戶,由用戶線配置決定為其授權的用戶角色。有關用戶線相關配置的詳細介紹請參見“基礎配置指導”中的“登錄設備”。
通過publickey或password-publickey認證登錄設備的SSH用戶,由同名的設備管理類本地用戶配置決定為其授權的用戶角色。SSH用戶相關的介紹請參見“安全配置指導”中的“SSH”。
可通過多次執行本命令,配置多個用戶角色,最多可配置64個。
不能為從當前用戶線登錄係統的用戶授權安全日誌管理員的用戶角色。
不能為從當前用戶線登錄係統的用戶授權三權分立管理員的用戶角色。
(1) 進入係統視圖。
system-view
(2) 進入用戶線或用戶線類視圖。
¡ 進入用戶線視圖。
line { first-num1 [ last-num1 ] | { console | vty } first-num2 [ last-num2 ] }
¡ 進入用戶線類視圖。
line class { console | vty }
關於用戶線和用戶線視圖下各屬性生效情況和優先級的詳細介紹,請參見“基礎配置指導”中的“登錄設備”。
(3) 為從當前用戶線登錄係統的用戶配置授權的用戶角色。
user-role role-name
缺省情況下,在缺省Context中使用Console用戶線的用戶將被授權用戶角色network-admin,使用其它用戶線的用戶將被授權用戶角色network-operator;在非缺省Context中network-admin用戶將被授權用戶角色context-admin,其它用戶將被授權用戶角色context-operator。
切換用戶角色是指在不退出當前登錄、不斷開當前連接的前提下修改用戶的用戶角色,改變用戶所擁有的命令行權限。切換後的用戶角色隻對當前登錄生效,用戶重新登錄後,又會恢複到原有角色。
· 為了防止對設備的誤操作,通常情況下建議管理員使用較低權限的用戶角色登錄設備、查看設備運行參數,當需要對設備進行維護時,再臨時切換到較高權限的用戶角色。
· 當管理員需要暫時離開設備或者將設備暫時交給其它人代為管理時,為了安全起見,可以臨時切換到較低權限的用戶角色,來限製其他人員的操作。
· 為了保證操作的安全性,通常用戶進行用戶角色切換時,均需要輸入用戶角色切換密碼。切換到不同的用戶角色時,需要輸入相應切換密碼。如果服務器沒有響應或者沒有配置用戶角色切換密碼,則切換操作失敗,若還有備份認證方案,則轉而進行備份認證。設備支持如表1-2所示的四種用戶角色切換認證方式。
認證方式 |
涵義 |
說明 |
local |
本地密碼認證 |
設備驗證用戶輸入的用戶角色切換密碼 使用該方式時,需要在設備上使用super password命令設置用戶角色切換密碼 對於Console口登錄的用戶,在設備僅采用本地密碼切換認證方式且未配置切換密碼的情況下,設備不關心用戶是否輸入切換密碼以及輸入切換密碼的內容,可允許用戶成功切換用戶角色 |
scheme |
通過HWTACACS或RADIUS進行遠程AAA認證 |
設備將用戶角色切換使用的用戶名和密碼發送給HWTACACS/RADIUS服務器進行遠程驗證 使用該方式時,需要進行以下相關配置: · 在設備上配置HWTACACS/RADIUS方案,並在ISP域中引用已創建的HWTACACS/RADIUS方案,詳細介紹請參見“安全配置指導”中的“AAA” · 在HWTACACS/RADIUS服務器上創建相應的用戶並配置密碼 |
local scheme |
先本地密碼認證,後遠程AAA認證 |
先進行本地密碼認證,若設備上未設置本地用戶角色切換密碼,使用VTY用戶線登錄的用戶則轉為遠程AAA認證,使用Console用戶線登錄的用戶則可以成功切換用戶角色 |
scheme local |
先遠程AAA認證,後本地密碼認證 |
先進行遠程AAA認證,遠程HWTACACS/RADIUS服務器無響應或設備上的AAA遠程認證配置無效時,轉為本地密碼認證 |
· 在進行切換操作前,請先保證配置了正確的用戶角色切換密碼。
· 當使用HWTACACS方案進行用戶角色切換認證時,係統使用用戶輸入的用戶角色切換用戶名或登錄的用戶名進行角色切換認證,HWTACACS服務器上也必須存在相應的用戶。
¡ 當用戶要切換到level-n的用戶角色時,要求HWTACACS服務器上存在能提供切換到level-n角色的用戶。在HWTACACS服務器上,支持切換到用戶角色level-n的用戶也能夠支持切換到level-0到level-n之間任意的用戶角色。
¡ 當用戶要切換到非level-n的用戶角色時,要求HWTACACS服務器上存在至少能提供切換到level-0角色的用戶,且該用戶配置了取值為allowed-roles=”role”的自定義屬性(其中role為要切換的目的用戶角色名稱)。
· 當使用RADIUS方案進行用戶角色切換認證時,係統使用“$enabn$”形式的用戶名進行用戶角色切換認證,其中n為用戶希望切換到的用戶角色level-n中的n,RADIUS服務器上也必須存在該形式用戶名的用戶。與HWTACACS不同的是,用戶進行角色切換時可輸入任意用戶名,該名稱在認證過程中無實際意義。
¡ 當用戶要切換到level-n的用戶角色時,要求RADIUS服務器上存在用戶名為“$enabn$”的用戶。例如,用戶希望切換到用戶角色level-3,輸入任意用戶名,係統忽略用戶輸入的用戶名,使用“$enab3$”形式的用戶名進行用戶角色切換認證。
¡ 當用戶要切換到非level-n的用戶角色時,要求RADIUS服務器上存在用戶名為“$enab0$”的用戶,且該用戶配置了取值為allowed-roles=”role”的自定義屬性(其中role為要切換的目的用戶角色名稱)。
· 用戶進行用戶角色切換認證時,係統發送給RADIUS服務器的認證請求報文中的用戶名中不會攜帶域名,係統采用的切換認證方案使用缺省域。
· 用戶進行用戶角色切換認證時,係統發送給HWTACACS服務器的認證請求報文中的用戶名是否攜帶域名由配置決定(user-name-format),係統采用的切換認證方案由用戶輸入的用戶名中指定的域名決定,若該用戶名中未攜帶域名,則使用缺省域。
· 當用戶從用戶角色a切換到用戶角色b後,若輸入quit命令,將退出當前登錄的用戶線。
(1) 進入係統視圖。
system-view
(2) 配置用戶角色切換時的認證方式。
super authentication-mode { local | scheme } *
缺省情況下,采用local認證方式。
(1) 進入係統視圖。
system-view
(2) 配置用戶角色切換的缺省目的用戶角色。
super default role role-name
缺省情況下,對於登錄缺省Context的用戶,用戶角色切換的缺省目的角色為network-admin;對於登錄非缺省Context的用戶,用戶角色切換的缺省目的角色為context-admin。
如果用戶角色的切換認證方式采用local認證方式,則需要配置用戶角色切換的密碼。如果采用scheme認證方式則無需此配置。
(1) 進入係統視圖。
system-view
(2) 配置用戶角色切換的密碼。
super password [ role role-name ] [ { hash | simple } string ]
缺省情況下,未設置切換用戶角色的密碼。
若不指定用戶角色,則設置的是切換到當前缺省目的用戶角色的密碼。
在設備采用遠程AAA認證方案進行用戶角色切換認證,且用戶采用用戶名和密碼方式登錄設備的情況下,用戶切換用戶角色時,設備會自動獲取用戶登錄使用的用戶名作為角色切換認證的用戶名,不再需要用戶輸入用戶名。
開啟本功能後,若設備采用遠程AAA認證方案進行用戶角色切換認證,但用戶未采用用戶名和密碼方式登錄設備,則用戶角色切換失敗。
若設備未采用遠程AAA認證方案進行用戶角色切換認證,則本功能配置無法生效。
(1) 進入係統視圖。
system-view
(2) 配置用戶角色切換認證時使用用戶登錄的用戶名認證。
super use-login-username
缺省情況下,用戶角色切換認證時係統提示用戶輸入用戶名進行認證。
執行用戶角色切換命令後,請在60秒內輸入用戶名和密碼(是否需要輸入用戶名與認證方式有關),否則係統將會因為輸入超時而要求重新輸入。用戶最多可以連續進行三次切換認證,如果三次認證都失敗則本輪切換失敗。
在與當前登錄用戶相同的ISP域中執行用戶角色切換認證時,如果用戶角色切換認證使用的AAA方案與登錄域下配置的登錄授權方法不同,可能無法切換到非level-n用戶角色。
要解決此問題,建議authentication super命令配置的AAA方案與登錄域下通過authorization login命令配置的AAA方案保持一致。
AAA相關內容的介紹請參見“安全配置指導”中的“AAA”。
若要執行切換用戶角色的操作,必須保證當前用戶具有執行本命令的權限。
請在用戶視圖下執行本命令,切換用戶角色。
super [ role-name ]
若不指定用戶角色,則切換到當前缺省目的用戶角色。缺省的目的用戶角色由super default role命令指定。
完成上述配置後,在任意視圖下執行display命令可以顯示配置後RBAC的運行情況,通過查看顯示信息驗證配置的效果。
表1-3 RBAC顯示和維護
操作 |
命令 |
顯示用戶角色信息 |
display role [ name role-name ] |
顯示特性信息 |
display role feature [ name feature-name | verbose ] |
顯示特性組信息 |
display role feature-group [ name feature-group-name ] [ verbose ] |
用戶通過本地認證並被授權指定的用戶角色後,發現登錄設備後實際具有的權限與被授權的用戶角色權限不符。
可能是該本地用戶被授權了其它用戶角色,例如該本地用戶還具有缺省的用戶角色。
通過display local-user命令查看該用戶實際擁有的用戶權限,並刪除授予用戶的多餘用戶角色。
在AAA配置正確及設備與服務器通信無故障的情況下,使用RADIUS服務器進行遠程身份認證的用戶登錄設備失敗。
RBAC要求登錄設備的用戶必須至少擁有一個用戶角色,如果用戶沒有被服務器授權任何用戶角色,則登錄失敗。
通過執行role default-role enable命令允許用戶使用係統預定義的缺省用戶角色登錄設備,或根據需要在服務器上為該用戶添加要授權的用戶角色。
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!