Quản lý Sophos Endpoint Group với API

1 Tổng quan

Bài viết này hướng dẫn các bạn sử dụng Sophos API để quản lý các endpoint group trong Sophos central của mình.

1.1 Yêu cầu

Để có thể thực hiện một API call, bạn cần có bộ API Credential. Hướng dẫn lấy API Credential ở bài viết này LINK

Bài viết này sử dụng chương trình CMD trên windows để thực hiện các lệnh Curl, và sử dụng trình soạn thảo văn bản Visual Studio Code để xem các API call output dưới định dạng JSON.

Bài viết này mình sử dụng Prettier và Prettify JSON Extension cho Visual Studio Code

1.2 Cú pháp chung để tạo API request

Khi thực hiện 1 API call thông qua Curl ta thực hiện câu lệnh với cú pháp như sau:

Curl -X<method> -H “Content-type:application/json” -H “Authorization: Bearer <jwt>” -H “X-Tenant-ID: <tenant-id>” -d <Request Body> <data-region>/<path>

Với các thành phần như sau:

Curl: Với máy windows thì ta thay thành curl.exe

<method>:  Phương thức request ( GET, POST…. )

<tenant-id>: Tenant ID của bạn (lấy từ bộ API Credential).

<jwt>: Access token (lấy từ bộ API Credential).

<data-region>: Địa chỉ máy chủ central của bạn (lấy từ bộ API Credential).

<path>: Đường dẫn của request. (VD: /endpoint/v1/endpoint-groups )

