Trong bài viết này mình sẽ hướng dẫn cách sử dụng tính năng Device Migration API của Sophos.
Device Migration API - như cái tên của tính năng này, thì nó sẽ cho phép di chuyển hàng loạt các thiết bị từ một tenant sang tenant khác (Sophos Account Central), tính năng này áp dụng được cho cả máy tính và máy chủ chạy hệ điều hành Windows và Mac.
Lưu ý: Là trong quá trình Migrate, thì các Device phải online và được update thành công.
Bước 1: Truy cập Tenant nguồn, vào phần My Products > General Settings:
Bước 2: Chọn API Credentials Management:
Bước 3: Chọn Add Credential:
Bước 4: Cấu hình thông tin xác thực API:
Bước 5: Sau khi khởi tạo thông tin xác thực API thành công, copy và lưu lại thông tin Client ID và Client Secret:
Lưu ý: Thông tin Client Secret chỉ hiển thị 1 lần, vì vậy hãy đảm bảo đã copy đầy đủ trước khi refresh hoặc đóng trang thông tin.
Bước 6: Tiếp theo tiến hành bật tính năng Device Migration. Vào phần General Settings > General > Device Migration:
Bước 7: Tiến hành chọn Allow device migration và tùy chọn thời gian mà tính năng này được sử dụng, sau đó chọn Save để lưu cấu hình:
Bước 8: Thực hiện tương tự cho Tenant đích, lưu thông tin Cliend ID và Secret và bật tính năng Device Migration.
Để tạo xác thực cho quá trình Migrate giữa 2 Sophos Account, chúng ta cần sử dụng đến cURL hoặc Postman để thao tác API.
CURL
Bước 1: Sử dụng cURL, bật trình Command Line là dùng lệnh sau để xác thực thông tin Client ID của tài khoản Sophos Central, kiểm tra kết quả trả về là "success":
Trong đó, hãy điền thông tin <client-id> và <client-secret> đã được tạo ở bước trên của Tenant nguồn.
Copy và lưu lại thông tin Token được trả về. Lưu ý Token này chỉ hiệu quả trong 1 tiếng kể từ khi được lấy, sử dụng cùng Client-ID và Secret trong trường hợp Token đã bị hết hạn.
Bước 2: Tiếp tục sử dụng lệnh sau để tìm thông tin ID của Tenant nguồn từ Token trên:
Trong đó, điền thông tin <jwt> bằng thông tin Token được get ra từ câu lệnh trên:
Copy thông tin ID và dataRegion được xuất ra.
Bước 3: Dùng lệnh sau để xem được danh sách các Device được quản lý bởi Tenant nguồn:
Trong đó, hãy điền thông tin <jwt> bằng thông tin Token và <tenant-id> bằng thông tin id đã được export ở trên, <data-region> chính là thông tin dataRegion.
Tiến hành thực hiện tương tự cho Tenant đích để lấy được các thông tin Client ID và Client-Secret của 2 Tenant.
POSTMANT
Bước 1: Tến hành mở ứng dụng Postman, tạo 1 Workspace mới cho API Rest sau đó vào phần Variables:
Bước 2: Tiến hành tạo và nhập thông tin cho các biến ID và Secret của Tenant nguồn và đích sau đó chọn Save:
Bước 3: Tạo 1 Folder và đặt tên là Authentication cùng các Request tương ứng như sau:
Bước 4: Để xác thực thông tin API của Tenant nguồn, sử dụng Request "Source:Authentication", tiến hành chỉnh sửa các thông tin sau:
Bước 5: Chọn Save và tiến hành Send để gửi Request; kết quả "Success" thì tiến hành Copy thông tin Token được trả về ở mục access_token:
Lưu Token vào biến SourceToken.
Bước 6: Tiếp tục đến Request "Source:Who am i" để lấy thông tin ID tương ứng của Tenant nguồn, chỉnh sửa các thông tin sau:
Bước 7: Tiến hành Save và Send request, Copy và lưu thông tin ID cũng như dataRegion vào biến SourceTenantID và SourceRegion:
Bước 8: Thực hiện tương tự cho Tenant đích:
Bước 9: Lưu tất cả thông tin vào biến của Session Migration:
Bước 10: Để lấy được thông tin danh sách các Device mà Tenant nguồn đang quản lý và chọn những Device muốn Migrate sử dụng Request "Source: Get List of Endpoint" và điền các thông tin sau:
Kiểm tra và Copy các ID của các Device sẽ được Migrate.
Bước 11: Để bắt đầu quá trình Migrate, sử dụng Request "Target: Start Receiver Task" cho Tenant đích để bật phiên nhận, điền các thông tin sau:
Chọn Save và Send, có thể thấy trạng thái là "receiving", lưu thông tin ID thành biến MigrateID và lưu Token nhận được:
Bước 12: Tương tự, cần bật phiên gửi cho Tenant nguồn. sử dụng Request "Source: Start Migration Job" và điền thông tin:
Chọn Save và Send, thông tin trả về cho thấy trạng thái của Tenant nguồn là "sending":
Bước 13: Để kiểm tra trạng thái của Device trong quá trình Migrate, dùng Request "Target: Check Migration Status" và điền thông tin:
Chờ khoảng 10 -15 giây sau tiến hành Send lại để thấy thông tin thành công:
LƯU Ý: Các Token chỉ tồn tại trong 1 thời gian ngắn, vì vậy trường hợp nếu thao tác mà gặp lỗi "401: Unauthorized" thì hãy thử Send lại các Request từ đầu và chỉnh sửa các ID và Token nhận được vào biến.
Bước 14: Device sau khi đã migrate thành công sẽ được hiển thị ở Audit Log của Central hoặc Event của Device đó:
Chúc các bạn thành công :">
![1719834634988.png 1719834634988.png](https://cdn.securityzone.vn/2024/07/10834_a4a50bf4b2a2ada55d9ec0826fb8f525.png)
Device Migration API - như cái tên của tính năng này, thì nó sẽ cho phép di chuyển hàng loạt các thiết bị từ một tenant sang tenant khác (Sophos Account Central), tính năng này áp dụng được cho cả máy tính và máy chủ chạy hệ điều hành Windows và Mac.
Lưu ý: Là trong quá trình Migrate, thì các Device phải online và được update thành công.
1. Chuẩn bị
Bước 1: Truy cập Tenant nguồn, vào phần My Products > General Settings:
![1719837949344.png 1719837949344.png](https://cdn.securityzone.vn/2024/07/10835_e9e198c74c3091caf7cd5ecadd708c0c.png)
Bước 2: Chọn API Credentials Management:
![1719837984250.png 1719837984250.png](https://cdn.securityzone.vn/2024/07/10836_d26163a76073695f6aa8d3f6c1b75cd5.png)
Bước 3: Chọn Add Credential:
![1719838292791.png 1719838292791.png](https://cdn.securityzone.vn/2024/07/10838_67f6c68f1f8497dfea30c072629176a2.png)
Bước 4: Cấu hình thông tin xác thực API:
- Credential name: Đặt tên bất kì cho API
- Role: Chọn quyền cho tài khoản xác thực API, đối với tính năng Migration này cần cung cấp quyền Super Admin:
![1719838479167.png 1719838479167.png](https://cdn.securityzone.vn/2024/07/10839_18faf3ef333c53879f2e3debeb153514.png)
Bước 5: Sau khi khởi tạo thông tin xác thực API thành công, copy và lưu lại thông tin Client ID và Client Secret:
![1719838752481.png 1719838752481.png](https://cdn.securityzone.vn/2024/07/10840_0227afaf5b48402848a6dfea0192da53.png)
Lưu ý: Thông tin Client Secret chỉ hiển thị 1 lần, vì vậy hãy đảm bảo đã copy đầy đủ trước khi refresh hoặc đóng trang thông tin.
Bước 6: Tiếp theo tiến hành bật tính năng Device Migration. Vào phần General Settings > General > Device Migration:
![1719838986636.png 1719838986636.png](https://cdn.securityzone.vn/2024/07/10841_96c89ddee0ee043bf180d89b7702c8c8.png)
Bước 7: Tiến hành chọn Allow device migration và tùy chọn thời gian mà tính năng này được sử dụng, sau đó chọn Save để lưu cấu hình:
![1719839746345.png 1719839746345.png](https://cdn.securityzone.vn/2024/07/10842_bc30e2f95cf34d8a3ec63f1db94f380a.png)
Bước 8: Thực hiện tương tự cho Tenant đích, lưu thông tin Cliend ID và Secret và bật tính năng Device Migration.
2. Thiết lập xác thực
Để tạo xác thực cho quá trình Migrate giữa 2 Sophos Account, chúng ta cần sử dụng đến cURL hoặc Postman để thao tác API.
CURL
Bước 1: Sử dụng cURL, bật trình Command Line là dùng lệnh sau để xác thực thông tin Client ID của tài khoản Sophos Central, kiểm tra kết quả trả về là "success":
Code:
curl -XPOST -H "Content-Type:application/x-www-form-urlencoded" -d "grant_type=client_credentials&client_id=<client-id>&client_secret=<client-secret>&scope=token" https://id.sophos.com/api/v2/oauth2/token
![1719890293902.png 1719890293902.png](https://cdn.securityzone.vn/2024/07/10844_4481576e35908186e0e5fb8d7e1d9d0c.png)
Copy và lưu lại thông tin Token được trả về. Lưu ý Token này chỉ hiệu quả trong 1 tiếng kể từ khi được lấy, sử dụng cùng Client-ID và Secret trong trường hợp Token đã bị hết hạn.
Bước 2: Tiếp tục sử dụng lệnh sau để tìm thông tin ID của Tenant nguồn từ Token trên:
Code:
curl.exe -XGET -H "Authorization: Bearer <jwt>" https://api.central.sophos.com/whoami/v1
![1719890772471.png 1719890772471.png](https://cdn.securityzone.vn/2024/07/10846_174e82b740e923b227fa504bee8b763d.png)
Copy thông tin ID và dataRegion được xuất ra.
Bước 3: Dùng lệnh sau để xem được danh sách các Device được quản lý bởi Tenant nguồn:
Code:
curl.exe -XGET -H "Authorization: Bearer <jwt>" -H "X-Tenant-ID: <tenant-id>" <data-region>/endpoint/v1/endpoints
![1719890997125.png 1719890997125.png](https://cdn.securityzone.vn/2024/07/10847_83f7c48f9829bd4bbe23bd08b3cfa645.png)
Tiến hành thực hiện tương tự cho Tenant đích để lấy được các thông tin Client ID và Client-Secret của 2 Tenant.
POSTMANT
Bước 1: Tến hành mở ứng dụng Postman, tạo 1 Workspace mới cho API Rest sau đó vào phần Variables:
![1719891384350.png 1719891384350.png](https://cdn.securityzone.vn/2024/07/10848_748e3344ec7071781702e9a49e271c67.png)
Bước 2: Tiến hành tạo và nhập thông tin cho các biến ID và Secret của Tenant nguồn và đích sau đó chọn Save:
![1719895098402.png 1719895098402.png](https://cdn.securityzone.vn/2024/07/10855_527fd83381363594bf8758ca6cf2cde5.png)
Bước 3: Tạo 1 Folder và đặt tên là Authentication cùng các Request tương ứng như sau:
![1719894335606.png 1719894335606.png](https://cdn.securityzone.vn/2024/07/10851_3e5c0ef560b8f989e0cd0a112815ded5.png)
Bước 4: Để xác thực thông tin API của Tenant nguồn, sử dụng Request "Source:Authentication", tiến hành chỉnh sửa các thông tin sau:
- Method: chọn POST
- URL: https://id.sophos.com/api/v2/oauth2/token
- Mục Headers > Thêm Key "Content-Type" với Value là "application/x-www-form-urlencoded"
- Mục Body > Chọn x-www-form-urlencoded> Thêm các key sau:
- grant_type: client_credentials
- client_id: {{SourceClientID}}
- client_secret: {{SourceClientSecret}}
- scope: token
![1719894668764.png 1719894668764.png](https://cdn.securityzone.vn/2024/07/10852_d4575ffc1ca7b7682c4a384b85fb8cdb.png)
![1719894691212.png 1719894691212.png](https://cdn.securityzone.vn/2024/07/10853_372ec133205b829800fb2a982f298457.png)
Bước 5: Chọn Save và tiến hành Send để gửi Request; kết quả "Success" thì tiến hành Copy thông tin Token được trả về ở mục access_token:
![1719894814144.png 1719894814144.png](https://cdn.securityzone.vn/2024/07/10854_495ecdea47cc98e473fd910d2598513a.png)
Lưu Token vào biến SourceToken.
Bước 6: Tiếp tục đến Request "Source:Who am i" để lấy thông tin ID tương ứng của Tenant nguồn, chỉnh sửa các thông tin sau:
- Method: chọn GET
- URL: https://api.central.sophos.com/whoami/v1
- Mục Headers > Thêm Key "Authorization" với Value là "Bearer {{SourceToken}}"
![1719895294647.png 1719895294647.png](https://cdn.securityzone.vn/2024/07/10856_64694a2049b19da60b77bda03c6d8aa6.png)
Bước 7: Tiến hành Save và Send request, Copy và lưu thông tin ID cũng như dataRegion vào biến SourceTenantID và SourceRegion:
![1719895639675.png 1719895639675.png](https://cdn.securityzone.vn/2024/07/10857_ad0cd004142a1d3a153fb7f58dfb49d7.png)
Bước 8: Thực hiện tương tự cho Tenant đích:
![1719895862832.png 1719895862832.png](https://cdn.securityzone.vn/2024/07/10858_a9b26b77622cb1f40fb6dac927e5c755.png)
![1719895945903.png 1719895945903.png](https://cdn.securityzone.vn/2024/07/10859_f835d84ff23c3711407b4c2490de3502.png)
Bước 9: Lưu tất cả thông tin vào biến của Session Migration:
![1719896024123.png 1719896024123.png](https://cdn.securityzone.vn/2024/07/10860_456f1f3b3fb8bf361cb55d86e80af773.png)
Bước 10: Để lấy được thông tin danh sách các Device mà Tenant nguồn đang quản lý và chọn những Device muốn Migrate sử dụng Request "Source: Get List of Endpoint" và điền các thông tin sau:
- Method: chọn GET
- URL: {{SourceRegion}}/endpoint/v1/endpoints?fields=id,hostname
- Mục Headers> Thêm các Key:
- "Authorization" với Value là "Bearer {{SourceToken}}"
- "X-Tenant-ID" với Value là "{{SourceTenantID}}"
![1719896353213.png 1719896353213.png](https://cdn.securityzone.vn/2024/07/10861_709c108817d3c6f8ff462c76fd38ceff.png)
Kiểm tra và Copy các ID của các Device sẽ được Migrate.
Bước 11: Để bắt đầu quá trình Migrate, sử dụng Request "Target: Start Receiver Task" cho Tenant đích để bật phiên nhận, điền các thông tin sau:
- Method: chọn POST
- URL: {{TargetRegion}}/endpoint/v1/migrations
- Mục Headers> Thêm các Key sau:
- "Authorization" với Value là "Bearer {{TargetToken}}"
- "Content-Type" với Value là "application/json"
- "X-Tenant-ID" với Value là "{{TargetTenantID}}"
- Mục Body > Chọn raw và điền thông tin sau:
Code:
{
"fromTenant":"<source-tenant-id>",
"endpoints":
[
"<id-device-01>",
"<id-device-02>",
"<id-device-03>"
]
}
![1719903780309.png 1719903780309.png](https://cdn.securityzone.vn/2024/07/10870_a8e9c2555a6ba79fe7c0d86d7544ff4b.png)
![1719903822951.png 1719903822951.png](https://cdn.securityzone.vn/2024/07/10871_b90167cfcef60c9100f459e9b4afcd58.png)
Chọn Save và Send, có thể thấy trạng thái là "receiving", lưu thông tin ID thành biến MigrateID và lưu Token nhận được:
![1719903854898.png 1719903854898.png](https://cdn.securityzone.vn/2024/07/10872_74cb662c6d395c16ff1df3f20b380092.png)
Bước 12: Tương tự, cần bật phiên gửi cho Tenant nguồn. sử dụng Request "Source: Start Migration Job" và điền thông tin:
- Method: chọn PUT
- URL: {{SourceRegion}}/endpoint/v1/migrations/{{MigrationID}}
- Mục Headers> Thêm các Key sau:
- "Authorization" với Value là "Bearer {{SourceToken}}"
- "Content-Type" với Value là "application/json"
- "X-Tenant-ID" với Value là "{{SourceTenantID}}"
- Mục Body > Chọn raw và điền thông tin sau:
Code:
{
"token":"<migrate-token>",
"endpoints":
[
"<id-device-01>",
"<id-device-02>",
"<id-device-03>"
]
}
![1719904279705.png 1719904279705.png](https://cdn.securityzone.vn/2024/07/10873_7b064482bae7ddec67828e1c06e4d8dd.png)
![1719904376946.png 1719904376946.png](https://cdn.securityzone.vn/2024/07/10874_0abc144c64b5eb1b36abac345d9fb268.png)
Chọn Save và Send, thông tin trả về cho thấy trạng thái của Tenant nguồn là "sending":
![1719904536917.png 1719904536917.png](https://cdn.securityzone.vn/2024/07/10876_26f3c0e85b14ccee4696bbc730f8bac1.png)
Bước 13: Để kiểm tra trạng thái của Device trong quá trình Migrate, dùng Request "Target: Check Migration Status" và điền thông tin:
- Method: chọn GET
- URL: {{SourceRegion}}/endpoint/v1/migrations/{{MigrationID}}/endpoints
- Mục Headers> Thêm các Key sau:
- "Authorization" với Value là "Bearer {{SourceToken}}"
- "X-Tenant-ID" với Value là "{{SourceTenantID}}"
![1719905357999.png 1719905357999.png](https://cdn.securityzone.vn/2024/07/10877_0afc88154cfcdb3440504ab646f484fa.png)
Chờ khoảng 10 -15 giây sau tiến hành Send lại để thấy thông tin thành công:
![1720152484725.png 1720152484725.png](https://cdn.securityzone.vn/2024/07/10879_5d67dc66e939cee74a9c8f309ae58e7f.png)
LƯU Ý: Các Token chỉ tồn tại trong 1 thời gian ngắn, vì vậy trường hợp nếu thao tác mà gặp lỗi "401: Unauthorized" thì hãy thử Send lại các Request từ đầu và chỉnh sửa các ID và Token nhận được vào biến.
Bước 14: Device sau khi đã migrate thành công sẽ được hiển thị ở Audit Log của Central hoặc Event của Device đó:
![1720152393561.png 1720152393561.png](https://cdn.securityzone.vn/2024/07/10878_e7e7fd48de8fa24023a47c9a725303e1.png)
Chúc các bạn thành công :">
Attachments
-
1719838023031.png59.5 KB · Views: 0
-
1719842224474.png64.8 KB · Views: 0
-
1719890489439.png78.8 KB · Views: 0
-
1719892152588.png119.7 KB · Views: 0
-
1719901657876.png200.2 KB · Views: 0
-
1719902114956.png197.7 KB · Views: 0
-
1719902475521.png191 KB · Views: 0
-
1719903171723.png158.1 KB · Views: 0
-
1719903213051.png142.9 KB · Views: 0
-
1719903388731.png199 KB · Views: 0
-
1719903585263.png520.9 KB · Views: 0
Last edited: