
ในบทความนี้จะแสดงวิธีการลบ Endpoint Session บน Cisco ISE เมื่อเราล็อคอินเข้ามาให้งานในระบบด้วยรูปแบบต่างๆ ไม่ว่าจะเป็น MAB, 802.1X หรือ Central Web Authentication ระบบจะทำการเก็บ Session ตรงนี้ค้างเอาไว้ตามเวลา Session Timeout ของระบบ หาก User ต้องการจะลบ Session ของเขาออกด้วยตัวเองจะไม่ได้สามารถทำได้ ต้องให้แอดมินผู้ดูแลระบบเข้ามาเคลียร์ค่าให้ Cisco ISE จึงมี API ที่รองรับที่อนุญาต ให้สามารถเข้ามาลบค่า Endpoint Session ออกไปได้ โดยใช้งานผ่าน Cisco ISE Gateway API
ในบทความนี้ ผมจะแสดงวิธีการลบ Endpoint Session เพื่อนำไประยุกต์ใช้กับการทำหน้าเว็บในรูปแบบต่างๆ ต่อไปนะคับ เช่น การทำ Logout Page สำหรับ User
Component ต่างๆ ที่ใช้
- Cisco Identity Services Engine API Reference : https://developer.cisco.com/docs/identity-services-engine/latest/#!endpoint
- Postman API Developer Tools : https://www.postman.com/
- Cisco ISE version 3.1 Patch 5
- เปิดใช้งาน API
- ไปที่เมนู Administration > System > API Setting > API Service Setting > เปิดการใช้งานดังนี้

- ตรวจสอบสถานะการทำงานของ ISE API Gateway Node

2. อ่านค่า Endpoint ID ทั้งหมดที่เข้ามาใช้งาน บน Cisco ISE
- เพื่ออ่านค่า MAC Address ของอุปกรณ์ ทั้งหมดที่เชื่อมต่อเข้ามา และหา Endpoint ID ของที่ต้องการ Disconnect
- โดยใช้ Method Get : /ers/config/endpoint โดยการตั้งค่า ต่างๆ มีดังนี้
- เลือก Methode = Get
- Requst URL = https://10.90.10.10/ers/config/endpoint
- Authorization = Basic Auth และใส่ User ที่มีสิทธิ์ในการอ่านค่า API ได้ (สามารถใช้ User Admin หรือไปสร้าง User ใหม่ก็ได้ โดยกำหนด Role เป็น ERS Admin)
-
- Headers เลือก Key เป็น
- Content-Type = application/json
- Accept = application/json
- Headers เลือก Key เป็น
-
- Body = None
- Pre-request script = ไม่มี
- Tests = ไม่มี
- Settings = Disable SSL certificate verification
- กด Send เพื่ออ่านค่า Endpoint ทั้งหมด จะเห็นว่าถ้าถูกต้อง Server จะ Return ค่า 200 OK กลับมา และ มีแสดงค่าข้อมูลที่อ่านได้ที่เมนู Body > Pretty
3. หาค่า Endpoint ID ของ MAC Address ของอุปกรณ์ที่ต้องการ Discconect
- สามารถตรวจสอบ อุปกรณ์บน Cisco ISE ได้ที่เมนู Context Visibility > Endpoints
- ในตัวอย่างนี้จะทำการ Disconnect อุปกรณ์ MAC = 78:AF:08:29:95:F5
- นำค่า MAC Address ไปค้นหาจากค่า Get Endpoint ที่อ่านได้จาก API โดยค่าที่อ่านได้จะมีหลายหน้า สามารถเปลี่ยนไปเรื่อยๆ จนกว่าจะหาเจอ (จากตัวอย่างจะเห็นว่า MAC ของอุปกรณ์ที่ต้องการหาอยู่ในหน้าที่ 5)
- Page = หมายเลขหน้า
- Size = จำนวน Endpoint ID ที่แสดงในหน้านั้นๆ (สูงสุด 100)
4. Delete Endpoint โดยใช้ Method DELETE
- เลือก Method = DELETE
- Request URL = https://10.90.10.10/ers/config/endpoint/<Endpoint ID>
- Authorization = Basic Auth และใส่ User ที่มีสิทธิ์ในการอ่านค่า API ได้ (สามารถใช้ User Admin หรือไปสร้าง User ใหม่ก็ได้ โดยกำหนด Role เป็น ERS Admin)
- กด Send
- Server จะ Return ค่า Status : 204 No Content กลับมา นั่นคือ ระบบได้ลบ Endpoint ที่เราต้องการออกไปแล้ว
5. ตรวจสอบ อุปกรณ์ที่ลบบน Cisco ISE
- สามารถตรวจสอบ อุปกรณ์บน Cisco ISE ได้ที่เมนู Context Visibility > Endpoints
- จะเห็นว่า MAC Address 78:AF:08:29:95:F5 ได้ถูกลบออกไปจากระบบเรียบร้อยแล้ว
เมื่อรู้วิธีการลบ Delete Endpoint Session ออกจาก Cisco ISE ได้แล้ว เราสามารถนำไปประยุกต์ในการพัฒนาโปรแกรมต่อได้นะครับ เช่นการทำหน้า Logout page เพื่อให้ User เข้ามาเพื่อ Logout User ของตัวเองออกไปได้ โดยใช้คุยกันผ่าน API ข้างต้นที่ได้แนะนำไปในบทความนี้ครับ