簡介
本文檔介紹使用PostMan作為REST客戶端通過ERS API在ISE上建立網路訪問裝置(NAD)的過程。
必要條件
需求
思科建議您瞭解以下主題:
- ISE(身份服務引擎)
- ERS(外部REST風格的服務)
- REST的客戶包括郵遞員、REST和失眠等。
採用元件
本檔案中的資訊是根據以下軟體版本:
- Cisco ISE(身份服務引擎)3.1補丁6
- Postman REST客戶端v10.17.4
注意:其他ISE版本和REST客戶端的步驟相似或相同。您可以對所有2.x和3.x ISE軟體版本使用這些步驟,除非另有說明。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
設定
啟用ERS(埠9060)
ERS API是僅使用HTTPS的REST API,通過埠443和埠9060運行。埠9060預設關閉,因此需要先將其開啟。 如果嘗試訪問此埠的客戶端不首先啟用ERS,則會顯示伺服器超時。因此,第一個要求是從思科ISE管理員UI啟用ERS。
導航到Administration > Settings > API Settings並啟用ERS(讀/寫)切換按鈕。
註:ERS API支援TLS 1.1和TLS 1.2。無論在Cisco ISE GUI的「安全設定」(Security Settings)視窗(Administration > System > Settings > Security Settings)中啟用TLS 1.0,ERS API都不支援TLS 1.0。在「安全設定」視窗中啟用TLS 1.0僅與EAP協定相關,不會影響ERS API。
建立ERS管理員
建立思科ISE管理員,分配密碼,並將使用者作為ERS管理員新增到管理員組。您可以將配置的其餘部分留空。
設定郵遞員
下載或使用線上版Postman。
- 通過按一下「工作區」(Workspaces)頁籤下的「建立工作區」(Create Workspace)建立使用者並建立工作區。
2.選擇空白工作區,並為工作區分配名稱。您可以新增描述並將其公開。 在本示例中,選擇了Personalis。
建立工作區後,即可配置API呼叫。
ISE SDK和基本Postman授權
要配置任何呼叫,請首先訪問ISE ERS SDK(軟體開發工具包)。此工具編譯ISE可以執行的所有API呼叫清單:
- 導航至https://{ise-ip}/ers/sdk。
- 使用您的ISE管理員憑據登入。
- 展開API文檔。
- 向下滾動,直到找到Network Device並按一下它。
- 在此選項下,您現在可以找到可以對ISE上的網路裝置執行的所有可用操作。選擇建立。
6.現在,您可以看到在任何Rest客戶端上使用XML或JSON執行API呼叫所需的配置,以及預期的響應示例。
7.返回到Postman,將基本身份驗證配置為ISE。在Authorization頁籤下,選擇Basic Auth作為身份驗證型別,並新增先前在ISE上建立的ISE ERS使用者憑據。
注意:除非在Postman上配置了變數,否則密碼顯示為明文。
使用XML建立NAD
使用XML建立具有RADIUS TACACS、SNMP和TrustSec設定的TESTNAD1。
1.在SDK上的Create下方,是執行呼叫所需的標頭和模板,以及預期的響應。
2.移至Headers頁籤,並為API呼叫配置所需的標頭,如SDK中所示。標頭配置必須如下所示:
3.移至正文題頭,然後選擇原始。這樣,您就可以貼上建立NAD所需的XML模板。
4. XML模板如下所示(根據需要更改值):
Schema XML File" xmlns:ns1="ers.ise.cisco.com" xmlns:ers="ers.ise.cisco.com" description="
This NAD was added via ERS API" name="
TESTNAD1">
true
true
1234567890123456
ASCII
12345678901234567890
cisco123
1700
Domain
NAD IP Address
32
Location#All Locations#
LAB
Device Type#All Device Types#
Access-Layer
Cisco
true
true
Auto
3600
aaa
ONE
ON_LEGACY
cisco123
TESTNAD1
cisco123
cisco123
cisco123
Admin
true
false
ise3-1test
86400
86400
86400
false
86400
false
ENABLE_USING_COA
註意:必須注意,只有將<enableKeyWrap>{false|true}</enableKeyWrap>設定為true時,才需要下一行。否則,可從XML模板中刪除相同內容:
1234567890123456
ASCII
12345678901234567890
您可以從模板中刪除不需要的配置,並保留您在建立NAD期間實際需要新增的資料。例如,以下是相同的模板,但僅使用TACACS配置。無論需要什麼配置,請確保模板以</ns0:networkdevice>結尾。
Schema XML File" xmlns:ns1="ers.ise.cisco.com" xmlns:ers="ers.ise.cisco.com" description="
This NAD was added via ERS API" name="
TESTNAD1">
NAD IP Address
32
Location#All Locations#
LAB
Device Type#All Device Types#
Access-Layer
Cisco
ON_LEGACY
cisco123
5.將原始的XML模板貼上到Body標題下。
6.選擇POST作為方法,貼上https://{ISE-ip}/ers/config/networkdevice,然後按一下Send。 如果所有配置都正確,您必須看到201 Created消息且結果為空。
7.通過執行NAD的GET呼叫或檢查ISE NAD清單來確認建立NAD。
使用JSON建立NAD
使用JSON建立具有RADIUS TACACS、SNMP和TrustSec設定的TESTNAD2。
1.在SDK上的Create下方,是執行呼叫所需的標頭和模板,以及預期的響應。
2.移至Headers頁籤,並為API呼叫配置所需的標頭,如SDK中所示。標頭配置必須如下所示:
3.移至正文題頭,然後選擇原始。這允許您貼上建立NAD所需的JSON模板。
4. JSON模板必須如下所示(根據需要更改值):
{ "NetworkDevice": { "name": "TESTNAD2", "description": "This NAD was added via ERS API", "authenticationSettings": { "radiusSharedSecret": "cisco123", "enableKeyWrap": true, "dtlsRequired": true, "keyEncryptionKey": "1234567890123456", "messageAuthenticatorCodeKey": "12345678901234567890", "keyInputFormat": "ASCII" }, "snmpsettings": { "version": "ONE", "roCommunity": "aaa", "pollingInterval": 3600, "linkTrapQuery": true, "macTrapQuery": true, "originatingPolicyServicesNode": "Auto" }, "trustsecsettings": { "deviceAuthenticationSettings": { "sgaDeviceId": "TESTNAD2", "sgaDevicePassword": "cisco123" }, "sgaNotificationAndUpdates": { "downlaodEnvironmentDataEveryXSeconds": 86400, "downlaodPeerAuthorizationPolicyEveryXSeconds": 86400, "reAuthenticationEveryXSeconds": 86400, "downloadSGACLListsEveryXSeconds": 86400, "otherSGADevicesToTrustThisDevice": false, "sendConfigurationToDevice": false, "sendConfigurationToDeviceUsing": "ENABLE_USING_COA", "coaSourceHost": "ise3-1test" }, "deviceConfigurationDeployment": { "includeWhenDeployingSGTUpdates": true, "enableModePassword": "cisco123", "execModePassword": "cisco123", "execModeUsername": "Admin" }, "pushIdSupport": "false" }, "tacacsSettings": { "sharedSecret": "cisco123", "connectModeOptions": "ON_LEGACY" }, "profileName": "Cisco", "coaPort": 1700, "dtlsDnsName": "Domain", "NetworkDeviceIPList": [ { "ipaddress": "NAD IP Adress", "mask": 32 } ], "NetworkDeviceGroupList": [ "Location#All Locations", "Device Type#All Device Types" ] } }
註意:必須注意的是,僅當將enableKeyWrap":{false|true}設定為true時,才需要下行。否則,可從JSON模板中刪除相同內容:
"keyEncryptionKey": "1234567890123456", "messageAuthenticatorCodeKey": "12345678901234567890", "keyInputFormat": "ASCII"
您還可以從模板中刪除不需要的配置,並保留您在建立NAD期間實際需要新增的資料。
5.將raw的JSON模板貼上到Body標題下。
6.選擇POST作為方法,貼上https://{ISE-ip}/ers/config/networkdevice,然後按一下Send。 如果所有內容都配置正確,您必須看到201 Created消息,且結果為空。
7.通過執行GET呼叫或檢查ISE需求清單來確認是否建立了NAD。
驗證
如果您能夠訪問API服務GUI頁面,例如https://{iseip}:{port}/api/swagger-ui/index.html或https://{iseip}:9060/ers/sdk,則表示API服務正在按預期工作。
疑難排解
- 所有REST操作都經過稽核,並且日誌會記錄到系統日誌中。
- 要排除與Open API相關的問題,請在Debug Log Configuration視窗中將apiservice元件的Log Level設定為DEBUG。
- 要排除與ERS API相關的問題,請在Debug Log Configuration視窗中將ers元件的Log Level設定為DEBUG。要檢視此視窗,請導航至Cisco ISE GUI,點選選單圖示並選擇操作>故障排除>調試嚮導>調試日誌配置。
- 您可以從Download Logs(下載日誌)視窗下載日誌。要檢視此視窗,請導航至Cisco ISE GUI,按一下Menu圖示並選擇Operations > Troubleshoot > Download Logs。
- 您可以選擇通過按一下頁籤下的Download按鈕,從「Support Bundle」頁籤下載支援捆綁包,或者通過按一下api-service調試日誌的Log File值,從Debug Logs頁籤下載api-service調試日誌。