本產品的文件集力求使用無偏見用語。針對本文件集的目的,無偏見係定義為未根據年齡、身心障礙、性別、種族身分、民族身分、性別傾向、社會經濟地位及交織性表示歧視的用語。由於本產品軟體使用者介面中硬式編碼的語言、根據 RFP 文件使用的語言,或引用第三方產品的語言,因此本文件中可能會出現例外狀況。深入瞭解思科如何使用包容性用語。
思科已使用電腦和人工技術翻譯本文件,讓全世界的使用者能夠以自己的語言理解支援內容。請注意,即使是最佳機器翻譯,也不如專業譯者翻譯的內容準確。Cisco Systems, Inc. 對這些翻譯的準確度概不負責,並建議一律查看原始英文文件(提供連結)。
本文檔介紹ASR 9000系列匯聚多業務路由器(ASR)的配置,以透過Cisco Secure Access Control Server (ACS) 5.x伺服器的TACACS+進行身份驗證和授權。
以下示例介紹了用於在Cisco IOS XR軟體系統中控制使用者訪問的基於任務的授權管理模型的實施。實施基於任務的授權所需的主要任務包括如何配置使用者組和任務組。使用者組和任務組透過用於身份驗證、授權和記帳(AAA)服務的Cisco IOS XR軟體命令集進行配置。身份驗證命令用於驗證使用者或主體的身份。授權命令用於驗證已驗證使用者(或承擔者)是否被授予執行特定任務的許可權。記賬命令用於記錄會話,並透過記錄某些使用者或系統生成的操作來建立稽核跟蹤。
思科建議您瞭解以下主題:
本文中的資訊係根據以下軟體和硬體版本:
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路處於活動狀態,請確保您瞭解所有配置更改的潛在影響。
IOS XR中有預定義的使用者組和任務組。管理員可以根據需要使用這些預定義組或定義自定義組。
這些使用者組是在IOS XR上預定義的:
使用者群組 | 許可權 |
---|---|
思科支援 | 調試和故障排除功能(通常由思科技術支援人員使用)。 |
netadmin | 設定網路通訊協定,例如開放最短路徑優先(OSPF) (通常由網路管理員使用)。 |
運算子 | 執行日常監控活動,且配置許可權有限。 |
root-lr | 顯示和執行單個RP中的所有命令。 |
根系統 | 顯示並執行系統中所有RP的所有命令。 |
系統管理員 | 執行路由器的系統管理任務,例如維護核心轉儲的儲存位置或設定網路時間協定(NTP)時鐘。 |
serviceadmin | 執行服務管理任務,例如會話邊界控制器(SBC)。 |
根系統使用者組具有預定義的授權;也就是說,它完全負責根系統使用者管理的資源,並負責其他服務中的某些責任。
使用以下命令檢查預定義使用者組:
RP/0/RSP1/CPU0:ASR9k#show aaa usergroup ? | Output Modifiers root-lr Name of the usergroup netadmin Name of the usergroup operator Name of the usergroup sysadmin Name of the usergroup root-system Name of the usergroup serviceadmin Name of the usergroup cisco-support Name of the usergroup WORD Name of the usergroup <cr>
管理員可以使用這些預先定義的工作群組,通常用於初始組態:
使用以下命令可檢查預定義的任務組:
RP/0/RSP1/CPU0:ASR9k#show aaa taskgroup ? | Output Modifiers root-lr Name of the taskgroup netadmin Name of the taskgroup operator Name of the taskgroup sysadmin Name of the taskgroup root-system Name of the taskgroup serviceadmin Name of the taskgroup cisco-support Name of the taskgroup WORD Name of the taskgroup <cr>
使用此命令檢查支援的任務:
RP/0/RSP1/CPU0:ASR9k#show aaa task supported
以下為支援工作的清單:
Aaa |
Acl |
管理員 |
Ancp |
Atm |
基本服務 |
Bcdl |
Bfd |
bgp |
開機 |
捆綁包 |
call-home |
Cdp |
Cef |
Cgn |
思科支援 |
組態管理 |
配置服務 |
加密 |
診斷 |
不允許 |
驅動程式 |
Dwdm |
Eem |
Eigrp |
乙太網服務 |
外部訪問 |
交換矩陣 |
故障管理器 |
檔案系統 |
防火牆 |
Fr |
Hdlc |
主機服務 |
Hsrp |
介面 |
存貨 |
ip服務 |
Ipv4 |
Ipv6 |
伊希斯 |
L2vpn |
李 |
Lisp |
記錄 |
標籤 |
監視 |
mpls-ldp |
mpls-static |
mpls-te |
多點傳播 |
Netflow |
網路 |
nps |
Ospf |
烏尼 |
Pbr |
pkg-mgmt |
pos-dpt |
Ppp |
Qos |
Rcmd |
肋 |
RIP |
root-lr |
根系統 |
路由對映 |
route-policy |
Sbc |
Snmp |
sonet-sdh |
靜態 |
Sysmgr |
系統 |
傳輸 |
tty-access |
通道 |
通用 |
VLAN |
Vpdn |
vrrp |
上述每項任務均可使用上述任何一項或所有四項許可權來執行。
讀取 |
指定只允許讀取操作的指定。 |
寫入 |
指定允許變更作業並隱含允許讀取作業的指定。 |
執行 |
指定允許存取作業的指定,例如ping和Telnet。 |
除錯 |
指定允許偵錯作業的指定。 |
管理員可以配置自己的使用者組以滿足特定需求。 以下是組態範例:
RP/0/RSP1/CPU0:ASR9k(config)#usergroup TAC-Defined RP/0/RSP1/CPU0:ASR9k(config-ug)#taskgroup operator RP/0/RSP1/CPU0:ASR9k(config-ug)#commit
管理員可以配置自己的任務組以滿足特定需求。 以下是組態範例:
RP/0/RSP1/CPU0:ASR9k(config)#taskgroup TAC-Defined-TASK RP/0/RSP1/CPU0:ASR9k(config-tg)#task ? debug Specify a debug-type task ID execute Specify a execute-type task ID read Specify a read-type task ID write Specify a read-write-type task ID RP/0/RSP1/CPU0:ASR9k(config-tg)#task read aaa RP/0/RSP1/CPU0:ASR9k(config-tg)#task write aaa RP/0/RSP1/CPU0:ASR9k(config-tg)#task execute aaa RP/0/RSP1/CPU0:ASR9k(config-tg)#task debug aaa RP/0/RSP1/CPU0:ASR9k(config-tg)#task read acl RP/0/RSP1/CPU0:ASR9k(config-tg)#task write acl RP/0/RSP1/CPU0:ASR9k(config-tg)#task execute acl RP/0/RSP1/CPU0:ASR9k(config-tg)#commit RP/0/RSP1/CPU0:ASR9k#show aaa taskgroup TAC-Defined-TASK Task group 'TAC-Defined-TASK' Task IDs included directly by this group: Task: aaa : READ WRITE EXECUTE DEBUG Task: acl : READ WRITE EXECUTE Task group 'TAC-Defined-TASK' has the following combined set of task IDs (including all inherited groups): Task: aaa : READ WRITE EXECUTE DEBUG Task: acl : READ WRITE EXECUTE
如果您不確定如何查詢某些命令所需的工作組和許可權,可以使用describe命令查詢。 以下是範例:
範例 1:
RP/0/RSP1/CPU0:ASR9k#describe show aaa usergroup Package: ..... User needs ALL of the following taskids: aaa (READ) RP/0/RSP1/CPU0:ASR9k#
為了允許使用者運行show aaa usergroup命令,您需要在任務組中允許以下行:
任務讀取aaa
範例 2:
RP/0/RSP1/CPU0:ASR9k(config)#describe aaa authentication login default group tacacs+ Package: ..... User needs ALL of the following taskids: aaa (READ WRITE) RP/0/RSP1/CPU0:ASR9k(config)#
為了允許使用者從配置模式運行aaa authentication login default group tacacs+命令,您需要在任務組中允許此行:
任務讀寫aaa
您可以定義可匯入多個任務群組的使用者群組。以下是組態範例:
RP/0/RSP1/CPU0:ASR9k#show aaa usergroup TAC-Defined Tue Feb 16 00:50:56.799 UTC User group 'TAC-Defined' Inherits from task group 'operator' User group 'TAC-Defined' has the following combined set of task IDs (including all inherited groups): Task: basic-services : READ WRITE EXECUTE DEBUG Task: cdp : READ Task: diag : READ Task: ext-access : READ EXECUTE Task: logging : READ RP/0/RSP1/CPU0:ASR9k#conf t RP/0/RSP1/CPU0:ASR9k(config)#usergroup TAC-Defined RP/0/RSP1/CPU0:ASR9k(config-ug)#taskgroup TAC-Defined-TASK RP/0/RSP1/CPU0:ASR9k(config-ug)#commit RP/0/RSP1/CPU0:ASR9k#show aaa usergroup TAC-Defined Tue Feb 16 00:51:31.494 UTC User group 'TAC-Defined' Inherits from task group 'operator' Inherits from task group 'TAC-Defined-TASK' User group 'TAC-Defined' has the following combined set of task IDs (including all inherited groups): Task: aaa : READ WRITE EXECUTE DEBUG Task: acl : READ WRITE EXECUTE Task: basic-services : READ WRITE EXECUTE DEBUG Task: cdp : READ Task: diag : READ Task: ext-access : READ EXECUTE Task: logging : READ
在路由器上定義TACACS伺服器:
您可以在此處將ACS伺服器IP地址定義為tacacs-server,金鑰為cisco
RP/0/RSP1/CPU0:ASR9k(config)#tacacs-server host 10.106.73.233 port 49 RP/0/RSP1/CPU0:ASR9k(config-tacacs-host)#key 0 cisco RP/0/RSP1/CPU0:ASR9k(config-tacacs-host)#commit ! tacacs-server host 10.106.73.233 port 49 key 7 14141B180F0B !
將身份驗證和授權指向外部TACACS伺服器。
#aaa authentication login default group tacacs+ local #aaa authorization exec default group tacacs+ local
命令授權(可選):
#aaa authorization commands default group tacacs+
將記賬指向外部伺服器(可選)。
#aaa accounting commands default start-stop group tacacs+ #aaa accounting update newinfo
步驟 1.為了在ACS伺服器的AAA客戶端清單中定義路由器IP,請導航到Network Resources > Network Devices and AAA Clients,如圖所示。在本示例中,您將cisco定義為ASR中配置的共用金鑰。
步驟 2.根據您的需求定義使用者群組。在此範例中,您使用四個群組,如下圖所示。
步驟 3.如圖所示,建立使用者並將其對映到上面建立的各個使用者組。
注意:在此示例中,使用ACS內部使用者進行身份驗證,如果要使用在外部身份庫中建立的使用者,則還可以使用他們。在本示例中,不包括外部身份源使用者。.
步驟 4.定義您要為個別使用者推入的殼層設定檔。
在已建立的shell配置檔案中,配置以推送各個任務組,如圖所示。
步驟 5.定義訪問策略。對內部使用者進行身份驗證。
步驟 6.使用之前建立的使用者身份組根據要求配置授權,並對映各自的Shell配置檔案,如圖所示。
要登入,請使用使用者名稱asrread。 以下是驗證命令。
username: ASRread password: RP/0/RSP1/CPU0:ASR9k#show user ASRread RP/0/RSP1/CPU0:ASR9k#show user group operator RP/0/RSP1/CPU0:ASR9k#show user tasks Task: basic-services : READ WRITE EXECUTE DEBUG Task: cdp : READ Task: diag : READ Task: ext-access : READ EXECUTE Task: logging : READ
登入中使用使用者名稱asraaa。以下是驗證命令。
注意:asraaa是從TACACS伺服器推送的操作員任務以及aaa任務讀寫和執行許可權。
username: asraaa password: RP/0/RSP1/CPU0:ASR9k#sh user asraaa RP/0/RSP1/CPU0:ASR9k#sh user group operator RP/0/RSP1/CPU0:ASR9k#sh user tasks Task: aaa : READ WRITE EXECUTE Task: basic-services : READ WRITE EXECUTE DEBUG Task: cdp : READ Task: diag : READ Task: ext-access : READ EXECUTE Task: logging : READ
要登入,請使用使用者名稱asrwrite。 以下是驗證命令。
username: asrwrite password: RP/0/RSP1/CPU0:ASR9k#sh user asrwrite RP/0/RSP1/CPU0:ASR9k#sh user group sysadmin RP/0/RSP1/CPU0:ASR9k#sh user tasks Task: aaa : READ Task: acl : READ WRITE EXECUTE DEBUG Task: admin : READ Task: ancp : READ Task: atm : READ Task: basic-services : READ WRITE EXECUTE DEBUG Task: bcdl : READ Task: bfd : READ Task: bgp : READ Task: boot : READ WRITE EXECUTE DEBUG Task: bundle : READ Task: call-home : READ Task: cdp : READ WRITE EXECUTE DEBUG Task: cef : READ Task: cgn : READ Task: config-mgmt : READ WRITE EXECUTE DEBUG Task: config-services : READ WRITE EXECUTE DEBUG Task: crypto : READ WRITE EXECUTE DEBUG Task: diag : READ WRITE EXECUTE DEBUG Task: drivers : READ Task: dwdm : READ Task: eem : READ WRITE EXECUTE DEBUG Task: eigrp : READ Task: ethernet-services : READ --More-- (output omitted )
要登入,請使用使用者名稱asrroot。以下是驗證命令。
username: asrroot password: RP/0/RSP1/CPU0:ASR9k#show user asrroot RP/0/RSP1/CPU0:ASR9k#show user group root-system RP/0/RSP1/CPU0:ios#show user tasks Task: aaa : READ WRITE EXECUTE DEBUG Task: acl : READ WRITE EXECUTE DEBUG Task: admin : READ WRITE EXECUTE DEBUG Task: ancp : READ WRITE EXECUTE DEBUG Task: atm : READ WRITE EXECUTE DEBUG Task: basic-services : READ WRITE EXECUTE DEBUG Task: bcdl : READ WRITE EXECUTE DEBUG Task: bfd : READ WRITE EXECUTE DEBUG Task: bgp : READ WRITE EXECUTE DEBUG Task: boot : READ WRITE EXECUTE DEBUG Task: bundle : READ WRITE EXECUTE DEBUG Task: call-home : READ WRITE EXECUTE DEBUG Task: cdp : READ WRITE EXECUTE DEBUG Task: cef : READ WRITE EXECUTE DEBUG Task: cgn : READ WRITE EXECUTE DEBUG Task: config-mgmt : READ WRITE EXECUTE DEBUG Task: config-services : READ WRITE EXECUTE DEBUG Task: crypto : READ WRITE EXECUTE DEBUG Task: diag : READ WRITE EXECUTE DEBUG Task: drivers : READ WRITE EXECUTE DEBUG Task: dwdm : READ WRITE EXECUTE DEBUG Task: eem : READ WRITE EXECUTE DEBUG Task: eigrp : READ WRITE EXECUTE DEBUG --More-- (output omitted )
您可以從監控和報告頁面驗證ACS報告。 如圖所示,您可以按一下放大鏡子選單檢視詳細報告。
以下是在ASR上進行故障排除的一些有用命令:
修訂 | 發佈日期 | 意見 |
---|---|---|
1.0 |
07-Nov-2017 |
初始版本 |