簡介
本文檔介紹如何使用Open API配置Cisco身份服務引擎3.3 pxGrid Context-in。
必要條件
需求
思科建議您瞭解以下主題:
- 思科身分識別服務引擎(ISE)3.3
- 高級REST API
採用元件
本文中的資訊係根據以下軟體和硬體版本:
- Cisco ISE 3.3
- 失眠REST API客戶端
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
背景資訊
pxGrid Context-In解決方案(通過REST API)。這是因為Context-In pubsub模型在分析和授權策略中使用自定義屬性方面有一些限制。
自定義屬性是使用者定義的屬性,不通過常規網路探測作為終端資料輸入。在ISE 3.3之前,有兩種方法輸入自定義屬性值作為終端資料。
- pxGrid Context-In資產主題,其中ISE充當消費者,使用由外部第三方產品發佈的終端資料。
- 終端可擴展RESTful服務(ERS)建立/更新API。
這兩個通道都限制在分析和授權策略中使用自定義屬性。
初始步驟
在ISE上啟用開放式API
Open API在ISE上預設禁用。若要啟用它,請導航至 Administration > System > API Settings > API Service Settings
.切換Open API選項並按一下Save。
啟用開放式API
在ISE上啟用分析強制的自定義屬性
預設情況下在ISE上禁用分析強制的自定義屬性。若要啟用它,請導航至 Work Centers > Profiler > Settings > Profiler Settings
.啟用分析強制的自定義屬性。按一下「Save」。
啟用分析強制的自定義屬性
注意:「效能分析實施的自定義屬性」標誌表示如果修改了任何自定義屬性,則會執行自動重新分析操作。
Swagger UI
要訪問ISE上的所有開放式API定義,請導航至 Administration > System > Settings > API Settings
然後按一下「有關ISE開放式API的詳細資訊,請訪問:」。
本文檔中使用的定義的URL為:
- 自定義屬性:https://<ISE-PAN-IP>/api/swagger-ui/index.html?urls.primaryName=CustomAttributes
- 終端:https://<ISE-PAN-IP>/api/swagger-ui/index.html?urls.primaryName=終端
Swagger UI
使用Open API配置終端自定義屬性
建立端點自定義屬性
要建立端點自定義屬性,必須為其指定名稱和型別。
可以使用的型別包括:
方法 |
POST |
URL |
https://<ISE-PAN-IP>:443/api/v1/endpoint-custom-attribute |
驗證型別 |
基本 |
憑證 |
使用Open API帳戶憑據 |
標頭 |
Accept:application/json Content-Type:application/json |
本文 |
{ "attributeName": "DeviceType", "attributeType": "String" } |
本文:
正文終結點自定義屬性
驗證:
身份驗證端點自定義屬性
標頭:
標頭端點自定義屬性
預期輸出:
預期輸出終結點自定義屬性
驗證自定義屬性建立
從ISE,導航到 Administration > Identity Management > Settings > Endpoint Custom Attributes
.驗證屬性是否已建立。
終端自定義屬性GUI
注意:可以手動新增終端自定義屬性。從ISE,導航到 Administration > Identity Management > Settings > Endpoint Custom Attributes
.按一下+,然後輸入Attribute Name,然後選擇Type。
適用於單一端點的內容輸入API
分析自定義屬性的策略
從ISE,導航到 Work Centers > Profiler > Profiling Policies
. 按一下 Add
.
輸入 Name
分析策略的。
在 Rules
,導航至 Attributes > Create New Condition > CUSTOMATTRIBUTE
.選擇建立的自定義屬性,選擇運算子,然後輸入要匹配的值。按一下Submit(提交)。
在本示例中,使用CUSTOMATTRIBUTE_DeviceType定義DeviceTypeA分析策略。
探查器策略
建立終結點
在本示例中,終端具有mac地址 94:DA:5F:96:74:63
並建立設定為A的DeviceType。
方法 |
POST |
URL |
https://<ISE-PAN-IP>:443/api/v1/endpoint |
驗證型別 |
基本 |
憑證 |
使用Open API帳戶憑據 |
標頭 |
Accept:application/json Content-Type:application/json |
本文 |
{ "name": "94:DA:5F:96:74:63", "customAttributes": {"DeviceType":"A"}, "description": null, "connectedLinks": null, "mdmAttributes": null, "groupId": "aa0e8b20-8bff-11e6-996c-525400b48521", "identityStore": "", "identityStoreId": "", "mac": "94:DA:5F:96:74:63", "portalUser": "", "profileId": "", "ipAddress": null, "vendor": null, "productId": null, "serialNumber": null, "deviceType": null, "softwareRevision": null, "hardwareRevision": null, "protocol": null, "staticGroupAssignment": false, "staticProfileAssignment": false } |
本文:
正文終結點
驗證:
身份驗證終結點
標頭:
標頭終結點
預期輸出:
預期輸出終結點
驗證終端建立
從ISE,導航到 Context Visibility > Endpoints
.使用在「端點配置檔案」(Endpoint Profile)列下建立的分析策略的名稱進行過濾。
情景可視性DeviceTypeA
更新終結點
為了通過Open API更新端點,URL路徑需要參數值。 此引數可以是終端的ID或MAC地址。
在此示例中,新的分析策略 DeviceTypeB
定義該屬性是為了將自定義屬性DeviceType更新為B,並將值設定為MAC地址。
方法 |
PUT |
URL |
https://<ISE-PAN-IP>:443/api/v1/endpoint/{value} |
驗證型別 |
基本 |
憑證 |
使用Open API帳戶憑據 |
標頭 |
Accept:application/json Content-Type:application/json |
本文 |
{ "name": "94:DA:5F:96:74:63", "customAttributes": {"DeviceType":"B"}, "description": null, "connectedLinks": null, "mdmAttributes": null, "groupId": "aa0e8b20-8bff-11e6-996c-525400b48521", "identityStore": "", "identityStoreId": "", "mac": "94:DA:5F:96:74:63", "portalUser": "", "profileId": "", "ipAddress": null, "vendor": null, "productId": null, "serialNumber": null, "deviceType": null, "softwareRevision": null, "hardwareRevision": null, "protocol": null, "staticGroupAssignment": false, "staticProfileAssignment": false } |
本文:
正文更新終結點
驗證:
身份驗證更新終結點
標頭:
標頭更新終結點
預期輸出:
預期輸出更新終結點
驗證終端更新
從ISE,導航到 Context Visibility > Endpoints
.使用根據建立的分析策略的名稱進行篩選 Endpoint Profile
列。
情景可視性DeviceTypeB
內容內API批次
使用終端身份組的授權策略配置
從ISE,導航到 Policy > Policy Sets > Select a Policy Set > Authorization Policy
. 按一下任何授權策略中的齒輪圖示,然後選擇插入。
為規則指定一個名稱,然後新增一個新條件以開啟Condition Studio。
新增新屬性並導航到 Identity Group > Name > CONTAINS > Select the Endpoint Profile > USE
.
選擇作為條件結果的配置檔案。按一下 儲存.
在本示例中,DeviceTypeA是規則的名稱。
策略集
批次更新終結點
要更改不同端點的屬性,需要批次呼叫API。
在本示例中,來自不同終結點的Radius請求沒有任何自定義屬性,並且終結點配置檔案設定為Unknown。
內容可見性未知設定檔
方法 |
PUT |
URL |
https://<ISE-PAN-IP>:443/api/v1/endpoint/bulk |
驗證型別 |
基本 |
憑證 |
使用Open API帳戶憑據 |
標頭 |
Accept:application/json Content-Type:application/json |
本文 |
[ { "name": "94:DA:5F:96:74:61", "customAttributes": {"DeviceType":"A"}, "description": null, "connectedLinks": null, "mdmAttributes": null, "groupId": "aa0e8b20-8bff-11e6-996c-525400b48521", "identityStore": "", "identityStoreId": "", "mac": "94:DA:5F:96:74:61", "portalUser": "", "profileId": "", "ipAddress": "94:DA:5F:96:74:61", "vendor": null, "productId": null, "serialNumber": null, "deviceType": null, "softwareRevision": null, "hardwareRevision": null, "protocol": null, "staticGroupAssignment": false, "staticProfileAssignment": false }, { "name": "94:DA:5F:96:74:62", "customAttributes": {"DeviceType":"A"}, "description": null, "connectedLinks": null, "mdmAttributes": null, "groupId": "aa0e8b20-8bff-11e6-996c-525400b48521", "identityStore": "", "identityStoreId": "", "mac": "94:DA:5F:96:74:62", "portalUser": "", "profileId": "", "ipAddress": "10.218.185.96", "vendor": null, "productId": null, "serialNumber": null, "deviceType": null, "softwareRevision": null, "hardwareRevision": null, "protocol": null, "staticGroupAssignment": false, "staticProfileAssignment": false },....... ] |
本文:
正文終結點批次
驗證:
身份驗證端點批次
標頭:
標頭端點批次
預期輸出:
預期輸出終結點批次
驗證終端批次更新
從ISE,導航到 Context Visibility > Endpoints
.使用在「端點配置檔案」(Endpoint Profile)列下建立的分析策略的名稱進行過濾。
情景可視性裝置型別A終端配置檔案
對於端點,要使用正確的授權策略DeviceTypeA,端點必須重新進行身份驗證。
情景可視性裝置A型別授權策略
疑難排解
本節提供的資訊可用於對組態進行疑難排解。
從ISE,導航到 Operation > Troubleshoot > Debug Wizard > Debug Log Configuration
. 選擇您的主管理節點(PAN),然後單擊Edit(編輯)。
篩選Component Nameby API服務並選擇所需的日誌級別。按一下「儲存」。
調試級別配置開放式API
- 在ISE PAN CLI上,可在以下位置找到日誌:
admin#show logging application api-service.log
- 在ISE GUI上導航至
Operations > Troubleshoot > Download Logs > Select ISE PAN > Debug log > Debug Log Type > Application Logs
.下載的壓縮檔案 api-service.log
.
- API響應代碼及其可能的含義:
- 200(OK):表示開放式API已成功執行所需的操作。
- 201(已建立):表示已建立資源並且請求成功。
- 400(錯誤請求):伺服器無法處理該請求。識別由於請求語法格式錯誤、引數無效等引起的客戶端錯誤。閱讀消息詳細資訊(如果可用)。
- 401(未授權):這表示操作使用錯誤的憑據或無憑據執行,或者帳戶無權執行此操作。
- 403(已禁止):這表示伺服器能夠理解請求,但未獲得授權。
- 404(未找到):這表示伺服器找不到請求的資源。
- 500(內部伺服器錯誤):表示伺服器端出現問題。登入ISE有助於瞭解原因。