Trong bài lab này sẽ thực hiện việc kết nối tới Cisco APIC-EM thông qua REST API bằng công cụ Postman. Mục tiêu là xác thực với hệ thống để lấy Authentication Token (Ticket), sau đó sử dụng Ticket này để gọi API và lấy danh sách các thiết bị đang được APIC-EM quản lý.
Đây là một trong những bài lab nền tảng của DevNet giúp làm quen với quy trình làm việc phổ biến của REST API:
Authentication → Nhận Token → Gọi API → Xử lý dữ liệu trả về Mô hình sử dụng
Sau khi mở Postman, mình tạo một Workspace riêng để quản lý các API của APIC-EM.
Tiếp theo tạo một Collection mới với tên:
APIC_EM
Việc sử dụng Collection giúp quản lý các request dễ dàng hơn khi số lượng API ngày càng nhiều trong các bài lab DevNet sau này. Bước 2: Lấy Ticket xác thực từ APIC-EM
Tạo một Request mới với phương thức:
POST
URL sử dụng:
http://<IP_APIC_EM>/api/v1/ticket
Trong tab Headers, thêm:
Key : Content-Type
Value : application/json
Trong tab Body, chọn:
raw -> JSON
Sau đó nhập thông tin đăng nhập:
{
"username": "admin",
"password": "Cisco123!"
}
Nhấn Send để gửi request.
Nếu mọi thứ chính xác, APIC-EM sẽ trả về:
{
"response": {
"serviceTicket": "ST-xxxxxxxxxxxxxxxx"
}
}
Giá trị serviceTicket chính là Token dùng để xác thực các API tiếp theo. Kinh nghiệm thực tế
Trong quá trình làm lab mình từng gặp lỗi SSL khiến Postman không gửi được request. Nếu gặp tình huống này có thể vào:
File -> Settings -> General
và tắt:
SSL certificate verification
Sau đó gửi lại request sẽ hoạt động bình thường. Bước 3: Lấy danh sách thiết bị từ APIC-EM
Sau khi đã có Ticket, tạo thêm một request mới với tên:
Get_list_device
Đổi phương thức sang:
GET
URL:
http://<IP_APIC_EM>/api/v1/network-device
Trong phần Headers, thêm:
Key : X-Auth-Token
Value : Giá trị serviceTicket vừa lấy
Ví dụ:
X-Auth-Token: ST-1099-xxxxxxxxxxxxxxxx
Nhấn Send.
Nếu Ticket còn hiệu lực, APIC-EM sẽ trả về danh sách toàn bộ thiết bị đang được quản lý bao gồm:
Đây là một bài lab cơ bản nhưng cực kỳ quan trọng vì gần như mọi nền tảng quản trị mạng hiện đại như Cisco DNA Center, Meraki Dashboard hay Cisco SD-WAN vManage đều sử dụng cơ chế xác thực và gọi API tương tự.
Đây là một trong những bài lab nền tảng của DevNet giúp làm quen với quy trình làm việc phổ biến của REST API:
Authentication → Nhận Token → Gọi API → Xử lý dữ liệu trả về Mô hình sử dụng
- Cisco APIC-EM Server
- Máy tính cài Postman
- Kết nối mạng giữa Postman và APIC-EM
Sau khi mở Postman, mình tạo một Workspace riêng để quản lý các API của APIC-EM.
Tiếp theo tạo một Collection mới với tên:
APIC_EM
Việc sử dụng Collection giúp quản lý các request dễ dàng hơn khi số lượng API ngày càng nhiều trong các bài lab DevNet sau này. Bước 2: Lấy Ticket xác thực từ APIC-EM
Tạo một Request mới với phương thức:
POST
URL sử dụng:
http://<IP_APIC_EM>/api/v1/ticket
Trong tab Headers, thêm:
Key : Content-Type
Value : application/json
Trong tab Body, chọn:
raw -> JSON
Sau đó nhập thông tin đăng nhập:
{
"username": "admin",
"password": "Cisco123!"
}
Nhấn Send để gửi request.
Nếu mọi thứ chính xác, APIC-EM sẽ trả về:
{
"response": {
"serviceTicket": "ST-xxxxxxxxxxxxxxxx"
}
}
Giá trị serviceTicket chính là Token dùng để xác thực các API tiếp theo. Kinh nghiệm thực tế
Trong quá trình làm lab mình từng gặp lỗi SSL khiến Postman không gửi được request. Nếu gặp tình huống này có thể vào:
File -> Settings -> General
và tắt:
SSL certificate verification
Sau đó gửi lại request sẽ hoạt động bình thường. Bước 3: Lấy danh sách thiết bị từ APIC-EM
Sau khi đã có Ticket, tạo thêm một request mới với tên:
Get_list_device
Đổi phương thức sang:
GET
URL:
http://<IP_APIC_EM>/api/v1/network-device
Trong phần Headers, thêm:
Key : X-Auth-Token
Value : Giá trị serviceTicket vừa lấy
Ví dụ:
X-Auth-Token: ST-1099-xxxxxxxxxxxxxxxx
Nhấn Send.
Nếu Ticket còn hiệu lực, APIC-EM sẽ trả về danh sách toàn bộ thiết bị đang được quản lý bao gồm:
- Hostname
- Địa chỉ IP
- Platform
- Phiên bản IOS
- Trạng thái hoạt động
- Serial Number
Đây là một bài lab cơ bản nhưng cực kỳ quan trọng vì gần như mọi nền tảng quản trị mạng hiện đại như Cisco DNA Center, Meraki Dashboard hay Cisco SD-WAN vManage đều sử dụng cơ chế xác thực và gọi API tương tự.