<Request body>: Hiển thị trong bài viết dưới dạng json và cần phải convert sang dạng string để có thể đưa vào câu lệnh curl. (Bạn có thể sử dụng trang web chuyển đổi định dạng json to string sau https://jsontostring.com/)

2 Hướng dẫn thực hiện Call API quản lý Endpoint Group

2.1 Lấy danh sách các Endpoint Group

API: GET /endpoint/v1/endpoint-groups

Câu lệnh thực hiện như sau trên CMD:

curl.exe -XGET -H “Authorization: Bearer <jwt>” -H “X-Tenant-ID: <tenant-id>” <data-region>/endpoint/v1/endpoint-groups

Mở CMD và copy câu lệnh trên

Kết quả trả về như sau, ta copy đoạn text này sang trình soạn thảo Visual Studio Code. Tiến hành convert sang định dạng JSON cho dễ xem.

Tại Visual Studio Code ta tạo 1 file mới có định dạng là json. File >> New File >> Select a Language

Copy đoạn output vừa nhận được ở trên. Nhấn tổ hợp phím Ctrl + Shift + P để conver. Chọn Format Document (Force)

Sau khi conver sang định dạng JSON ta có thể xem được list các group với các thông tin về name, id, endpoint… hiện ra như ở dưới

Áp dụng tương tự với các API call khác.

Kiểm tra lại Group trên Sophos Central. Truy cập vào mục Endpoint Protection >> Computer >> Computer Group.

2.2 Tạo mới 1 Endpoint Group

API: GET /endpoint/v1/endpoint-groups

Request body: Là các thông tin về Group mà chúng ta muốn tạo. Ví dụ như sau:

{

  “name”: ” Seattle computers”,                                    //Tên group

  “description”: ” User devices in the Seattle office”,//Mêu tả

  “type”: “computer”,

  “endpointIds”: [

    “abc03d34-a943-45b7-8de3-deaf38864abc”,

    “abc5f3aa-a7c6-43c6-a65e-3cd520084abc”,

    “abc16f62-6ce7-4008-99c5-6a1c209aabbc”            //ID của computer muốn thêm vào group

  ]

}

Câu lệnh thực hiện như sau:

curl.exe -XPOST -H “Content-type:application/json” -H “Authorization: Bearer <jwt>” -H “X-Tenant-ID: <tenant-id>” -d “{\”name\”: \”HCM computers\”,\”description\”: \”HCM office\”,\”type\”: \”computer\”,\”endpointIds\”: [\”abcaa834-88bf-48ba-bcea-2864c3494abc\”,\”abc16ce3-041f-4419-931d-2452a4c38abc\”]}” https://api-us03.central.sophos.com/endpoint/v1/endpoint-groups

Kết quả trả về:

Kiểm tra lại Group trên Sophos Central. Truy cập vào mục Endpoint Protection >> Computer >> Computer Group.

2.3 Get Endpoint Group bằng ID

API: GET /endpoint/v1/endpoint-groups/{groupId}

{Group ID}: ở đây là ID group mà bạn muốn get. Group ID có thể được lấy ở mục 2.1

Câu lệnh thực hiện như sau:

curl.exe -XGET -H “Content-type:application/json” -H “Authorization: Bearer <jwt>” -H “X-Tenant-ID: <tenant-id>” https://api-us03.central.sophos.com/endpoint/v1/endpoint-groups/abc7ed8d-5762-4880-81c6-313e8c216abc

Kết quả trả về:

2.4 Cập nhật 1 Endpoint Group

API: PATCH /endpoint/v1/endpoint-groups/{groupId}

{Group ID}: ở đây là ID group mà bạn muốn get. Group ID có thể được lấy ở mục 2.1

Request body: Là các thông số của Endpoint Group muốn cập nhật.

{

  “name”: “HCM computer updated”,

  “description”: “HCM office”    //Thay đổi trường nào thì add thêm vào

}

Câu lệnh thực hiện như sau:

curl.exe -XPATCH -H “Content-type:application/json” -H “Authorization: Bearer <jwt>” -H “X-Tenant-ID: <tenant-id>” -d “{\”name\”: \”HCM computers updated\”}” https://api-us03.central.sophos.com/endpoint/v1/endpoint-groups/abc7ed8d-5762-4880-81c6-313e8c216abc

Kết quả trả về: Tên group đã được thay đổi thành HCM computer updated

Kiểm tra lại Group trên Sophos Central. Truy cập vào mục Endpoint Protection >> Computer >> Computer Group.

2.5 Thêm Endpoint vào Group

API: POST /endpoint/v1/endpoint-groups/{groupId}/endpoints

{Group ID}: ở đây là ID group mà bạn muốn get. Group ID có thể được lấy ở mục 2.1

Request body: Danh sách những endpoint muốn thêm vào

{

  “ids”: [

    “8a4597a4-e5dd-4e0b-af6e-f627a4f1f699”,  //Will be added

    “bf9907b2-df81-4531-9981-8c47cd24d5cc”  // Will be added

  ]

}

Câu lệnh thực hiện như sau:

curl.exe -XPOST -H “Content-type:application/json” -H “Authorization: Bearer <jwt>” -H “X-Tenant-ID: <tenant-id>” -d “{\”ids\”: [\”abcc34f4-460a-45f6-9e1a-e6e9935f3abc\”,\”abc23e73-97f7-4193-8e03-0e48d6cbfabc\”]}” https://api-us03.central.sophos.com/endpoint/v1/endpoint-groups/abc7ed8d-5762-4880-81c6-313e8c216abc/endpoints

Kết quả trả về: Group đã add thêm 2 PC

Kiểm tra lại Group trên Sophos Central. Truy cập vào mục Endpoint Protection >> Computer >> Computer Group >> Group được add.

2.6 Xóa Endpoint khỏi Group

API: DELETE /endpoint/v1/endpoint-groups/{groupId}/endpoints/{endpointId}

{Group ID}: ở đây là ID group mà bạn muốn get. Group ID có thể được lấy ở mục 2.1

{EndpintID}: ở đây là ID Endpoint mà bạn muốn xóa. Endpoint ID có thể được lấy ở mục 2.1

Câu lệnh thực hiện như sau:

curl.exe -XDELETE -H “Authorization: Bearer <jwt>” -H “X-Tenant-ID: <tenant-id>” -d “{\”ids\”: [\”abcc34f4-460a-45f6-9e1a-e6e9935f3abc\”,\”abc23e73-97f7-4193-8e03-0e48d6cbfabc\”]}” https://api-us03.central.sophos.com/endpoint/v1/endpoint-groups/abc7ed8d-5762-4880-81c6-313e8c216abc/endpoints/abc23e73-97f7-4193-8e03-0e48d6cbfabc

Kết quả trả về: Group đã xóa PC thành công

Kiểm tra lại Group trên Sophos Central. Truy cập vào mục Endpoint Protection >> Computer >> Computer Group >> Group. Ta thấy endpoint đã được xóa khỏi group

2.7 Xóa Endpoint Group

API: DELETE /endpoint/v1/endpoint-groups/{groupId}

{Group ID}: ở đây là ID group mà bạn muốn get. Group ID có thể được lấy ở mục 2.1

Câu lệnh thực hiện như sau:

curl.exe -XDELETE -H “Authorization: Bearer <jwt>” -H “X-Tenant-ID: <tenant-id>” -d “{\”ids\”: [\”abcc34f4-460a-45f6-9e1a-e6e9935f3abc\”,\”abc23e73-97f7-4193-8e03-0e48d6cbfabc\”]}” https://api-us03.central.sophos.com/endpoint/v1/endpoint-groups/abc7ed8d-5762-4880-81c6-313e8c216abc

Kết quả trả về: Group đã xóa PC thành công

Kiểm tra lại Group trên Sophos Central. Truy cập vào mục Endpoint Protection >> Computer >> Computer Group >> Group được add.

0 0 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest
0 Góp ý
Cũ nhất
Mới nhất Được bỏ phiếu nhiều nhất
Phản hồi nội tuyến
Xem tất cả bình luận